Overview
Establish a structured roadmap for evolving the current C++ task manager into a maintainable, testable, and extensible task management application.
Goals
- Strengthen the task domain model and business rules.
- Separate presentation, application logic, domain logic, and persistence concerns.
- Improve task lifecycle operations and validation.
- Make persistence reliable and extensible.
- Expand automated test coverage.
- Improve usability, error handling, and documentation.
- Keep the project portable and straightforward to build with CMake.
Workstreams
1. Domain & Architecture
- Refine
Task and TaskManager responsibilities.
- Separate task data, business operations, persistence, and user interaction where appropriate.
- Introduce clear interfaces between presentation and application/business layers.
2. Task Lifecycle & Features
- Create, update, complete, delete, and list tasks consistently.
- Add validation for task identifiers and required fields.
- Support useful task attributes such as priority, status, and due dates where appropriate.
3. Persistence
- Formalize loading and saving task data.
- Handle malformed or missing persistence data safely.
- Keep persistence implementation replaceable without coupling it to the UI.
4. Testing & Quality
- Expand unit tests around task behavior and manager operations.
- Add coverage for validation, persistence boundaries, and failure paths.
- Keep builds reproducible through CMake without introducing GitHub Actions.
5. User Experience
- Improve console navigation and command flow.
- Provide clear success and error messages.
- Handle invalid input without terminating unexpectedly.
6. Documentation
- Keep README documentation aligned with the actual implementation.
- Document architecture, build instructions, supported functionality, and future work.
- Maintain the existing documentation structure as the project grows.
Phase Status
Definition of Done
- Responsibilities are clearly separated and maintainable.
- Core task operations have predictable behavior and validation.
- Persistence is reliable and decoupled from presentation logic.
- Important behavior is covered by automated tests.
- The application remains buildable with the existing CMake workflow.
- Documentation reflects implemented functionality and explicitly identifies TBD work.
- No GitHub Actions are introduced; deployment/build execution remains manual.
Collaboration
This epic is assigned to aaqib-hafeez-khan-in and shruticparmar for shared ownership and implementation.
Workflow
Phase → Issue → implementation PR against main → request shruticparmar → self-review as a normal COMMENT → merge → update Epic.
Scope
Changes should remain focused on the task manager roadmap. Individual child issues should use focused PRs and avoid unrelated refactoring.
Overview
Establish a structured roadmap for evolving the current C++ task manager into a maintainable, testable, and extensible task management application.
Goals
Workstreams
1. Domain & Architecture
TaskandTaskManagerresponsibilities.2. Task Lifecycle & Features
3. Persistence
4. Testing & Quality
5. User Experience
6. Documentation
Phase Status
Definition of Done
Collaboration
This epic is assigned to aaqib-hafeez-khan-in and shruticparmar for shared ownership and implementation.
Workflow
Phase → Issue → implementation PR against
main→ requestshruticparmar→ self-review as a normal COMMENT → merge → update Epic.Scope
Changes should remain focused on the task manager roadmap. Individual child issues should use focused PRs and avoid unrelated refactoring.