Skip to content

A Task Manager CLI application written in Python utilizing the Click library.

License

Notifications You must be signed in to change notification settings

zephyr834/tasksu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tasksu: A CLI Application to manage tasks.

Description:

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

Commands

  • add TITLE DESCRIPTION : Add a new task
  • delete UID : Delete a task
  • list : Lists all tasks
    • Options:
      • -s, --status TEXT : Filter tasks by status: todo, in-progress, done
  • mark STATUS UID : Mark a task with an updated status
  • update UID TITLE : Update the title or description of task
    • Options:
      • -d, --description TEXT : Updates the task description

Install

pip3 install git+https://github.com/zephyr834/tasksu

Docker

Images are available under zephyr8345/tasksu

Usage:

  • 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   |

Setup source code

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

About

A Task Manager CLI application written in Python utilizing the Click library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published