221.1 Project brief
This section models the development of a simple Task Tracker app, designed using object-oriented principles and built through an agile, sprint-based process.
Purpose
The Task Tracker helps users organise and manage personal tasks via a command-line interface. It supports creating, viewing, and completing tasks using a simple, text-based workflow. The application prioritises clean object-oriented design that can be refined and extended over time.
Intended audience
The app is designed for individual users who prefer or are comfortable with command-line interfaces. It assumes users can respond to text-based prompts and type simple commands. No GUI or advanced configuration is required.
Core features (MVP)
The minimum viable product (MVP) will support the following functionality:
Create a new task with a title, description, and due date
Display a list of all tasks, showing completion status
Mark a task as completed or uncompleted
View detailed information about a selected task
Store multiple tasks in memory for the session
Planned extensions (future sprints)
These features are not required for Sprint 1 but may be added in later sprints:
Filter tasks by status or due date
Sort tasks alphabetically or by due date
Save tasks to a file and load them on startup
Add categories, tags, or priority levels
Constraints
Functional constraints:
No user authentication or multi-user support
Command-line interface only
No mouse or GUI interaction
Technical constraints:
All data stored in memory for MVP (no persistence)
Written in Python using the standard library only
Designed using object-oriented principles
Design approach
The application will use object-oriented design, with the following structure:
Each task will be represented as an instance of a
Task
classA separate class,
TaskManager
, will manage the list of tasks and provide methods for user operations (e.g. add, remove, display)The main script will act as the controller, handling user input and calling relevant methods
Agile development will guide the process, with short sprints, testing, and documentation integrated from the beginning
Last updated
Was this helpful?