Please develop a full-stack MVP application using Next.js App Router (using the app/ directory convention), Drizzle ORM for database interactions, and PostgreSQL as the database. The application, named 'EduFund Assistant', aims to help parents manage and optimize their 529 college savings plans. Key Features for the MVP: 1. User Authentication: Implement user registration, login, and session management using NextAuth.js or Clerk. Users should be able to create an account and securely log in. 2. Dashboard: A personalized dashboard for each logged-in user displaying an overview of their registered 529 plans, aggregated projected growth, and total estimated tax benefits. 3. 529 Plan Management (CRUD): Create: Users can add new 529 plans by providing the following details: planName (string, e.g., 'John's College Fund'), beneficiaryName (string), initialPrincipal (number, initial amount invested), monthlyContribution (number), annualGrowthRate (number, estimated annual return percentage, e.g., 7.0 for 7%) - Users should select from predefined options like 'Conservative' (4%), 'Moderate' (6%), 'Aggressive' (8%), stateTaxBenefitRate (number, percentage, e.g., 4.6 for 4.6% as mentioned in the problem), yearsToCollege (number, remaining years until the child starts college). Read: Display a list of all 529 plans associated with the logged-in user on a dedicated 'My Plans' page. Each plan should show its details. Update: Allow users to edit existing 529 plan details. Delete: Allow users to remove a 529 plan. 4. Financial Projections and Calculators: Future Value Projection: For each 529 plan, calculate and display the estimated future value based on initialPrincipal, monthlyContribution, annualGrowthRate, and yearsToCollege. Tax Benefit Calculation: Calculate the total estimated state tax benefit over the yearsToCollege based on initialPrincipal and stateTaxBenefitRate. Contribution Recommendation: Based on a user-defined target college cost (e.g., $100,000) and yearsToCollege, suggest the required monthly contribution. 5. Basic College Cost Estimator: A simple tool allowing users to input hypothetical college type (e.g., In-State Public, Out-of-State Public, Private) and display average estimated costs for tuition and living. This can be pre-populated with some dummy data or allow user input for custom targets. Technical Requirements: Next.js App Router: Structure the application using the app/ directory. Multi-Page Application: Implement distinct pages for Dashboard, My Plans, Add New Plan, Edit Plan, and Settings. Database Schema (Drizzle ORM): users table: id (uuid), email (string, unique), passwordHash (string), createdAt (timestamp), updatedAt (timestamp). _529_plans table: id (uuid), userId (uuid, foreign key to users.id), planName (string), beneficiaryName (string), initialPrincipal (numeric), monthlyContribution (numeric), annualGrowthRate (numeric), stateTaxBenefitRate (numeric), yearsToCollege (integer), createdAt (timestamp), updatedAt (timestamp). API Routes: Create dedicated API routes (app/api/...) for handling all CRUD operations for 529 plans and user data. UI/UX: Simple, clean interface using a modern CSS framework like Tailwind CSS or Shadcn UI. Focus on functionality over elaborate design for the MVP. Error Handling: Basic error handling for API calls and user input. Environment Variables: Use .env for sensitive information like database connection strings. Implementation Steps: 1. Set up a new Next.js project with TypeScript. 2. Configure Drizzle ORM and connect to a PostgreSQL database. 3. Define the database schemas for users and _529_plans. 4. Implement user authentication (e.g., using next-auth with a database adapter). 5. Create API routes for _529_plans CRUD operations. 6. Develop the client-side pages and components for: Registration and Login forms, Dashboard to summarize plan data, A page to list all 529 plans, A form to add a new 529 plan, A form to edit an existing 529 plan. 7. Integrate the financial calculation logic within the components or helper functions. 8. Ensure proper data validation for all inputs. The goal is a fully functional, data-driven MVP that demonstrates the core value proposition of helping parents manage and optimize their college savings through 529 plans.