Skip to content

VaishnavaDevi-R/Online-Learning-Course-Recommendation-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Online Learning & Course Recommendation Platform

A full-stack MERN-based Online Learning & Course Recommendation Platform designed to provide a personalized learning experience through course discovery, enrollment management, recommendations, and progress tracking.

This platform enables users to explore courses, enroll in learning programs, monitor their progress, and receive personalized course suggestions based on their interests.


πŸš€ Features

πŸ” Authentication & Authorization

  • User Registration
  • User Login
  • JWT Authentication
  • Protected Routes
  • Secure User Sessions

πŸ“š Course Management

  • View Available Courses
  • Course Details Page
  • Dynamic Course Data from MongoDB
  • Category-Based Organization
  • Course Metadata Display

🎯 Personalized Learning

  • Course Enrollment System
  • My Learning Dashboard
  • Personalized Recommendations
  • Interest-Based Suggestions

πŸ“ˆ Progress Tracking

  • Learning Progress Monitoring
  • Course Completion Percentage
  • Progress Visualization
  • User Learning Analytics

πŸ‘€ User Profile

  • User Information Management
  • Personalized Learning Experience
  • Interest-Based Customization

πŸ› οΈ Tech Stack

Frontend

  • React.js
  • React Router DOM
  • Axios
  • Tailwind CSS
  • Vite

Backend

  • Node.js
  • Express.js

Database

  • MongoDB Atlas
  • Mongoose

Authentication

  • JSON Web Token (JWT)
  • bcryptjs

πŸ“‚ Project Structure

Online-Learning-Course-Recommendation-Platform/

β”œβ”€β”€ client/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   └── main.jsx
β”‚   β”‚
β”‚   └── public/
β”‚
β”œβ”€β”€ server/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ middleware/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ utils/
β”‚   └── server.js
β”‚
└── README.md

πŸ“Έ Screenshots

Login Page

Login Page

Register Page

Register Page

Dashboard

Dashboard

Courses Page

Courses

Course Details

Course Details

My Learning

My Learning


βš™οΈ Installation

Clone Repository

git clone https://github.com/VaishnavaDevi-R/Online-Learning-Course-Recommendation-Platform.git

Navigate to Project

cd Online-Learning-Course-Recommendation-Platform

Backend Setup

cd server

npm install

Create a .env file:

PORT=5000

MONGO_URI=your_mongodb_connection_string

JWT_SECRET=your_secret_key

Run Backend:

npm run server

Frontend Setup

cd client

npm install

npm run dev

Frontend:

http://localhost:5173

Backend:

http://localhost:5000

πŸ”— API Endpoints

Authentication

POST /api/auth/register

POST /api/auth/login

Courses

GET /api/courses

GET /api/courses/:id

POST /api/courses

Enrollments

POST /api/enrollments

GET /api/enrollments/my-courses

Recommendations

GET /api/recommendations

Progress

POST /api/progress

GET /api/progress

🌟 Key Highlights

  • Full MERN Stack Application
  • JWT-Based Authentication
  • MongoDB Atlas Integration
  • RESTful API Architecture
  • Dynamic Course Management
  • Personalized Recommendations
  • Progress Tracking System
  • Modern Responsive UI

🎯 Future Enhancements

  • Course Search & Filters
  • Video Lectures
  • Certificates
  • Admin Dashboard
  • AI-Powered Recommendations
  • Course Reviews & Ratings
  • Payment Gateway Integration
  • Dark Mode

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

Vaishnava Devi


⭐ Support

If you found this project useful, consider giving it a star ⭐ on GitHub.


Built with ❀️ using MERN Stack

About

A full-stack MERN-based Online Learning & Course Recommendation Platform featuring JWT authentication, course enrollment, personalized recommendations, progress tracking, and MongoDB integration.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages