Developed by: Mavromatis, Nikolaos
A CLI application to easily track tasks you're working on.
In a terminal, navigate to the directory where you want to clone this repository.
cd path/to/folder
Clone this repository.
git clone https://github.com/nikolaos-mavromatis/task-tracker.git
Move into the newly created directory, create a virtual environment and install required packages.
cd task-tracker
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
You can start issuing commands to the task tracker. For example, to start a coding task:
python3 cli.py start coding
For an overview of the available commands, run the following – see also image below.
python3 cli.py --help
The user must be able to...
- start a task with a specific tag.
- pause/resume a task that is in progress.
- mark a task as finished.
- abort a task, i.e., abandon the task in progress.
- view the status of the task tracker.
- view last N number of tasks that were worked on.
- view a breakdown of the tasks worked on on a specific date.
- reset timer of current task.
- switch through tasks seamlessly, i.e., not having to explicitly finish one task in order to start another.
- define new tags for tasks.
The app must...
- save completed tasks in a local database.
- keep track of total time of active work spent on a single task.
- have a set of predefined tags for task types.
- print useful messages when the user:
- tries to interact with a task when there is no task running.
- starts a task with a new tag.
- starts a task with the same tag as the current task.
- pauses the tracker when a task is already paused.
- resumes the tracker when there is no paused task.