Skip to content

himudit/EduSphere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

186 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EduSphere - Online Course Management System

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.

Live Demo

🔗 EduSphere Live

Key Features

  • 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.

Tech Stack Used

Frontend

  • ReactJS (TypeScript)

Backend

  • Node.js, Express.js, Prisma

Database

  • PostgreSQL

Payment Integration

  • Razorpay

Hosting

  • Vercel (Frontend)
  • Render (Backend)
  • NeonDB (Database)

Installation & Setup

1. Clone the repository:

git clone https://github.com/himudit/EduSphere.git

2. Install dependencies for both frontend and backend:

cd backend
npm install

cd ./frontend/edusphere
npm install

3. Configure environment variables:

Create 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.

4. Apply database migrations:

Run the following command to apply Prisma migrations and set up the database schema:

cd backend
npx prisma migrate dev --name init

5. Run the development server:

Open two terminals and execute the following commands:

Terminal 1: Start TypeScript Compiler in Watch Mode

cd backend
tsc --watch

Terminal 2: Start Backend Server

cd backend
npm run dev

Terminal 3: Start Frontend

cd ./frontend/edusphere
npm run dev
  1. Open the app in your browser at http://localhost:3000.

Contributing

Contributions are welcome! Feel free to fork the project and submit pull requests.


🚀 EduSphere – Empowering Education with Seamless Course Management

About

EduSphere is a modern, full-stack web application built with the PERN stack (PostgreSQL, Express.js, ReactJS with TypeScript, and Node.js). It enables users to browse and purchase online courses with secure Razorpay payment integration, seamless authentication, and efficient media storage. Deployed using Vercel and Render and NeonDB.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors