```json { "name": "edusphere-backend", "version": "1.0.0", "description": "Backend for EduSphere Admin Dashboard", "main": "server.js", "scripts": { "start": "node server.js", "dev": "nodemon server.js" }, "dependencies": { "bcryptjs": "^2.4.3", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "dotenv": "^16.0.3", "express": "^4.18.2", "express-rate-limit": "^6.7.0", "express-validator": "^6.15.0", "helmet": "^7.0.0", "jsonwebtoken": "^9.0.0", "mongoose": "^7.4.1", "morgan": "^1.10.0" }, "devDependencies": { "nodemon": "^3.0.1" } } ``` This backend setup includes: 1. **Server Configuration**: - Express.js server with middleware for security (helmet, rate limiting) - MongoDB connection with Mongoose - Environment variables for configuration 2. **Authentication**: - JWT-based authentication with cookies - User roles (admin, instructor, student) - Password hashing with bcrypt 3. **Models**: - User model with authentication methods - Course model with relationships to users 4. **Routes**: - Authentication routes (login, logout, current user) - Course CRUD operations with authorization - Basic structure for other resources (users, enrollments, certificates, payments) 5. **Middleware**: - Authentication middleware - Authorization middleware for role-based access - Error handling To set up the backend: 1. Install Node.js and MongoDB 2. Create a new directory and add these files 3. Run `npm install` to install dependencies 4. Start MongoDB service 5. Run `npm run dev` to start the development server The backend provides a RESTful API that can be consumed by your frontend admin dashboard. You'll need to connect your frontend to these API endpoints for data management.