StartinDE | Education Consultancy
Client: StartinDE @ STARTIN-DE.COM

Project Brief: StartinDE
Objective
This project is a modern, full-stack web application designed for an educational consultancy that specializes in helping Vietnamese students pursue their studies in Germany. The platform serves as a central hub for students, consultants, and administrators, streamlining the complex process of applying to German universities. It provides comprehensive information, facilitates communication, and manages applications, documents, and payments.
Technology Stack & Justification
The application is built on a robust and scalable technology stack, prioritizing developer experience and performance:
- FRONTEND
- Next.js (v16) with React (v19): A leading React framework for building server-rendered and statically generated web applications.
- TypeScript: For static typing, improving code quality and maintainability.
- Tailwind CSS (v4): A utility-first CSS framework for rapid UI development.
- Radix UI: For high-quality, accessible UI components.
- React Hook Form & Zod: For efficient and type-safe form management and validation.
- BACKEND
- Next.js API Routes: Serverless functions for handling API requests.
- Prisma (v6): A next-generation ORM for Node.js and TypeScript, used for database access.
- SQLite: As the database for development, with the flexibility to switch to a more robust database for production.
- NextAuth.js (v4): For secure and flexible authentication.
- Nodemailer: For sending emails (e.g., for email verification and notifications).
- DEVELOPMENT & TOOLING
- ESLint: For code linting and maintaining code quality.
- tsx: For running TypeScript scripts, such as the Prisma seed script.
- dotenv-cli: For managing environment variables.
- PROJECT STRUCTURE
- **The project follows a well-organized structure, separating concerns and promoting modularity:
- **`src/app/`: The core of the Next.js application, with routing based on the directory structure.
- **`(auth)/`: Authentication-related pages (login, register, forgot password).
- **`(dashboard)/`: Protected routes for the admin and student dashboards.
- **`api/`: API routes for server-side logic.
- **`src/components/`: Reusable React components, organized by feature (dashboard, forms, home, layout, shared, ui).
- **`src/lib/`: Utility functions and helper modules.
- **`src/prisma/`: Prisma schema definition (`schema.prisma`) and database seed script (`seed.ts`).
- **`src/data/`: Static data used throughout the application.
- **`public/`: Static assets like images and fonts.

Operations inside dedicated dashboards
Administrators orchestrate admissions, payments, and communications inside a tailored control center, while students track progress, upload documents, and receive updates in their own workspace.
- THE DASHBOARDS
- The application features two distinct dashboards, each tailored to the needs of its users:
- ADMIN DASHBOARD
- Purpose: To provide administrators with a comprehensive overview and control over the entire platform.
- Features:
- Student Management: View, edit, and manage student profiles.
- Application Management: Track and update the status of student applications.
- University & Course Management: Add, edit, and remove university and course information.
- Content Management: Manage blog posts and other website content.
- Financials: View and manage payments.
- Communication: Send messages to students and consultants.
- STUDENT DASHBOARD
- Purpose: To empower students with the tools and information they need to manage their study abroad journey.
- Features:
- Profile Management: Update personal information and academic profile.
- University & Course Search: Explore and shortlist universities and courses.
- Application Tracking: Monitor the status of their applications in real-time.
- Document Upload: Securely upload and manage required documents.
- Communication: Communicate with consultants and receive notifications.
- Task Management: Keep track of important deadlines and tasks.