An AI-powered learning management system with course management, analytics, community discussions, and AI-generated video lessons.
- 📚 Course Management & Purchasing
- 📊 Learning Analytics
- 💬 Community Discussions
- 🔐 User Authentication (JWT + Google OAuth)
- 🤖 AI-Generated Lesson Videos (Gemini + TTS + FFmpeg)
- Frontend: React 19 + Vite + Tailwind CSS
- Backend: Node.js + Express + Sequelize
- Database: PostgreSQL
- AI Service: Python + FastAPI + Google Gemini
- Auth: Firebase (Google OAuth) + JWT
- Node.js v18+
- PostgreSQL v14+
- Python 3.10+
- FFmpeg
- npm
git clone <repository-url>
cd AI-Mentor-Updatedcd backend
npm install
cp .env.example .env
# Fill in your database credentials and secrets in .env
npm run devSee
backend/README.mdfor full setup guide.
cd frontend
npm install
cp .env.example .env
# Fill in your Firebase credentials in .env
npm run devSee
frontend/README.mdfor full setup guide.
cd ai_service
python -m venv venv
.\venv\Scripts\activate # Windows
pip install -r backend/requirements.txt
cp backend/.env.example backend/.env
# Fill in Gemini and Cloudinary keys in .env
cd backend
uvicorn api:app --reload --port 8000See
ai_service/README.mdfor full setup guide.
At the frontendAdmin and root directory run:
npm installAt the root directory run the following command:
npm run lintThis will run ESLint on all three following services:
cd backend
npm run lint
cd frontend
npm run lint
cd frontendAdmin
npm run lintTo run ESLint on a specific file:
cd directory_name
npx eslint path/to/file.jsFor example:
cd backend
npx eslint server.jsSome extensions like ESLint and Error Lens are recommended to be installed in code editor for better visibility of errors.
Each service has its own .env file. Copy the .env.example in each folder and fill in your values.
| Service | Key variables |
|---|---|
backend/ |
DB_NAME, DB_USER, DB_PASSWORD, JWT_SECRET, AI_SERVICE_URL |
frontend/ |
VITE_API_BASE_URL, VITE_FIREBASE_* |
ai_service/backend/ |
GEMINI_API_KEY, CLOUDINARY_* |
Start all three services in separate terminals:
# Terminal 1 — Backend API
cd backend && npm run dev
# Terminal 2 — Frontend
cd frontend && npm run dev
# Terminal 3 — AI Service
cd ai_service && .\venv\Scripts\activate && cd backend && uvicorn api:app --reload --port 8000
OR
.\start_ai.bat
Then open http://localhost:5173 in your browser.
AI-Mentor-Updated/
├── backend/ # Node.js + Express REST API
├── frontend/ # React + Vite web application
└── ai_service/ # Python + FastAPI AI lesson generator
This project was developed as part of an internship. All rights reserved by the respective authors and organisation.