0% found this document useful (0 votes)
3 views

Todo List API Synopsis

The Todo Application is a RESTful API designed for managing a task list, allowing users to create, view, update, and delete tasks with a TTL mechanism for automatic removal after 24 hours. Built with Node.js and Express.js, it utilizes MongoDB for data storage and includes features like error handling and a modular architecture for scalability. Future improvements could include user authentication and additional features such as task categories and reminders.

Uploaded by

Anirban Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Todo List API Synopsis

The Todo Application is a RESTful API designed for managing a task list, allowing users to create, view, update, and delete tasks with a TTL mechanism for automatic removal after 24 hours. Built with Node.js and Express.js, it utilizes MongoDB for data storage and includes features like error handling and a modular architecture for scalability. Future improvements could include user authentication and additional features such as task categories and reminders.

Uploaded by

Anirban Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

PROJECT TODO List Application Submitted By In

1.​ Akash Mondal BWU/DCS/22/017


2.​ Anirban-Sinha BWU/DCS/22/051
3.​ Twaha-Islam BWU/DCS/22/059
4.​ Joy Mondal BWU/DCS/22/060
5.​ Satish-Ray BWU/DCS/22/143​

1. Project Title
Todo Application

2. Project Description
The Todo Application is a RESTful API for managing a simple task list. It provides users with
the ability to:

● Create tasks with a title.

● View all tasks in the list.

● Update tasks to mark them as completed.

● Delete tasks, with automatic removal after 24 hours due to a time-to-live (TTL)
mechanism.

This backend application is built with Node.js, using Express.js as a web framework and
MongoDB as the database.
3. Technology Used
● Backend Framework: Node.js with Express.js

● Database: MongoDB with TTL indexing

● Database ORM: Mongoose

● Development Tools:

○ Nodemon for auto-reloading during development.

○ JSON format for API communication.

4. Roadmap
Phase 1: Project Setup

● Initialize Node.js and install dependencies.

● Establish MongoDB connection.

Phase 2: CRUD Operations

● Create a schema for todos.

● Implement API endpoints for Create, Read, Update, and Delete operations.

Phase 3: Task Expiration

● Integrate MongoDB’s TTL index to automatically delete tasks after 24 hours.

Phase 4: Error Handling

● Add validation for inputs and proper error handling for API responses.

Phase 5: Testing & Deployment

● Write test cases for API endpoints.

● Prepare the application for deployment.


5. Features of the Project
1.​ Task Management: Create, retrieve, update, and delete tasks via API endpoints.
2.​ Time-Limited Tasks: Automatic deletion of tasks after 24 hours using MongoDB TTL
indexing.
3.​ Simple Integration: RESTful API design allows seamless integration with frontend
frameworks.

6. Feature Solutions
● Task Expiry Mechanism:​
MongoDB's TTL index on the createdAt field ensures tasks are removed
automatically after 24 hours.

● Error Handling:​
Provides descriptive error messages for scenarios such as:

○ Missing or invalid task titles.

○ Attempting operations on non-existent tasks.

● Scalable Architecture:​
A modular design ensures ease of future feature expansion and integration with
external systems.

7. Test Cases
Test Scenario Input Expected Output

Fetch all tasks GET /todos List of all tasks with title and
completed fields.

Create a new POST /todo { "title": { "message": "Todo


task "Buy groceries" } created" }

Update task PUT /todo/:id { { "message": "Todo


status "completed": true } updated" }
Delete a task DELETE /todo/:id { "message": "Todo
deleted" }

Invalid task POST /todo {} { "message": "Title is


creation required" }

8. Project Review
This project successfully demonstrates:

● The implementation of a CRUD-based backend using Node.js and Express.js.

● The integration of MongoDB's TTL indexing to manage automatic task expiration.

● A clean and efficient RESTful API design.

Strengths:

● Simplicity and modularity of code.

● Use of industry best practices for database interaction and API handling.

Potential Improvements:

● Adding user authentication for personalized task management.

● Extending the application with more advanced features like task categories,
reminders, or priorities.

9. Conclusion
The Todo Application serves as a foundational project for learning and building RESTful APIs.
With features like time-limited tasks and simple CRUD operations, it is an excellent starting point
for developers. Future enhancements, such as authentication and frontend integration, could
make this application even more versatile.

10. References
● Todo Postman Documentation

You might also like