Skip to content

maksudulhaque2000/EduSphere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EduSphere

EduSphere - Comprehensive Educational Platform

EduSphere is a full-featured educational platform built using the MERN stack. It seamlessly connects students and teachers through structured courses, interactive dashboards, and secure authentication. Designed with scalability in mind, EduSphere offers an engaging learning experience with dynamic content and data analytics.

🌍 Live Site

πŸ‘‰ EduSphere Platform

πŸ› οΈ Tech Stack

Frontend

  • React.js 18
  • TanStack Query v4
  • Firebase Authentication
  • Axios
  • React Router DOM v6
  • Tailwind CSS & DaisyUI
  • React Hook Form
  • Sweet Alert 2
  • Framer Motion
  • jsPDF & AOS Animation

Backend

  • Node.js & Express.js
  • MongoDB & Mongoose
  • JSON Web Token (JWT)
  • Cors & Dotenv
  • Express Rate Limit
  • Stripe (Payments)
  • Winston (Logging)
  • Joi (Validation)

🎯 Key Features

βœ… Authentication & User Management

  • Secure JWT-based authentication
  • Google Social Login integration
  • Role-based authorization (Student, Teacher, Admin)
  • Password hashing & session management

βœ… Dashboard System

  • Student: Enrollment tracking, assignment submissions, progress monitoring
  • Teacher: Course management, performance tracking
  • Admin: User management, course approvals

βœ… Course & Assignment Management

  • Course Creation & Updates with admin approval
  • Assignments & Grading System for students
  • Progress Tracking for both students and teachers

βœ… Payment & Financial System

  • Secure Stripe Integration for course payments
  • Transaction Logging & Refund Handling
  • PDF Invoice Generation for purchases

βœ… Data Analytics & Reports

  • User & Course Metrics (enrollments, performance, progress trends)
  • Interactive Dashboards for admins and teachers

πŸš€ Installation & Setup

Client Setup

git clone https://github.com/smmaksudulhaque2000/EduSphere
cd edumanage-client
npm install

Create a .env file:

VITE_apiKey=your_firebase_api_key
VITE_authDomain=your_firebase_auth_domain
VITE_projectId=your_firebase_project_id
VITE_storageBucket=your_storage_bucket
VITE_messagingSenderId=your_messaging_sender_id
VITE_appId=your_app_id
VITE_SERVER_URL=your_server_url

Server Setup

git clone https://github.com/smmaksudulhaque2000/EduSphere
cd edumanage-server
npm install

Create a .env file:

MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
STRIPE_SECRET_KEY=your_stripe_secret_key
PORT=5000
CLIENT_URL=your_client_url
REFRESH_TOKEN_SECRET=your_refresh_token_secret
NODE_ENV=development

πŸ”— API Endpoints

Authentication

  • POST /api/auth/login - User login
  • POST /api/auth/register - User registration
  • POST /api/auth/refresh-token - Refresh JWT

Users

  • GET /api/users - Fetch all users
  • GET /api/users/:id - Get user details
  • PATCH /api/users/:id - Update role
  • DELETE /api/users/:id - Delete user

Courses & Assignments

  • POST /api/classes - Create course
  • GET /api/classes - Get all courses
  • GET /api/classes/:id - Get course details
  • POST /api/assignments - Create assignment
  • POST /api/assignments/submit - Submit assignment

πŸ“‚ Project Structure

Client

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ shared/
β”‚   β”œβ”€β”€ dashboard/
β”‚   └── home/
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ Home/
β”‚   β”œβ”€β”€ Dashboard/
β”‚   └── Authentication/
β”œβ”€β”€ hooks/
β”œβ”€β”€ contexts/
β”œβ”€β”€ utils/
β”œβ”€β”€ assets/
└── routes/

Server

src/
β”œβ”€β”€ configs/
β”œβ”€β”€ controllers/
β”œβ”€β”€ middlewares/
β”œβ”€β”€ models/
β”œβ”€β”€ routes/
β”œβ”€β”€ services/
β”œβ”€β”€ utils/
└── validations/

πŸ”’ Security Measures

  • JWT Authentication & session management
  • CORS & Helmet security headers
  • Request Rate Limiting
  • MongoDB Injection Prevention
  • XSS Protection & Input Validation

⚑ Performance Optimizations

  • Database Indexing & Query Optimization
  • Response Caching & Compression
  • Lazy Loading & Code Splitting

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“œ License

This project is MIT Licensed.

πŸ™Œ Acknowledgments

Special thanks to:

About

EduSphere is a comprehensive educational platform built with the MERN stack, connecting students and teachers through structured courses, interactive dashboards, and secure authentication. Designed for scalability, it offers an engaging learning experience with dynamic content and data analytics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages