Skip to content

velkarthik84-cloud/python-task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python CLI Task Manager

A menu-driven command-line application to manage personal tasks, built using Python. This project demonstrates file handling, object-oriented programming, and clean project structure. Assignment 1A — Deckzi Software Developer Pre-Recruitment Program — Section 1.

Features

  • Add tasks with title and due date
  • View all tasks in a structured format
  • Mark tasks as complete
  • Search tasks by keyword
  • Delete tasks by ID
  • Persistent storage using tasks.json

Project Structure

python-task-manager/ ├── src/ │ ├── task.py # Task class definition │ ├── task_manager.py # Core business logic │ ├── file_handler.py # JSON read/write │ └── validator.py # Input validation ├── data/ │ └── tasks.json # Auto-generated task storage ├── main.py # Entry point and menu ├── .env # Environment variables (not committed) ├── .env.example # Example environment variables ├── requirements.txt # Dependencies └── README.md

Setup Instructions

1. Clone the repository

git clone cd python-task-manager

2. Create Virtual Environment

python -m venv venv

3. Activate Virtual Environment

Windows:

venv\Scripts\activate

Mac/Linux:

source venv/bin/activate

4. Install Dependencies

pip install -r requirements.txt

5. Set Up Environment Variables

Windows:

copy .env.example .env

Mac/Linux:

cp .env.example .env

6. Run the Application

python main.py

How It Works

  • Tasks are stored in data/tasks.json

  • Each task contains:

    • ID
    • Title
    • Due Date
    • Status (pending/done)
    • Created Timestamp
  • Data is automatically loaded on startup and saved after every change

Example Usage

  1. Add Task
  2. View Tasks
  3. Mark Task Complete
  4. Search Task
  5. Delete Task
  6. Exit

Important Notes

  • Ensure the virtual environment is activated before running
  • Do not delete tasks.json while the application is running
  • All dependencies must be installed using requirements.txt

Future Improvements

  • Add task priority levels
  • Add reminders and notifications
  • Convert CLI to web application (FastAPI + Angular)
  • Add database support (MySQL / MongoDB)

Author

Mr.U.VELKARTHIK., BCA


License

This project is created for learning and internship evaluation purposes.

About

Python CLI Task Manager - Assignment 1A

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages