Upskillr is a full-stack Learning Management System (LMS) designed for coaching institutes, independent educators, and training organizations. It enables course management, assessments, digital certificate issuance, and a coin-based reward system to enhance student engagement.
The platform is built with a scalable architecture and supports Docker-based development workflows.
Watch Full Platform Demo
https://drive.google.com/file/d/1z4DNlAIWj8uDIbKXV904hZRx_JEy5S0Q/view?usp=drive_link
- Create and manage courses
- Instructor assignment
- Structured modules and content delivery
- Role-based access control (Instructor, Learner)
- Timed assessments
- Switching Tabs detecttion to prevent cheat activities
- Automatic score calculation
- Submission tracking
- Dynamic certificate creation
- Unique certificate IDs
- Shareable on LinkedIn
- Online certificate verification endpoint
- Downloadable PDF certificates
- Learners earn coins for completing courses and assessments
- Gamified engagement model
- Motivation and retention enhancement
- Course completion monitoring
- Score-based analytics
- Submission history
- Learner performance insights
- Containerized backend environment
- Docker Compose for development
- Production-ready Dockerfile
- React (Vite)
- Tailwind CSS
- Framer Motion
- Node.js
- Express.js
- MongoDB (Mongoose)
- JWT Authentication
- Docker
- Docker Compose
- Render (Backend Hosting)
- Vercel (Frontend Hosting)
Upskillr/
│
├── frontend/
│ ├── src/
│ ├── components/
│ ├── pages/
│ ├── services/
│ └── package.json
│
├── backend/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── middleware/
│ ├── server.js
│ ├── Dockerfile
│ ├── docker-compose.yml
│ └── package.json
│
└── README.md
git clone https://github.com/BhumikaYeole/UpSkillr.git
cd UpSkillrcd backend
npm install
npm run devCreate a .env file inside the backend directory:
PORT=5000
DB_URI=mongodb_connection_string
JWT_SECRET=secret_key
CLIENT_URL=http://localhost:5173
cd frontend
npm install
npm run devCreate a .env file inside the frontend directory:
VITE_API_URL=http://localhost:5000/api
cd backend
docker compose up --buildTo stop the container:
docker compose downDocker Compose automatically:
- Builds the backend image
- Loads environment variables
- Maps port 5000
- Runs development mode