How mugdha-sarker81/to-do-list-app-in-c works
Task Manager is a console application for creating tasks, viewing pending work, searching by date, marking tasks done, and deleting tasks. Its main workflow loads tasks from a text file, presents a dashboard, and persists changes made through task operations. Date search leads to a date-specific view and customization menu. The implementation is contained in one C file. Daily-habit functions are only declared, so they are not shown as working features.
Main entry points: To-Do .c Dashboard
Components 12
Console interface
- Application entry
To-Do .c - Dashboard
To-Do .c - Date options
To-Do .c
Task operations
- Add task
To-Do .c - View pending
To-Do .c - Search by date
To-Do .c - Complete task
To-Do .c - Delete task
To-Do .c - Date validation
To-Do .c
Task state and storage
- In-memory tasks
To-Do .c - tasks.txt
Other components
- Console user
Connections 24
- Console user → Dashboard: chooses actions
- Application entry → tasks.txt: loads tasks
- Application entry → Dashboard: starts
- Dashboard → Console user: shows menu
- Dashboard → Add task: dispatches
- Dashboard → View pending: dispatches
- Dashboard → Search by date: dispatches
- Dashboard → Complete task: dispatches
- Dashboard → Delete task: dispatches
- Add task → Date validation: validates date
- Add task → In-memory tasks: adds task
- View pending → In-memory tasks: reads tasks
- Search by date → Date validation: validates date
- Search by date → In-memory tasks: filters tasks
- Search by date → Date options: opens options
- Date options → Add task: dispatches
- Date options → Complete task: dispatches
- Date options → Delete task: dispatches
- Date options → Dashboard: returns to
- Complete task → In-memory tasks: updates status
- Delete task → In-memory tasks: removes task
- Add task → tasks.txt: saves tasks
- Complete task → tasks.txt: saves tasks
- Delete task → tasks.txt: saves tasks