How deolinjaffens/task-tracker-cli works
Task Tracker is a standard-library CLI for creating, editing, deleting, marking, and filtering tasks. The workflow starts with a command parsed in main.py, passes through the controller and service, and reaches JSON-backed persistence through the repository. The service validates descriptions, timestamps tasks, and applies statuses. The README describes tasks.json, but the sampled storage code constructs data/tasks.json under the current working directory; that implementation detail is reflected below. The graph is based on the README and sampled source; unsampled modules are not inferred.
Main entry points: task_controller.py Task controller · task_service.py Task service · main.py Command parser · task_repository.py Task repository
Components 8
CLI
- Command parser
main.py - Task controller
controllers/task_controller.py
Task operations
- Task service
services/task_service.py - Task statuses
enums/task_enum.py
Persistence
- Task repository
repositories/task_repository.py - JSON data access
config/data_config.py - Task JSON file
Other components
- User
Connections 9
- User → Command parser: runs commands
README.md - Command parser → Task controller: dispatches commands
main.py - Task controller → Task service: calls operations
controllers/task_controller.py - Task controller → Task statuses: filters by status
controllers/task_controller.py - Task controller → User: prints results
controllers/task_controller.py - Task service → Task repository: delegates data access
services/task_service.py - Task service → Task statuses: sets task status
services/task_service.py - Task repository → JSON data access: calls data access
repositories/task_repository.py - JSON data access → Task JSON file: reads and writes
config/data_config.py