You are tasked with building a full-stack web application MVP named 'Financial Journey (Finansal Yolculuk)' using Next.js 14 App Router, TypeScript, Tailwind CSS, and Drizzle ORM with PostgreSQL. The application aims to guide individuals with limited investment knowledge to manage their savings and start investing effectively.The application must include the following functionalities and structure:1. Project Setup: Initialize a Next.js 14 project with App Router. Configure TypeScript and Tailwind CSS for styling. Set up Drizzle ORM with a PostgreSQL database (provide instructions for local setup with Docker/Neon for production).2. Database Schema (Drizzle): `users` table: id (uuid), email (unique), password_hash, created_at, updated_at. `risk_profiles` table: id (uuid), user_id (FK to users), answers (jsonb for quiz answers), score (integer), created_at, updated_at. `investment_plans` table: id (uuid), user_id (FK to users), risk_profile_id (FK to risk_profiles), plan_details (jsonb for recommended assets, allocations, timeline), created_at, updated_at. `education_modules` table: id (uuid), title, content (text), category, order (integer), created_at. (Pre-populate with sample data for MVP). `financial_goals` table: id (uuid), user_id (FK to users), name, target_amount, current_amount, target_date, created_at, updated_at.3. Authentication: Implement secure user registration and login functionality. Store hashed passwords. Protect API routes and pages requiring authentication.4. Frontend Pages (app/ directory): `/` (Homepage/Dashboard): Displays a summary of the user's financial status, current investment plan highlights, and quick access to educational content. `/profile/risk-quiz`: A multi-step questionnaire to determine the user's risk tolerance. `/profile/investment-plan`: Displays the personalized investment plan based on the risk profile. Allows for minor adjustments. `/education`: A list of all available educational modules. `/education/[id]`: A dynamic page to display the content of a specific educational module. `/goals`: A page to view, add, edit, and delete financial goals. `/register` and `/login`: User authentication pages.5. API Routes (app/api/ directory): `/api/auth/register` (POST): User registration. `/api/auth/login` (POST): User login. `/api/risk-profile` (GET, POST): Retrieve or submit user's risk profile. Implement CRUD operations where applicable (e.g., update quiz answers). `/api/investment-plan` (GET, POST, PUT): Retrieve, create, or update the user's investment plan. `/api/education-modules` (GET): Retrieve a list of all education modules. `/api/education-modules/[id]` (GET): Retrieve a specific education module by ID. `/api/goals` (GET, POST): Retrieve all user goals and create a new goal. `/api/goals/[id]` (GET, PUT, DELETE): Retrieve, update, or delete a specific financial goal.6. Full CRUD Operations: Ensure that all relevant API routes implement full Create, Read, Update, and Delete operations for their respective resources (e.g., `risk_profiles`, `investment_plans`, `financial_goals`).7. User Experience: Use Tailwind CSS for a clean, modern, and responsive UI. Provide clear navigation between pages. Include input validation and error handling for forms.The final output should be a complete, functional MVP demonstrating all specified features, a database schema, and API integrations. Provide clear instructions on how to set up and run the application locally.