Skip to content

tejassrivastava/kanaban-engine-be

Repository files navigation

Kanbab Engine Backend API

This contains all the API implementation

About the project implementation

Tech Stack

  • Backend Framework: Express.js
  • Database: Mongodb @ ATLAS
  • ODM: Mongoose
  • Validator: Joi
  • Test: Jest & Supertest
  • Test DB: mongodb-memory-server

Features Implemented 👨‍💻

  • 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. ✔

Bonus Features Implemented 😎

  • Implement user authentication. ✔
  • Implement pagination for the GET /tasks route. ✔

Extra Bonus Features Implemented 🤩

  • Added Joi Schema Validation ✔
  • Added Sorting for GET /tasks api ✔

Run Locally

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

Run Using Docker

  • 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/

API Reference

Visit this postman collection for all API Documentation

Link: API Documentation

To run tests

npm run test

Current Test Case Result: Image 1

Current Test Coverage Result:

Authors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages