Skip to main content

Simple task tracker CLI program to manage your tasks

Project description

Task Tracker CLI

This is a simple command-line interface (CLI) application for managing tasks. It was built as part of the roadmap.sh Task Tracker project to practice and familiarize myself with Python, developing skills such as efficient handling of lists, lambdas, dictionaries, argparser, dates, reading/writing files and working with the json module.

Features

The application allows users to manage tasks through terminal commands. Tasks are stored in a JSON file, and the following actions can be performed:

  • Add, update, and delete tasks.
  • Mark a task as "in progress", "done", or "todo".
  • List all tasks.
  • List tasks by status (pending, in progress, or completed).

Requirements

  • Python

  • Pip

Installation

To install and run the Task Tracker CLI, follow these steps:

  1. Clone the repository:

    git clone https://github.com/ehdlg/task-tracker
    cd task-tracker
    
  2. Intall the required packages with Pip:

    pip install -r requirements.txt
    
  3. Run the program:

    python main.py
    

Commands

The application accepts several commands to interact with the tasks:

    add <description>           Add a new task.
    delete <id>                 Delete an existing task.
    update <id> <description>   Update an existing task.
    mark-in-progress <id>       Mark the task as 'in progress'.
    mark-done <id>              Mark the task as 'done'.
    mark-todo <id>              Mark the task as 'todo'.
    list [filter]               List the tasks in a table.

options:
  -h, --help            Show the help message and exit.

Usage Examples

  1. Add a new task:

      python main.py add "Study Python"
    
  2. Update a task:

      python main.py update 1 "Study advanced Python"
    
  3. Delete a task:

      python main.py delete 1
    
  4. Mark a task as 'in progress':

      python main.py mark-in-progress 1
    
  5. Mark a task as 'done':

      python main.py mark-done 1
    
  6. Mark a task as 'todo':

      python main.py mark-todo 1
    
  7. List all tasks:

      python main.py list
    
  8. List done tasks:

      python main.py list done
    

Learnings

This project has allowed me to gain fluency in Python by working with:

  • Efficient handling of lists and lambdas.
  • Using dictionaries to manage tasks and their statuses
  • Installing and using packages from the standard library.
  • Reading and writing JSON files to persist using the json module.
  • Using the argparse module to process command-line arguments.
  • Handling dates to add timestamps to tasks.

Objectives

The goal of this project is to continue improving my Python skills, deepening my understanding of the language, and familiarizing myself with developing CLI applications that interact with files and handle terminal arguments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tasktracker_ehdlg-1.0.1.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tasktracker_ehdlg-1.0.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file tasktracker_ehdlg-1.0.1.tar.gz.

File metadata

  • Download URL: tasktracker_ehdlg-1.0.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.6

File hashes

Hashes for tasktracker_ehdlg-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1654d9c87a24ec1faca6a503862779cab115b6084a6f80128ea067002a40e960
MD5 7c6adde4e0e02c4d4d7486f30a01238f
BLAKE2b-256 7eae8c7743997ec91ac55041845a297f9cbf1a9dcd93778e66a1b2c416ee6f61

See more details on using hashes here.

File details

Details for the file tasktracker_ehdlg-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: tasktracker_ehdlg-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.6

File hashes

Hashes for tasktracker_ehdlg-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bdba8a753d40b75ba4027d3d2fd8c0b38ca89bf6fcaed5d7448896bf0c4afc28
MD5 bac36654689626a506d2e31386bfe6eb
BLAKE2b-256 cb6dbe82848cdf095749b41b921737e7ced08c5d2a430e3ba7c5114d08537233

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page