Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

SkillPath AI

Personalized, AI-driven learning paths — built in support of UN Sustainable Development Goal 4: Quality Education.

Access to good mentorship and a clear learning path is still a privilege, not a default. SkillPath AI addresses that gap: it generates a personalized learning roadmap based on a user's goal, current skill level, and available time, then supports them through it with an AI chat assistant for doubts, curated resources, and project recommendations matched to their progress.


Problem statement

Most self-learners face the same three obstacles:

  1. Decision fatigue — too many scattered tutorials, no clear sequence to follow.
  2. No one to ask — questions come up at odd hours with no mentor available.
  3. Theory without practice — courses teach concepts but rarely suggest what to actually build.

SkillPath AI targets each of these directly with a roadmap generator, a 24/7 AI assistant, and project recommendations calibrated to skill level.

Features

  • AI-generated learning roadmaps — personalized to goal, skill level, and weekly time commitment
  • Progress tracking dashboard — visual progress bars and step completion
  • AI chat assistant — answers learning-related questions anytime, with markdown-rendered responses
  • Project recommendations — AI-suggested projects matched to current skill level
  • Curated resource library — searchable learning resources
  • Admin panel — manage users and resources
  • Light/dark mode — full theme support across the app
  • Secure authentication — JWT stored in HttpOnly cookies, bcrypt password hashing, role-based route guards

Tech stack

Layer Technology
Frontend React 19, Vite, React Router, Axios, React Markdown
Backend Node.js, Express, MongoDB (Mongoose)
Auth JWT (HttpOnly cookies), bcrypt
AI Groq (LLM inference), with an offline fallback service
Deployment Vercel (frontend), Render (backend), MongoDB Atlas

Architecture

frontend/   React + Vite SPA — pages, protected/admin routes, theme + auth context
backend/    Express REST API
  ├── models/       Mongoose schemas (User, Profile, Roadmap, Progress, ChatHistory, SavedProject, Resource)
  ├── controllers/  Business logic per resource
  ├── routes/       Express route definitions
  ├── middleware/   JWT auth, error handling, rate limiting
  └── services/     Groq AI integration + offline fallback

Getting started

Prerequisites

  • Node.js 18+
  • A MongoDB Atlas cluster (free tier is enough)
  • A Groq API key (optional — the app falls back to offline responses without one)

Backend setup

cd backend
cp .env.example .env
# Set MONGO_URI, JWT_SECRET, CLIENT_URL=http://localhost:5173
npm install
npm run dev

Runs on http://localhost:5000 · Health check: GET /health

Optional — seed sample resources:

npm run seed:resources

Frontend setup

cd frontend
cp .env.example .env
# VITE_API_URL=http://localhost:5000
npm install
npm run dev

Runs on http://localhost:5173


Deployment

Backend → Render

  1. New Web Service, root directory backend.

  2. Build command npm install, start command npm start, health check path /health (or use the included render.yaml).

  3. Environment variables:

    Variable Notes
    NODE_ENV production
    MONGO_URI Atlas connection string
    JWT_SECRET Long random string
    GROQ_API_KEY Groq inference key
    CLIENT_URL Your deployed frontend URL
  4. In Atlas → Network Access, allow Render's egress IPs (or 0.0.0.0/0 for development).

Frontend → Vercel

  1. Import the repo, root directory frontend.
  2. Build command npm run build, output directory dist.
  3. Environment variable: VITE_API_URL → your Render backend URL.
  4. vercel.json is already configured for SPA client-side routing.

Post-deploy checklist

  • GET <backend-url>/health returns "db": "connected"
  • Register and log in from the deployed frontend (verifies CORS + cross-domain cookies)
  • Onboarding successfully generates a roadmap
  • Promote an admin: set isAdmin: true on a user document in MongoDB

Security

  • JWT stored in HttpOnly cookies (secure + SameSite=None in production)
  • Passwords hashed with bcrypt
  • helmet security headers and API rate limiting
  • Role-based route guards for admin-only endpoints
  • .env files are gitignored and must never be committed

Alignment with SDG 4

This project directly supports UN Sustainable Development Goal 4: Quality Education, aiming to make structured, personalized, and continuously available learning support accessible regardless of a learner's access to formal mentorship.

Author

Divya Tiwari — LinkedIn · GitHub

License

ISC

About

SkillPath AI is a, full-stack platform that generates personalized AI learning roadmaps, offers 24/7 AI doubt-resolution chat, and recommends hands-on projects, aligned with UN SDG 4: Quality Education. Built end-to-end (React, Node/Express, MongoDB, Groq AI, JWT auth) by one developer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages