Skip to content

sarahcodeland/LMS-MERN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š E-Learning Platform

πŸš€ Overview

E-Learning Platform is a modern and scalable online education system built on top of the MERN stack. It provides seamless access to learning materials, video summaries using AI transcription, and a structured role-based dashboard for students and teachers. Secure authentication, payment integration, and cloud-based media storage enhance the user experience.

✨ Features

βœ… AI-Powered Transcription & Summarization (Assembly AI API) 🧠
βœ… Role-Based Dashboards (Students & Teachers) πŸ“Š
βœ… Secure Authentication (Google OAuth via Firebase) πŸ”
βœ… Video & Image Storage (Cloudinary) πŸ“
βœ… Payment Integration (Stripe) πŸ’³
βœ… Responsive & Modern UI (Tailwind CSS + ShadCN + Flowbite Components) 🎨
βœ… Smooth Navigation & User Experience πŸ”„

πŸ› οΈ Technologies Used

  • Frontend: React.js, Tailwind CSS, ShadCN, Flowbite Components
  • Backend: Node.js, Express.js, MongoDB
  • Authentication: Firebase (Google OAuth)
  • Payment: Stripe API
  • AI Integration: Assembly AI (Speech-to-Text Summarization)
  • Media Storage: Cloudinary
  • Deployment: Vercel (Frontend), Render (Backend)

πŸ“ Project Structure

E-LEARNING_PLATFORM/ β”œβ”€β”€ client/ # Frontend with React β”‚ β”œβ”€β”€ public/ # Static assets β”‚ β”œβ”€β”€ src/ # Components & pages β”‚ β”œβ”€β”€ .env # Frontend environment variables β”‚ β”œβ”€β”€ package.json # Frontend dependencies β”‚ └── vite.config.js β”œβ”€β”€ server/ # Backend with Express & MongoDB β”‚ β”œβ”€β”€ config/ # Configuration files β”‚ β”œβ”€β”€ models/ # Database models (MongoDB) β”‚ β”œβ”€β”€ routes/ # API routes (Video, Auth, Payment, etc.) β”‚ β”œβ”€β”€ controllers/ # Request handling logic β”‚ β”œβ”€β”€ .env # Backend environment variables β”‚ β”œβ”€β”€ package.json # Backend dependencies β”‚ └── app.js # Main server file β”œβ”€β”€ README.md # Project documentation └── LICENSE # Project license 

πŸ“₯ Installation & Setup

To run this project locally, follow these steps:

1️⃣ Clone the repository

git clone https://github.com/yourusername/e-learning-platform.git cd e-learning-platform

2️⃣ Install dependencies

Frontend

cd client npm install

Backend

cd ../server npm install

3️⃣ Set Up Environment Variables

Create a .env file in both client/ and server/ directories with the necessary variables.

πŸ“‚ Server .env (Backend)

PORT=5000 MONGO_URI=your_mongodb_connection_url FIREBASE_API_KEY=your_firebase_api_key STRIPE_SECRET_KEY=your_stripe_secret_key CLOUDINARY_CLOUD_NAME=your_cloudinary_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret ASSEMBLY_AI_API_KEY=your_assembly_ai_api_key FRONTEND_URL=http://localhost:5173 

πŸ“‚ Client .env (Frontend)

VITE_PUBLIC_URL=your_backend_api_url VITE_FIREBASE_API_KEY=your_firebase_api_key VITE_STRIPE_PUBLIC_KEY=your_stripe_public_key VITE_CLOUDINARY_URL=your_cloudinary_upload_url 

4️⃣ Start Development Servers

Start Backend (Server)

cd server npm run dev

Start Frontend (Client)

cd ../client npm run dev

🌐 App will run at: http://localhost:5173

🌍 Deployment

πŸš€ Deploy Frontend (Vercel)

  1. Push the latest code to GitHub.
  2. Connect the repository to Vercel.
  3. Set the root directory to client/.
  4. Configure:
    • Framework: Vite
    • Build Command: npm run build
    • Output Directory: dist
    • Add environment variables
  5. Click Deploy.

πŸš€ Deploy Backend (Render)

  1. Push the latest code to GitHub.
  2. Create a new web service in Render.
  3. Set the root directory to server/.
  4. Configure:
    • Start Command: npm start
    • Environment Variables: Paste from .env
  5. Click Deploy.

🀝 Contributing

Want to contribute? Follow these steps:

  1. Fork the repository.
  2. Clone it:
    git clone https://github.com/yourusername/e-learning-platform.git
  3. Create a new branch:
    git checkout -b feature-xyz
  4. Commit changes:
    git commit -m "Added XYZ feature"
  5. Push to your branch:
    git push origin feature-xyz
  6. Open a Pull Request πŸš€

πŸ“œ License

This project is licensed under the MIT License.

πŸŽ‰ Acknowledgements

πŸ”Ή Backend development by Sarah Maheen πŸ’»
πŸ”Ή Frontend development by Batchmate 🎨

About

A modern MERN-based e-learning platform with AI-powered transcription, role-based dashboards, secure authentication, and seamless media storage.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors