Skip to content

Subhash-2005/Learning_hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LearnHub – Full-Stack E-Learning Platform

Live Demo: https://learning-hub-oowi.onrender.com/

Project Overview

LearnHub is a full-stack e-learning web application designed to provide an online learning experience where users can enroll in courses, attempt quizzes, and earn certificates. The platform supports role-based access for Admin and Students and is built with scalability, security, and performance in mind.

This project demonstrates real-world full-stack development, including authentication, REST API design, database modeling, and dynamic frontend updates using JavaScript.

Features Student

User registration and login

Browse available courses

Enroll in courses

Attempt quizzes

Download certificates after completion

Admin

Secure admin login

Add, edit, and delete courses

Manage course content dynamically

Real-time updates reflected on the user interface

Security

JWT-based authentication

Password hashing using bcrypt

Role-based route protection

Input validation and basic rate limiting

Tech Stack Frontend

HTML

CSS

JavaScript (Vanilla JS)

Fetch API for backend communication

Backend

Node.js

Express.js

RESTful API architecture

Database

MongoDB

Mongoose ODM

Authentication & Security

JSON Web Tokens (JWT)

bcrypt.js

Deployment

Backend & frontend deployed on Render

MongoDB hosted on MongoDB Atlas

Project Architecture

Frontend: Handles UI, form validation, dynamic DOM updates, and API calls.

Backend: Manages authentication, authorization, business logic, and APIs.

Database: Stores users, courses, quizzes, and certificates using a scalable schema.

The application follows a modular REST design with proper separation of concerns.

Application Workflow

User registers or logs in.

Backend validates credentials and issues a JWT token.

Token is used to access protected routes.

Admin manages courses through dashboard.

Students enroll, take quizzes, and complete courses.

Certificates are generated upon successful completion.

Frontend updates dynamically without page reloads.

Performance & Optimization

Pagination implemented to handle large datasets

MongoDB indexing for faster queries

Reduced admin content update latency from ~4s to ~1s

Optimized API responses under load

Key Learnings

Implementing secure authentication without Firebase

Designing scalable MongoDB schemas

Building role-based access control

Optimizing frontend-backend synchronization

Handling real-world performance and security concerns

Future Enhancements

Progress tracking dashboard

Discussion forums

Certificate verification using QR codes

Email notifications

Migration to React for component-based UI

Payment gateway integration for premium courses

Author

Subhash Talluri

Full-Stack Developer

GitHub: https://github.com/Subhash-2005

LinkedIn: https://linkedin.com/in/tallurisubhash

⭐ Show Your Support

If you like this project, please ⭐ the repository — it helps a lot!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors