A production ready full stack Learning Management System (LMS) developed to support my personal tutoring platform. The application digitizes my tutoring workflow by allowing students to securely enroll in courses, access structured lessons, and study PDF materials directly within the browser, while providing a dedicated tutor dashboard to create courses, organize lessons, and upload learning resources.
The platform is currently being used by three active students to access course materials and lessons. Although originally built for my own tutoring practice, its modular architecture makes it easily adaptable for schools, coaching centers, or online education platforms.
- Designed and developed a full stack Learning Management System for my personal English tutoring platform.
- Currently supporting 3 active students using the platform for accessing course materials and lesson resources.
- Implemented secure JWT authentication with bcrypt password hashing and role based authorization.
- Built complete course enrollment and lesson management workflows for students.
- Integrated a PDF reader with zoom controls for seamless learning.
- Implemented Cloudinary based PDF storage with Multer for efficient file uploads.
- Developed separate Student and Tutor dashboards with protected routes.
- Built a RESTful backend using Express.js and MongoDB.
- Created a responsive React application with React Router and Axios.
- Deployed the application using Render, Vercel and MongoDB Atlas.
https://learn-with-naina.vercel.app/
https://learnwithnaina.onrender.com
- Secure user authentication
- Register and login
- Browse available courses
- Enroll in courses
- View enrolled courses
- Navigate lessons
- Access learning materials
- Read PDFs directly inside the application
- Responsive user interface
- Role based admin authentication
- Create new courses
- Add lessons to courses
- Upload PDF learning materials
- Organize educational resources
- View uploaded documents
- Manage course content through an intuitive dashboard
Student / Tutor
β
βΌ
React Frontend
β
Axios / REST API
β
βΌ
Express.js Backend
(JWT Authentication & Authorization)
β β
βΌ βΌ
MongoDB Atlas Cloudinary
- React
- React Router
- Axios
- React PDF
- CSS
- Node.js
- Express.js
- MongoDB Atlas
- Mongoose
- JWT Authentication
- bcryptjs
- Multer
- Cloudinary
- Render
- Vercel
- MongoDB Atlas
LearnWithNaina/
β
βββ assets/
β
βββ backend/
β βββ config/
β βββ controllers/
β βββ models/
β βββ routes/
β βββ uploads/
β βββ server.js
β βββ package.json
β
βββ frontend/
β βββ public/
β βββ src/
β β βββ assets/
β β βββ components/
β β βββ layouts/
β β βββ pages/
β β βββ services/
β β βββ styles/
β β βββ App.jsx
β β βββ main.jsx
β β
β βββ index.html
β βββ vite.config.js
β βββ package.json
β
βββ README.md
The application uses secure JWT authentication.
- User Registration
- User Login
- Password Hashing (bcrypt)
- JSON Web Tokens (JWT)
- Protected Routes
- Role Based Authorization
- User Authentication
- Course Enrollment
- Course Management
- Lesson Management
- PDF Upload
- Cloud Storage
- Embedded PDF Viewer
- Student Dashboard
- Admin Dashboard
- Protected Admin Routes
git clone https://github.com/k-o-c-o/LearnWithNaina.gitcd backend
npm install
npm run devcd frontend
npm install
npm run devNaina Edwin
B.Tech Computer and Communication Engineering
Manipal Institute of Technology
GitHub: https://github.com/k-o-c-o











