Learnera is a modern e-learning platform built with the MERN stack (MongoDB, Express.js, React, Node.js). It offers a seamless, interactive, and AI-powered learning experience for students and instructors.
- User Authentication: Secure signup, login, email verification, and password reset.
- Course Management: Browse, purchase, and enroll in courses. Admins can add, edit, and manage courses and lectures.
- Video Lectures: Stream course lectures with progress tracking.
- AI Doubt Resolver: Integrated AI chatbot (Google Gemini) to answer student questions instantly.
- Payment Integration: Secure PayPal payments with downloadable PDF receipts.
- User Dashboard: Track enrolled courses, progress, and manage profile.
- Admin Dashboard: Manage users, courses, and view platform statistics.
- Responsive UI: Modern, mobile-friendly interface built with React, Tailwind CSS, and Framer Motion.
- Frontend: React, Vite, Tailwind CSS, Framer Motion, React Router, Axios
- Backend: Node.js, Express.js, MongoDB, Mongoose
- AI Integration: Google Gemini API
- Payments: PayPal REST SDK
- Node.js (v18+ recommended)
- MongoDB instance (local or cloud)
- PayPal developer account (for sandbox credentials)
- Google Gemini API key
- Clone the repository:
git clone https://github.com/ab00s1/MERN_E-learning_Platform.git cd MERN_E-learning_Platform - Install dependencies:
- For client:
cd client npm install - For server:
cd ../server npm install
- For client:
- Configure environment variables:
- Create a
.envfile in theserverdirectory with the following:PORT=5000 MONGO_URI=<your-mongodb-uri> PAYPAL_MODE=sandbox PAYPAL_CLIENT_ID=<your-paypal-client-id> PAYPAL_SECRET=<your-paypal-secret> GEMINI_API_KEY=<your-gemini-api-key>
- Create a
- Run the application:
- Start the backend:
npm run dev
- Start the frontend (in a new terminal):
cd ../client npm run dev - The frontend will be available at
http://localhost:5173(default Vite port).
- Start the backend:
E-Learning Platform/
├── client/ # React frontend
├── server/ # Node.js backend
└── README.md
