{"id":28572471,"url":"https://github.com/maksudulhaque2000/edusphere","last_synced_at":"2026-04-01T19:18:17.371Z","repository":{"id":285650001,"uuid":"927624391","full_name":"maksudulhaque2000/EduSphere","owner":"maksudulhaque2000","description":"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","archived":false,"fork":false,"pushed_at":"2025-02-05T09:18:15.000Z","size":1181,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-28T00:42:45.630Z","etag":null,"topics":["educational-platform","eslint","expressjs","firebase","full-stack","js","mongodb","nodejs","reactjs","role-based-access-control","tailwindcss","user-management","vercel","vite"],"latest_commit_sha":null,"homepage":"https://edusphere-521cf.web.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maksudulhaque2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-05T09:13:40.000Z","updated_at":"2025-07-05T02:47:28.000Z","dependencies_parsed_at":"2025-04-01T23:34:41.346Z","dependency_job_id":"eede2cf4-3f45-4dcc-9f7f-7d6c334ee635","html_url":"https://github.com/maksudulhaque2000/EduSphere","commit_stats":null,"previous_names":["maksudulhaque2000/edusphere"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maksudulhaque2000/EduSphere","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksudulhaque2000%2FEduSphere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksudulhaque2000%2FEduSphere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksudulhaque2000%2FEduSphere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksudulhaque2000%2FEduSphere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maksudulhaque2000","download_url":"https://codeload.github.com/maksudulhaque2000/EduSphere/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksudulhaque2000%2FEduSphere/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["educational-platform","eslint","expressjs","firebase","full-stack","js","mongodb","nodejs","reactjs","role-based-access-control","tailwindcss","user-management","vercel","vite"],"created_at":"2025-06-10T20:37:29.449Z","updated_at":"2026-04-01T19:18:17.364Z","avatar_url":"https://github.com/maksudulhaque2000.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://i.ibb.co.com/JWs3Hfwp/Screenshot-5.png\" height=\"400\" width=\"800\" alt=\"EduSphere\"/\u003e\n\u003c/div\u003e\n\n# EduSphere - Comprehensive Educational Platform\n\nEduSphere 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.\n\n## 🌍 Live Site\n\n👉 [EduSphere Platform](https://edusphere-521cf.web.app/)\n\n## 🛠️ Tech Stack\n\n### Frontend\n\n- React.js 18\n- TanStack Query v4\n- Firebase Authentication\n- Axios\n- React Router DOM v6\n- Tailwind CSS \u0026 DaisyUI\n- React Hook Form\n- Sweet Alert 2\n- Framer Motion\n- jsPDF \u0026 AOS Animation\n\n### Backend\n\n- Node.js \u0026 Express.js\n- MongoDB \u0026 Mongoose\n- JSON Web Token (JWT)\n- Cors \u0026 Dotenv\n- Express Rate Limit\n- Stripe (Payments)\n- Winston (Logging)\n- Joi (Validation)\n\n## 🎯 Key Features\n\n### ✅ Authentication \u0026 User Management\n- Secure **JWT-based authentication**\n- **Google Social Login** integration\n- **Role-based authorization** (Student, Teacher, Admin)\n- Password hashing \u0026 session management\n\n### ✅ Dashboard System\n- **Student:** Enrollment tracking, assignment submissions, progress monitoring\n- **Teacher:** Course management, performance tracking\n- **Admin:** User management, course approvals\n\n### ✅ Course \u0026 Assignment Management\n- **Course Creation \u0026 Updates** with admin approval\n- **Assignments \u0026 Grading System** for students\n- **Progress Tracking** for both students and teachers\n\n### ✅ Payment \u0026 Financial System\n- **Secure Stripe Integration** for course payments\n- **Transaction Logging \u0026 Refund Handling**\n- **PDF Invoice Generation** for purchases\n\n### ✅ Data Analytics \u0026 Reports\n- **User \u0026 Course Metrics** (enrollments, performance, progress trends)\n- **Interactive Dashboards** for admins and teachers\n\n## 🚀 Installation \u0026 Setup\n\n### Client Setup\n\n```bash\ngit clone https://github.com/smmaksudulhaque2000/EduSphere\ncd edumanage-client\nnpm install\n```\n\nCreate a `.env` file:\n\n```env\nVITE_apiKey=your_firebase_api_key\nVITE_authDomain=your_firebase_auth_domain\nVITE_projectId=your_firebase_project_id\nVITE_storageBucket=your_storage_bucket\nVITE_messagingSenderId=your_messaging_sender_id\nVITE_appId=your_app_id\nVITE_SERVER_URL=your_server_url\n```\n\n### Server Setup\n\n```bash\ngit clone https://github.com/smmaksudulhaque2000/EduSphere\ncd edumanage-server\nnpm install\n```\n\nCreate a `.env` file:\n\n```env\nMONGODB_URI=your_mongodb_uri\nJWT_SECRET=your_jwt_secret\nSTRIPE_SECRET_KEY=your_stripe_secret_key\nPORT=5000\nCLIENT_URL=your_client_url\nREFRESH_TOKEN_SECRET=your_refresh_token_secret\nNODE_ENV=development\n```\n\n## 🔗 API Endpoints\n\n### Authentication\n- `POST /api/auth/login` - User login\n- `POST /api/auth/register` - User registration\n- `POST /api/auth/refresh-token` - Refresh JWT\n\n### Users\n- `GET /api/users` - Fetch all users\n- `GET /api/users/:id` - Get user details\n- `PATCH /api/users/:id` - Update role\n- `DELETE /api/users/:id` - Delete user\n\n### Courses \u0026 Assignments\n- `POST /api/classes` - Create course\n- `GET /api/classes` - Get all courses\n- `GET /api/classes/:id` - Get course details\n- `POST /api/assignments` - Create assignment\n- `POST /api/assignments/submit` - Submit assignment\n\n## 📂 Project Structure\n\n### Client\n\n```\nsrc/\n├── components/\n│   ├── shared/\n│   ├── dashboard/\n│   └── home/\n├── pages/\n│   ├── Home/\n│   ├── Dashboard/\n│   └── Authentication/\n├── hooks/\n├── contexts/\n├── utils/\n├── assets/\n└── routes/\n```\n\n### Server\n\n```\nsrc/\n├── configs/\n├── controllers/\n├── middlewares/\n├── models/\n├── routes/\n├── services/\n├── utils/\n└── validations/\n```\n\n## 🔒 Security Measures\n\n- **JWT Authentication** \u0026 session management\n- **CORS \u0026 Helmet security headers**\n- **Request Rate Limiting**\n- **MongoDB Injection Prevention**\n- **XSS Protection \u0026 Input Validation**\n\n## ⚡ Performance Optimizations\n\n- **Database Indexing \u0026 Query Optimization**\n- **Response Caching \u0026 Compression**\n- **Lazy Loading \u0026 Code Splitting**\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit changes (`git commit -m 'Add AmazingFeature'`)\n4. Push (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📜 License\n\nThis project is **MIT Licensed**.\n\n## 🙌 Acknowledgments\n\nSpecial thanks to:\n\n- [React](https://react.dev)\n- [Node.js](https://nodejs.org)\n- [Express.js](https://expressjs.com)\n- [MongoDB](https://www.mongodb.com)\n- [Tailwind CSS](https://tailwindcss.com)\n- [Firebase](https://firebase.google.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaksudulhaque2000%2Fedusphere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaksudulhaque2000%2Fedusphere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaksudulhaque2000%2Fedusphere/lists"}