Create a full-stack MVP for a SaaS application called 'Startup Guide'. The application should guide first-time startup founders by offering validated strategies and success metrics to avoid common pitfalls. Use Next.js App Router (app/ directory), PostgreSQL with Drizzle ORM, and Tailwind CSS for styling.
**Core Functionality:**
1. **User Authentication:** Implement secure user signup, login, and session management using NextAuth.js.
2. **Dashboard:** A personalized dashboard for logged-in users showing their progress and key metrics.
3. **Idea Validation Module:**
* **Schema:** `ideas` table (id, userId, name, description, creationDate, status [draft, validating, validated, rejected]). `validation_tasks` table (id, ideaId, taskType [survey, interview, landingPage], description, url, status [pending, completed]). `survey_responses` table (id, taskId, responseData [JSON]).
* **Features:** Allow users to create new ideas, define validation tasks (e.g., create a landing page, set up a survey), track task progress, and view aggregated survey responses.
* **API Routes:** CRUD operations for ideas and validation tasks. API endpoint to receive and store survey responses.
4. **SEO Strategy Module:**
* **Schema:** `seo_checklists` table (id, title, description). `seo_items` table (id, checklistId, name, instructions, isCompletedByDefault, type [basic, advanced]). `user_seo_progress` table (userId, itemId, isCompleted, completionDate).
* **Features:** Provide a set of basic and advanced SEO checklists. Users can mark items as completed and track their progress.
* **API Routes:** Endpoints to fetch checklists and items, and to update user progress.
5. **Feedback Collection Module:**
* **Schema:** `feedback_forms` table (id, userId, title, description). `feedback_questions` table (id, formId, questionText, questionType [text, rating, multipleChoice]). `user_feedback` table (id, formId, userId, submissionDate, answers [JSON]).
* **Features:** Allow users to create simple feedback forms, define questions, and view submitted feedback.
* **API Routes:** CRUD operations for feedback forms and questions. API endpoint to submit feedback.
6. **'Pre-Sale' Page Builder (Basic):**
* **Schema:** `presale_pages` table (id, userId, title, headline, subheadline, ctaText, signupEmailField [boolean], creationDate, slug).
* **Features:** A very simple page builder using predefined templates. Users can input basic text content and a call-to-action. Collects emails if the signup field is enabled.
* **API Routes:** CRUD operations for pre-sale pages. API endpoint to save submitted emails from the pre-sale pages.
**Technical Requirements:**
* **Framework:** Next.js App Router (`app/` directory).
* **Database:** PostgreSQL.
* **ORM:** Drizzle ORM.
* **Authentication:** NextAuth.js.
* **Styling:** Tailwind CSS.
* **Deployment:** Assume deployment on Vercel or similar.
* **Error Handling:** Implement robust error handling for API routes and client-side interactions.
* **Database Migrations:** Include Drizzle migration scripts.
**Prompt Instructions:**
* Structure the application using the `app/` directory. Create separate folders for authentication, dashboard, idea validation, SEO, feedback, and pre-sale pages.
* Implement API routes within `app/api/` for all CRUD operations.
* Define clear database schemas using Drizzle ORM and include migration files.
* Ensure all modules are interconnected where logical (e.g., ideas linked to users).
* Provide basic UI components using React and Tailwind CSS. Focus on functionality over advanced design for the MVP.
* The AI should output the complete code structure, including all necessary files and configurations.