Create a comprehensive MVP for 'Comms Compass', a SaaS platform designed to improve internal communication and AI adoption in small to medium-sized companies. The application should be built using Next.js App Router (app/ directory) for a multi-page structure. Utilize Drizzle ORM with PostgreSQL for the database. Implement robust API routes for full CRUD operations across all core features.
Core Features to Implement:
1. **Company-wide Town Halls:** Allow admins to schedule, announce, and record monthly town hall meetings. Users should be able to see upcoming meetings and access recordings.
2. **Q&A and Suggestion Forum:** Implement a system where team members can anonymously or openly post questions and suggestions. Admins should be able to moderate and respond to these posts. This should include features for upvoting/downvoting posts.
3. **AI Learning Modules:** Integrate basic AI learning resources. For MVP, this includes a curated list of AI tools with descriptions, links, and simple step-by-step guides for common workflows (e.g., 'Summarize Text', 'Draft Email'). Admins should be able to upload and manage these modules.
4. **Team Updates Feed:** A dedicated feed where different teams or departments can post regular updates about their projects and progress. Implement a tagging system for departments.
5. **Notification System:** A real-time notification system for new announcements, meeting reminders, forum activity, and urgent updates.
**Technical Stack & Requirements:**
* **Framework:** Next.js 13+ with App Router (`app/` directory).
* **Database:** PostgreSQL with Drizzle ORM for schema definition and interaction.
* **Authentication:** Implement secure user authentication (e.g., NextAuth.js with email/password and potentially Google OAuth).
* **API:** All data interactions must be handled via server-side API routes (`app/api/...` or route handlers within `app/` directory) enabling full CRUD functionality.
* **Frontend:** Modern React components with a clean and intuitive UI, using a component library like Tailwind CSS and Shadcn/ui for rapid development.
* **State Management:** Utilize server components and client components effectively, with minimal client-side state management where necessary.
* **Deployment:** The application should be structured for easy deployment to platforms like Vercel.
**Database Schema Outline (Drizzle):**
* `users`: id, name, email, password_hash, role (admin, member), created_at, updated_at
* `meetings`: id, title, description, date, recording_url, created_at, updated_at
* `posts`: id, user_id (nullable for anonymous), title, content, type (question, suggestion), status (open, answered, closed), created_at, updated_at
* `ai_modules`: id, title, description, content (markdown), created_by (user_id), created_at, updated_at
* `team_updates`: id, user_id, title, content, department, created_at, updated_at
* `notifications`: id, user_id, message, type, read, created_at
**AI Master Prompt Guidelines:**
* Generate all necessary backend code (API routes, database logic).
* Generate frontend components for each feature, ensuring full interactivity and CRUD capabilities.
* Include basic validation for forms and API inputs.
* Ensure proper error handling on both frontend and backend.
* Structure the code logically within the `app/` directory.
* Provide a basic setup for Tailwind CSS and Shadcn/ui.
* Focus on a functional MVP, not on overly complex design or advanced features beyond the core requirements.