This project is a backend API for an educational platform, enabling users to manage courses and quizzes. It provides CRUD functionality for both courses and quizzes, adheres to RESTful principles, and includes endpoints for quiz-taking functionality.
-
Course Management
- Create, retrieve, update, and delete courses.
- Courses contain details such as title, description, and duration.
-
Quiz Management
- Create, retrieve, update, and delete quizzes.
- Quizzes are linked to courses and include questions, options, and answers.
- Backend Framework: Node.js with Express.js
- Database: MongoDB
- API Documentation: Postman Collection
- Node.js (>= 14.x)
- NPM or Yarn
- Database setup (MongoDB)
-
Clone the Repository
git clone https://github.com/19Kapil/Backend-Development-Challenge-Educational-Platform-API.git cd Backend Development Challenge -Educational Platform API -
Install Dependencies
npm install
-
Run Database Migrations (if applicable) Not applicable for MongoDB.
-
Start the Server
npm start
-
Access API Documentation Import the provided Postman collection to test endpoints.
POST /api/courses- Create a courseGET /api/courses- Retrieve all coursesGET /api/courses/:id- Retrieve a specific coursePUT /api/courses/:id- Update a courseDELETE /api/courses/:id- Delete a course
POST /api/courses/:id/quizzes- Create a quiz for a courseGET /api/courses/:id/quizzes- Retrieve quizzes for a courseGET /api/quizzes/:id- Retrieve a specific quizPUT /api/quizzes/:id- Update a quizDELETE /api/quizzes/:id- Delete a quiz
POST /api/quizzes/:id/quizresults- Submit answers for a quizGET /api/quizeresults/:quizId- Fetch quiz results
- Import the provided Postman collection: Download Collection.
- Test the endpoints using your preferred client (Postman/Insomnia/cURL).
For questions or feedback, reach out at: Email: parazulikapil777@gmail.com