An AI-powered personalized learning platform that creates adaptive learning roadmaps using LLMs (Gemini / Ollama) based on user goals, experience, and available time.
- π Authentication (Register / Login / Logout)
- π€ AI-generated questionnaires (Gemini API / Local Ollama)
- π Personalized weekly learning plans
- π§ Track progress (week completion)
- π€ User profile management
- π Full-stack deployment on Vercel
- βοΈ CI/CD with GitHub Actions
- π§ͺ Automated backend testing (Jest)
- πͺ Secure cookie-based auth (JWT)
- ποΈ MongoDB persistence
- π³ Docker support for local setup
- π» Local AI support with Ollama (offline mode)
- React (Vite)
- Tailwind CSS
- Axios
- React Router
- Vercel
- Node.js
- Express
- MongoDB (Mongoose)
- JWT Authentication
- Google Gemini AI (cloud)
- Ollama (local AI)
- Serverless (Vercel)
- GitHub Actions (CI/CD)
- Vercel Deployments
- MongoDB Atlas
- Docker (local development)
AI-Learning-Planner/
βββ client/
β βββ public/
β βββ src/
β β βββ api/ # Axios instance
β β βββ components/ # Reusable UI components
β β βββ pages/ # Route pages
β β β βββ auth/ # Login/Register pages
β β β .... # Other Pages
β β β ....
β β βββ store/ # Redux tool kit
β β βββ App.jsx
β β βββ main.jsx
β βββ .env.development
β βββ .env.production
β βββ vite.config.js
β
βββ server/
β βββ controllers/ # Business logic
β βββ routes/ # API routes
β βββ models/ # Mongoose models
β βββ middleware/ # Auth, error handling
β βββ config/ # CORS, env configs
β βββ db/ # MongoDB connection
β βββ tests/ # Jest tests
β βββ app.js # Express app
β βββ server.local.js # Server entry
β
βββ docker-compose.yml
βββ .github/
β βββ workflows/
β βββ ci-cd.yml
β
βββ README.md
NODE_ENV=development
PORT=5000
MONGO_URI=mongodb://localhost:27017/ai_learning_local
JWT_SECRET=dev_secret
CLIENT_URL=http://localhost:5173
GOOGLE_API_KEY=your_key
REDIS_URL=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
UPSTASH_REDIS_REST_URL=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
UPSTASH_REDIS_REST_TOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"NODE_ENV=production
MONGO_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/ai_learning
JWT_SECRET=prod_secret
CLIENT_URL=https://ailearningplan.vercel.app
GOOGLE_API_KEY=your_key
REDIS_URL=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
UPSTASH_REDIS_REST_URL=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
UPSTASH_REDIS_REST_TOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
VITE_BACKEND_URL=http://localhost:5000VITE_BACKEND_URL=https://ai-learning-planner.vercel.appgit clone https://github.com/SARVESHYOGI/AI-Learning-Planner.git
cd ai-learning-plannercd server
npm install
npm run devRuns on:
http://localhost:5000
cd client
npm install
npm run devRuns on:
http://localhost:5173
docker compose up --buildIf you want to use AI locally (offline, no cloud API, no cost), you can run the project with Ollama.
π Follow the full step-by-step guide here:
π Local AI Setup Guide
This mode is useful if:
- You want offline AI
- You donβt want to use Gemini API
- You want full local control
- You are developing without internet
You only need to switch code in generator() function.
cd server
npm testRuns automatically on push to main.
Pipeline Steps:
- Install dependencies
- Run backend tests
- Build frontend
- Deploy to Vercel
https://ailearningplan.vercel.app
https://ai-learning-planner.vercel.app
AI responses may take time (LLM generation).
Axios timeout:
timeout: 180000(3 minutes)
- JWT stored in httpOnly cookies
- Secure cookies in production
- SameSite=None for cross-domain
- Axios uses
withCredentials: true
- User selects topic
- AI generates questionnaire
- User submits answers
- AI generates learning plan
- Plan stored in MongoDB
- User tracks weekly progress
- π³ Payment integration (Stripe / Razorpay)
- π± Mobile app
- π Analytics dashboard
- π Notifications
- π§ AI model switching UI
- ποΈ Plan sharing
- π·οΈ Tags & goals
This project is licensed under the MIT License.
Sarvesh Yogi BE Computer Engineering, TSEC Full Stack Developer | AI & Backend Enthusiast
If you find this project useful, please β the repository. PRs are welcome!