Simple To-Do Management Service

Job ID: 39214294

Budget: ₹1,500 – ₹12,500 INR

Develop a simple yet robust To-Do management service using ExpressJS, Node.js and TypeScript. This service will provide a REST API for managing To-Do items, similar in concept to applications like Todoist, but with a simplified scope.

Requirements:
We are developing a POC concept for the following requirements:-

Develop a RESTful API for managing To-Do items.
Each To-Do item must have:
A unique ID.
A title (required).
An optional description.
An arbitrary list of subtasks, where each subtask has:
A title (required).
An optional description.

Implement standard CRUD operations for both To-Do items and subtasks.
Utilize TypeScript for all development.
Use MongoDB as database.

Deployment and CI/CD:
Create a CI/CD workflow using GitHub Actions to automate the build, testing, and deployment process.
Deployable code to Heroku. (Please do not deploy code without asking!!)
Provide a user-friendly interface to interact with the API, such as SwaggerUI.

Deliverables:
1. Running code of node js with typescript. A functional, deployed To-Do service.
2. Use of SwaggerUI.
3. Docker compose for running MongoDB.
4. Documentation outlining the API endpoints and usage instructions.
5. Clean and well-structured code and architecture which is scalable for further implementations. REST API naming conventions should be followed.
6. CI/CD workflow via Github Actions. A description of the deployment process.
7. Deployable code in Heroku.
8. Unit tests.
9. E2E tests.
10. The whole application should be runnable as a docker file too.
11. Add a .gitignore file
Related categories: Node.js Express JS MongoDB