This contains all the API implementation
- Backend Framework: Express.js
- Database: Mongodb @ ATLAS
- ODM: Mongoose
- Validator: Joi
- Test: Jest & Supertest
- Test DB: mongodb-memory-server
- POST
/task
- Create a new task. ✔ - GET
/task/:id
- Retrieve a task by its ID. ✔ - PUT
/task/:id
- Update a specific task. ✔ - DELETE
/task/:id
- Delete a specific task. ✔ - GET
/tasks
- Retrieve all tasks. ✔ - GET
/tasks?assignedTo=[username]
- Retrieve all tasks assigned to a specific user. ✔ - GET
/tasks?category=[categoryName]
- Retrieve all tasks under a specific category. ✔
- Implement user authentication. ✔
- Implement pagination for the GET
/tasks
route. ✔
- Added Joi Schema Validation ✔
- Added Sorting for GET
/tasks
api ✔
Clone the project
git clone <Repo URL>
Go to the project directory
cd kanban-engine-be
Install dependencies
npm install
Start the server:
this command will automatically start express server.
npm run dev
- Download the file i.e. docker-compose.yml
- Run docker compose -f "docker-compose.yml" up -d --build
- This will spin up container
- tejasog/nclebe : running on localhost:3000
- Head to http://localhost:3000 in browser or postman to access the API Server
- Once done testing run docker compose -f "docker-compose.yml" down to close & remove the containers.
API server
http://localhost:3000/
Visit this postman collection for all API Documentation
Link: API Documentation
To run tests
npm run test
Current Test Coverage Result: