A modern full-stack web application designed to deliver highly personalized learning experiences. This platform leverages generative AI (Google Gemini 1.5) to dynamically evaluate a learner's existing skills through diagnostic assessments, and automatically generate tailored, modular learning paths based on their performance.
- Diagnostic-First Onboarding: AI-driven assessments that dynamically evaluate user skills before course commencement.
- Personalized Learning Paths: Instead of static linear courses, the platform constructs dynamic pathways linking specific sub-modules tailored to bridge a learner's exact skill gaps.
- Modular Course Architecture: Content is broken down into granular models (Courses -> Modules -> Sub-modules) allowing highly specific content delivery.
- Progress & Performance Tracking: Deep analytics on user engagement, module completion, and learner score evolution.
- Role-Based Access Control & Multi-Tenancy: Robust authentication and organization-based scoping for different users (Learners, Instructors, Admins).
The platform follows a decoupled client-server architecture, strongly typed with TypeScript across the stack.
- Framework: Next.js 16 (App Router) & React 19
- Styling: Tailwind CSS v4
- Animation: Framer Motion for premium micro-interactions and staggered entry animations.
- Icons: Lucide React
- Structure:
/app/onboarding&/app/login: Authentication and initial diagnostic workflows./app/dashboard: Main user interface displaying the personalized learning trajectory./src/services: Decoupled API client services (Auth, Course, Learner, Assessment).
- Framework: Node.js with Express v5
- Language: TypeScript
- Database: MongoDB with Mongoose ODM
- AI Integration: Google Generative AI (
@google/generative-ai) via a dedicatedaiGeneratorutility to synthesize JSON-structured assessments and curriculum paths. - Authentication: JSON Web Tokens (JWT) & bcryptjs for secure password hashing.
- Mailing: Nodemailer for transactional email logs.
- User & Organization: Core identity and multi-tenant scoping.
- Course & Module: The hierarchical structure of the learning content.
- Assessment & LearnerScore: Diagnostic evaluations and the resulting normalized skill metrics.
- PersonalizedPath: The AI-generated mapping of
Modulesassigned to a specificUser. - Enrollment & ProgressTracking: State management for a user's journey through their assigned path.
- Node.js (v20+)
- MongoDB Instance (Local or Atlas)
- Google Gemini API Key
-
Clone the repository
-
Setup Backend:
cd backend npm installCreate a
.envfile in thebackenddirectory:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret GEMINI_API_KEY=your_gemini_api_key
Run the backend dev server:
npm run dev
-
Setup Frontend:
cd frontend npm installCreate a
.env.localfile in thefrontenddirectory:NEXT_PUBLIC_API_URL=http://localhost:5000/api
Run the frontend dev server:
npm run dev
- Trigger: Learner initiates the onboarding sequence.
- Generation: Backend
assessmentControllercalls theaiGeneratorservice. Gemini 1.5 analyzes the target course domains and returns a structured JSON payload containing diagnostic questions. - Evaluation: Learner submits answers; the system evaluates and updates the
LearnerScoredocument. - Path Synthesis: Based on the scores, the AI determines which modules can be skipped and which are mandatory, persisting this into a
PersonalizedPath.