Skip to content

Latest commit

Β 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌿 Learn With Naina

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.


✨ Highlights

  • 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.

πŸš€ Live Demo

Frontend

https://learn-with-naina.vercel.app/

Backend API

https://learnwithnaina.onrender.com


πŸ“Έ Application Preview

Landing Page

Landing Page


Login

Login


Sign Up

Signup


Student Dashboard

Student Dashboard


Available Courses

Available Courses


Lessons

Lessons


Learning Materials

Materials


PDF Viewer

PDF Viewer


Admin Dashboard

Admin Dashboard


Course Management

Admin Course


Lesson Materials Management

Admin Materials


Admin PDF Viewer

Admin PDF Viewer


✨ Features

Student Portal

  • 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

Admin Portal

  • 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

πŸ— System Architecture

                    Student / Tutor
                           β”‚
                           β–Ό
                    React Frontend
                           β”‚
                    Axios / REST API
                           β”‚
                           β–Ό
                 Express.js Backend
        (JWT Authentication & Authorization)
                 β”‚                β”‚
                 β–Ό                β–Ό
          MongoDB Atlas      Cloudinary

πŸ›  Tech Stack

Frontend

  • React
  • React Router
  • Axios
  • React PDF
  • CSS

Backend

  • Node.js
  • Express.js
  • MongoDB Atlas
  • Mongoose
  • JWT Authentication
  • bcryptjs
  • Multer
  • Cloudinary

Deployment

  • Render
  • Vercel
  • MongoDB Atlas

πŸ“‚ Project Structure

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

πŸ” Authentication

The application uses secure JWT authentication.

Features

  • User Registration
  • User Login
  • Password Hashing (bcrypt)
  • JSON Web Tokens (JWT)
  • Protected Routes
  • Role Based Authorization

⚑ Core Functionalities

  • User Authentication
  • Course Enrollment
  • Course Management
  • Lesson Management
  • PDF Upload
  • Cloud Storage
  • Embedded PDF Viewer
  • Student Dashboard
  • Admin Dashboard
  • Protected Admin Routes

βš™οΈ Installation

Clone Repository

git clone https://github.com/k-o-c-o/LearnWithNaina.git

Backend

cd backend
npm install
npm run dev

Frontend

cd frontend
npm install
npm run dev

πŸ‘©β€πŸ’» Author

Naina Edwin

B.Tech Computer and Communication Engineering
Manipal Institute of Technology

GitHub: https://github.com/k-o-c-o


⭐ If you found this project interesting, consider giving it a star!

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages