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.
β
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 π
- 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)
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 To run this project locally, follow these steps:
git clone https://github.com/yourusername/e-learning-platform.git cd e-learning-platformcd client npm installcd ../server npm installCreate a .env file in both client/ and server/ directories with the necessary variables.
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 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 cd server npm run devcd ../client npm run devπ App will run at: http://localhost:5173
- Push the latest code to GitHub.
- Connect the repository to Vercel.
- Set the root directory to
client/. - Configure:
- Framework: Vite
- Build Command:
npm run build - Output Directory:
dist - Add environment variables
- Click Deploy.
- Push the latest code to GitHub.
- Create a new web service in Render.
- Set the root directory to
server/. - Configure:
- Start Command:
npm start - Environment Variables: Paste from
.env
- Start Command:
- Click Deploy.
Want to contribute? Follow these steps:
- Fork the repository.
- Clone it:
git clone https://github.com/yourusername/e-learning-platform.git
- Create a new branch:
git checkout -b feature-xyz
- Commit changes:
git commit -m "Added XYZ feature" - Push to your branch:
git push origin feature-xyz
- Open a Pull Request π
This project is licensed under the MIT License.
πΉ Backend development by Sarah Maheen π»
πΉ Frontend development by Batchmate π¨