Skip to content

retr0stack/task-manager-cli

Repository files navigation

📝 Task Manager CLI

A simple but professional command-line Task Manager built with Python, Typer, and pandas. This project was developed as part of my portfolio to apply for an internship.

🚀 Features

  • Add new tasks with title, description, priority, deadline
  • Show all tasks in a table
  • Mark tasks as done
  • Delete tasks and reassign IDs automatically
  • Search tasks by keyword in title/description
  • Edit any task field
  • Sort tasks by:
    • Priority (High → Medium → Low)
    • Due date (Earliest first)
  • Data persistence in JSON file

🛠️ Tech Stack

  • Python 3.9+
  • Typer → modern CLI framework
  • pandas → data storage & manipulation
  • JSON → persistence

📂 Project Structure

task_manager_cli/
│── main.py         # CLI commands (Typer)
│── models.py       # Task dataclass
│── storage.py      # Load/save JSON, normalize IDs
│── utils.py        # Constants & validation helpers
│── tasks.json      # Example dataset (with 10 tasks)
│── README.md       # Project description
│── requirements.txt

⚙️ Installation

pip install -r requirements.txt

▶️ Usage

python main.py --help

Example:

python main.py add --title "Homework" --description "Math pages 1-20" --priority high --due 2025-03-01
python main.py show-all
python main.py complete 2
python main.py delete 3
python main.py search "math"
python main.py edit 1 title "Updated Homework"
python main.py sort-priority
python main.py sort-due

👤 Author

Alexandr Chevychalov 📧 chevychalovalexandr@gmail.com

🌐 LinkedIn | GitHub

About

Task Manager CLI using Python, Typer, and pandas

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages