Edemy is a full-stack Learning Management System built using the MERN stack. It supports student and educator roles, course management, secure authentication, and online payments.
- Browse and search courses
- View course details and previews
- Purchase courses using Razorpay
- Enroll and track course progress
- Rate courses
- Upgrade role to educator
- Create and publish courses
- Upload course thumbnails and content
- View enrolled students
- Dashboard with earnings & analytics
- Clerk authentication (login/signup)
- Role-based access (student / educator)
- Razorpay integration
- Secure payment verification
- Purchase history tracking
- React (Vite)
- Tailwind CSS
- React Router
- Axios
- Node.js
- Express.js
- MongoDB (Mongoose)
- Clerk (Auth)
- Razorpay (Payments)
- Cloudinary (Media uploads)
- Multer
Edemy/
├── client/ # Frontend (React + Vite)
├── server/ # Backend (Node + Express)
├── .env # Environment variables
├── .gitignore
└── README.md
Create a .env file in the server folder:
MONGODB_URI=your_mongodb_url
CLERK_WEBHOOK_SECRET=your_clerk_secret
RAZORPAY_KEY_ID=your_key_id
RAZORPAY_KEY_SECRET=your_key_secret
CLOUDINARY_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_SECRET_KEY=your_secret_keyCreate a .env file in the client folder:
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_RAZORPAY_KEY_ID=your_razorpay_keycd server
npm install
npm run servercd client
npm install
npm run dev- Frontend: Vercel
- Backend: Vercel
- Database: MongoDB Atlas
Asrith Raju
GitHub: https://github.com/asrith-raju
This project is for educational purposes.