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.
π EduSphere Platform
- 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
- Node.js & Express.js
- MongoDB & Mongoose
- JSON Web Token (JWT)
- Cors & Dotenv
- Express Rate Limit
- Stripe (Payments)
- Winston (Logging)
- Joi (Validation)
- Secure JWT-based authentication
- Google Social Login integration
- Role-based authorization (Student, Teacher, Admin)
- Password hashing & session management
- Student: Enrollment tracking, assignment submissions, progress monitoring
- Teacher: Course management, performance tracking
- Admin: User management, course approvals
- Course Creation & Updates with admin approval
- Assignments & Grading System for students
- Progress Tracking for both students and teachers
- Secure Stripe Integration for course payments
- Transaction Logging & Refund Handling
- PDF Invoice Generation for purchases
- User & Course Metrics (enrollments, performance, progress trends)
- Interactive Dashboards for admins and teachers
git clone https://github.com/smmaksudulhaque2000/EduSphere
cd edumanage-client
npm installCreate 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_urlgit clone https://github.com/smmaksudulhaque2000/EduSphere
cd edumanage-server
npm installCreate 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=developmentPOST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/refresh-token- Refresh JWT
GET /api/users- Fetch all usersGET /api/users/:id- Get user detailsPATCH /api/users/:id- Update roleDELETE /api/users/:id- Delete user
POST /api/classes- Create courseGET /api/classes- Get all coursesGET /api/classes/:id- Get course detailsPOST /api/assignments- Create assignmentPOST /api/assignments/submit- Submit assignment
src/
βββ components/
β βββ shared/
β βββ dashboard/
β βββ home/
βββ pages/
β βββ Home/
β βββ Dashboard/
β βββ Authentication/
βββ hooks/
βββ contexts/
βββ utils/
βββ assets/
βββ routes/
src/
βββ configs/
βββ controllers/
βββ middlewares/
βββ models/
βββ routes/
βββ services/
βββ utils/
βββ validations/
- JWT Authentication & session management
- CORS & Helmet security headers
- Request Rate Limiting
- MongoDB Injection Prevention
- XSS Protection & Input Validation
- Database Indexing & Query Optimization
- Response Caching & Compression
- Lazy Loading & Code Splitting
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is MIT Licensed.
Special thanks to:
