EduSphere is a full-stack web application built using the PERN stack (PostgreSQL, Express.js, ReactJS, and Node.js). It facilitates online course purchases, secure payments, authentication, and media storage to enhance the user experience.
- Secure Payments with Razorpay – Handles online transactions with seamless order tracking.
- Course Enrollment System – Automatically adds purchased courses to student profiles.
- JWT Authentication – Ensures secure login and access control for students and teachers.
- Cloudinary Integration – Efficiently manages and stores profile pictures and course media.
- Database Management with Prisma – Handles relational data for payments, enrollments, and user roles.
- ReactJS (TypeScript)
- Node.js, Express.js, Prisma
- PostgreSQL
- Razorpay
- Vercel (Frontend)
- Render (Backend)
- NeonDB (Database)
git clone https://github.com/himudit/EduSphere.gitcd backend
npm install
cd ./frontend/edusphere
npm installCreate a .env file in the backend directory with the following details:
PORT=4000
DATABASE_URL=<DATABASE_URL>
JWT_SECRET=<your_jwt_secret>
CLOUDINARY_CLOUD_NAME=<your_cloudinary_cloud_name>
CLOUDINARY_API_KEY=<your_cloudinary_api_key>
CLOUDINARY_API_SECRET=<your_cloudinary_api_secret>
RAZORPAY_KEY_ID=<your_razorpay_key_id>
RAZORPAY_KEY_SECRET=<your_razorpay_key_secret>
RAZORPAY_WEBHOOK_SECRET=<your_razorpay_webhook_secret>These variables are essential for authentication, cloud storage, and payment processing.
Run the following command to apply Prisma migrations and set up the database schema:
cd backend
npx prisma migrate dev --name initOpen two terminals and execute the following commands:
Terminal 1: Start TypeScript Compiler in Watch Mode
cd backend
tsc --watchTerminal 2: Start Backend Server
cd backend
npm run devTerminal 3: Start Frontend
cd ./frontend/edusphere
npm run dev- Open the app in your browser at
http://localhost:3000.
Contributions are welcome! Feel free to fork the project and submit pull requests.
🚀 EduSphere – Empowering Education with Seamless Course Management