How loganoberk/taskmanager works
This is a command-line to-do list manager organized around dated lists and the tasks stored in them. A user chooses a list operation, then can create, remove, or open a list; within an open list, they can add, remove, or edit tasks. The application loads and saves manager state through a local text file. The README is empty, and Task and TaskList implementations were not sampled, so their internal behavior and some dependencies are not detailed here.
Main entry points: TaskManagerApp.cpp Application loop · UI.cpp Menus and input · TaskListManager.cpp List manager · TaskList.cpp Dated task list
Components 10
Application entry
- Program entry
taskmanager/src/app/Main.cpp - Application loop
taskmanager/src/core/TaskManagerApp.cpp
Command-line interface
- Menus and input
taskmanager/src/ui/UI.cpp - String helpers
taskmanager/src/utils/String.util.cpp
Task domain
- List manager
taskmanager/src/core/TaskListManager.cpp - Date value
taskmanager/src/core/Date.cpp - Dated task list
taskmanager/src/core/TaskList.cpp - Task
taskmanager/src/core/Task.cpp
Persistence
- Saved task data
Other components
- User
Connections 17
- User → Program entry: starts
- Program entry → Application loop: runs
- Application loop → Menus and input: displays menus
- Menus and input → User: prompts
- Menus and input → String helpers: normalizes text
- Application loop → Menus and input: reads choices
- Application loop → Date value: parses dates
- Application loop → List manager: dispatches list actions
- Application loop → Saved task data: reads and writes
- Application loop → List manager: loads and saves
- List manager → Dated task list: creates and opens
- List manager → Menus and input: reports outcomes
- List manager → Date value: indexes by date
- List manager → Dated task list: serializes lists
- Dated task list → Menus and input: displays list menu
- Dated task list → Task: manages tasks
- Dated task list → Menus and input: opens task editor