Production-grade Learning Management System with sequential video unlocking.
- Next.js 14 (App Router)
- Tailwind CSS
- Zustand
- Axios
- Node.js + Express
- MySQL (Aiven)
- JWT Authentication
- bcrypt
lms-platform/
├── backend/ # Node.js + Express API
└── frontend/ # Next.js 14 App
- Navigate to backend:
cd backend- Install dependencies:
npm install- Create
.envfile:
cp .env.example .env-
Update
.envwith your database credentials -
Run development server:
npm run devBackend runs on: http://localhost:5000
- Navigate to frontend:
cd frontend- Install dependencies:
npm install- Create
.env.localfile:
cp .env.local.example .env.local- Run development server:
npm run devFrontend runs on: http://localhost:3000
- ✅ JWT Authentication (Access + Refresh tokens)
- ✅ Sequential video unlocking
- ✅ Video progress tracking
- ✅ Auto-play next video
- ✅ Resume video position
- ✅ Minimalist UI
- Backend → Render
- Frontend → Vercel
- Database → Aiven MySQL