https://github.com/gyanthakur/edemy-lms
Edemy LMS is a full-stack learning management system (LMS) that provides educators and students with a seamless e-learning experience. Built using modern web technologies, it includes user authentication, course management, video streaming, and progress tracking.
https://github.com/gyanthakur/edemy-lms
axios clerk-auth cloudinary-api cors expressjs mondodb multer-storage nodejs quill-editor reactjs reacttoastify reactyoutube stripe-payments tailwindcss uniqid vite
Last synced: 2 months ago
JSON representation
Edemy LMS is a full-stack learning management system (LMS) that provides educators and students with a seamless e-learning experience. Built using modern web technologies, it includes user authentication, course management, video streaming, and progress tracking.
- Host: GitHub
- URL: https://github.com/gyanthakur/edemy-lms
- Owner: Gyanthakur
- Created: 2025-02-11T07:58:19.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-28T10:59:56.000Z (4 months ago)
- Last Synced: 2025-02-28T17:43:54.413Z (4 months ago)
- Topics: axios, clerk-auth, cloudinary-api, cors, expressjs, mondodb, multer-storage, nodejs, quill-editor, reactjs, reacttoastify, reactyoutube, stripe-payments, tailwindcss, uniqid, vite
- Language: JavaScript
- Homepage: https://edemy-lms-gps.vercel.app
- Size: 4.17 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Edemy LMS 🎓 - A Modern Learning Management System
Edemy LMS is a full-stack learning management system (LMS) that provides educators and students with a seamless e-learning experience. Built using modern web technologies, it includes user authentication, course management, video streaming, and progress tracking.
## 🚀 Tech Stack
### Frontend:
- **React** (via Vite) ⚡
- **React Router DOM** for navigation
- **React Toastify** for notifications
- **Framer Motion** for animations
- **Quill** for rich text editing
- **Axios** for API requests
- **RC Progress** for progress tracking
- **React YouTube** for video embedding
- **Clerk Authentication** for user management### Backend:
- **Node.js** & **Express.js** 🚀
- **MongoDB** & **Mongoose** for database
- **Cloudinary** for media storage
- **Multer** for file uploads
- **Stripe** for payment processing
- **Cors** for cross-origin requests
- **Dotenv** for environment variables
- **Nodemon** for development---
## 📂 Project Structure
### **Frontend (`client/`)**
```
📦 client
├── 📂 src
│ ├── 📂 assets
│ ├── 📂 components
│ │ ├── 📂 educator
│ │ │ ├── Footer.jsx
│ │ │ ├── Navbar.jsx
│ │ │ ├── Sidebar.jsx
│ │ ├── 📂 student
│ │ │ ├── Logger.jsx
│ ├── 📂 context
│ │ ├── AppContext.jsx
│ ├── 📂 pages
│ │ ├── 📂 educator
│ │ │ ├── AddCourse.jsx
│ │ │ ├── Dashboard.jsx
│ │ │ ├── Educator.jsx
│ │ │ ├── MyCourses.jsx
│ │ │ ├── StudentsEnrolled.jsx
│ │ ├── 📂 student
│ │ │ ├── CourseDetails.jsx
│ │ │ ├── CoursesList.jsx
│ │ │ ├── Home.jsx
│ │ │ ├── MyEnrollMents.jsx
│ │ │ ├── Player.jsx
│ │ ├── App.jsx
│ │ ├── index.css
│ │ ├── main.jsx
├── 📜 .env
├── 📜 .gitignore
├── 📜 package.json
├── 📜 tailwind.config.js
├── 📜 vite.config.js```
### **Backend (`server/`)**
```
📦 server
├── 📂 configs
│ ├── cloudinary.js
│ ├── mongodb.js
│ ├── multer.js
├── 📂 controllers
│ ├── courseController.js
│ ├── educatorController.js
│ ├── userController.js
│ ├── webhooks.js
├── 📂 middlewares
│ ├── authMiddleware.js
├── 📂 models
│ ├── Course.js
│ ├── CourseProgress.js
│ ├── Purchase.js
│ ├── User.js
├── 📂 routes
│ ├── courseRoute.js
│ ├── educatorRoutes.js
│ ├── userRoutes.js
├── 📜 .env
├── 📜 .gitignore
├── 📜 package.json
├── 📜 server.js
├── 📜 vercel.json
```---
## 🌟 Features
✅ **User Authentication** (Signup, Login, Clerk Integration)
✅ **Course Management** (Add, Edit, Delete, Enroll)
✅ **Video Streaming** (Embedded YouTube player)
✅ **Progress Tracking** (Course Completion)
✅ **Educator Dashboard** (Monitor students)
✅ **Secure Payments** (Stripe integration)
✅ **Responsive Design** (Mobile-friendly UI)---
## 📸 Screenshots
| Page | Screenshot |
|------|-----------|
| **Home Page** |  |
| **Course Page** |  |
| **My Enrollments** |  |
| **Player Page** |  |
| **Educator Dashboard** |  |
| **Add Course** |  |
| **My Courses** |  |
| **Enrolled Students** |  |
## ⚡ Installation & Setup
### 1️⃣ Clone the Repository
```bash
git clone https://github.com/Gyanthakur/Edemy-LMS.git
cd edemy-lms
```### 2️⃣ Install Dependencies
#### Frontend:
```bash
cd client
npm install
npm run dev
```#### Backend:
```bash
cd server
npm install
npm start
```### 3️⃣ Setup Environment Variables
Create a `.env` file in both `client/` and `server/` directories and add required credentials (MongoDB, Cloudinary, Clerk, Stripe, etc.).---
## 🔥 Deployment
This project is set up for deployment on **Vercel**.
### Deploy Backend
```bash
cd server
vercel --prod
```### Deploy Frontend
```bash
cd client
vercel --prod
```---
## 🔐 License
This project is licensed under the [MIT License](LICENSE).---
## 🎯 Contributors
👤 **Gyan Pratap Singh** – *Developer & Maintainer*
📧 Contact: [[email protected]](mailto:[email protected])
🔗 GitHub: [@gyanthakur](https://github.com/Gyanthakur)## 🌐 Connect with Us
- **Name**: Gyan Pratap Singh
- **Email**: [[email protected]](mailto:[email protected])
- **GitHub**: [Gyanthakur](https://github.com/Gyanthakur)
- **Portfolio**: [Gyan's Portfolio](https://gyan-pratap-singh.vercel.app/)---
## Thank you for checking out the **Edemy LMS** project! Happy coding! 😊
---
## ⭐ Support
Give a ⭐ if you like this project!---
Made with ❤️ by Gyan Pratap Singh### ⭐ Show Some Love!
If you like this project, don't forget to leave a **⭐ Star** on GitHub! 🚀