Tasksu is a simple command-line interface (CLI) task management application. It allows the user to add, update, list, and delete tasks and save all data to a JSON file.
This project was built while following the python roadmap: https://roadmap.sh/projects/task-tracker
Built on: Python3 - 3.11.9 Mac
add TITLE DESCRIPTION: Add a new taskdelete UID: Delete a tasklist: Lists all tasks- Options:
-s, --status TEXT: Filter tasks by status: todo, in-progress, done
- Options:
mark STATUS UID: Mark a task with an updated statusupdate UID TITLE: Update the title or description of task- Options:
-d, --description TEXT: Updates the task description
- Options:
pip3 install git+https://github.com/zephyr834/tasksuImages are available under zephyr8345/tasksu
-
Add a task
$ tasksu add "Pet a cat" "Petting the feline friend" $ tasksu list | UID | Title | Description | Status | Created At | Updated At | | 1 | Pet a cat | Petting the feline friend | todo | October 02, 2024 03:51 PM | October 02, 2024 03:51 PM |
-
Update a task
$ tasksu update 1 "Pet a dog" -d "Dogs are better." $ tasksu list | UID | Title | Description | Status | Created At | Updated At | | 1 | Pet a dog | Dogs are better. | todo | October 02, 2024 03:51 PM | October 02, 2024 03:57 PM |
-
Mark a task in-progress
$ tasksu mark in-progress 1 $ tasksu list | UID | Title | Description | Status | Created At | Updated At | | 1 | Pet a dog | Dogs are better. | in-progress | October 02, 2024 03:51 PM | October 02, 2024 03:58 PM |
-
Mark a task done
$ tasksu mark done 1 $ tasksu list | UID | Title | Description | Status | Created At | Updated At | | 1 | Pet a dog | Dogs are better. | done | October 02, 2024 03:51 PM | October 02, 2024 03:59 PM |
-
List all tasks
$ tasksu list | UID | Title | Description | Status | Created At | Updated At | | 1 | Pet a dog | Dogs are better. | in-progress | October 02, 2024 03:51 PM | October 02, 2024 03:57 PM | | 2 | Pet a cat again | I like cats | todo | October 02, 2024 04:17 PM | October 02, 2024 04:17 PM |
-
List all tasks filtered by status
$ tasksu list -s todo | UID | Title | Description | Status | Created At | Updated At | | 2 | Pet a cat again | I like cats | todo | October 02, 2024 04:17 PM | October 02, 2024 04:17 PM |
-
Delete a task
$ tasksu delete 1 $ tasksu list | UID | Title | Description | Status | Created At | Updated At | | 2 | Pet a cat again | I like cats | todo | October 02, 2024 04:17 PM | October 02, 2024 04:17 PM |
The following steps are for cloning, modifying, testing the code.
- Clone
git clone git@github.com:zephyr834/tasksu.git
cd tasksu- Setup virtual env
python3 -m venv venv
Unix:
source ./venv/bin/activate
Windows Git Bash:
source venv/Scripts/activate- Install Requirements
pip3 install -r requirements.txt- Run CLI
python3 app/main.py [OPTIONS] COMMAND [ARGS]- Run tests
pytest- Debugging If running the tests creates a "ModuleNotFoundError", run the following command in your virtual env.
export PYTHONPATH=$PYTHONPATH:$(pwd)/app