This simple command-line (CLI) task management system is implemented in Python.
The application should allow users to do the following:
- Add a new task
- Complete a task
- List all tasks (with an option to show only incomplete tasks)
- Generate a report of task statistics, which should include:
- Total number of tasks
- Number of completed tasks
- Number of pending tasks
- Average time taken to complete a task
- The application must persist user data across sessions, ensuring that all information remains intact and accessible upon returning, without resetting or losing any previously entered tasks
- Ensure you have Python 3.7 or higher installed on your system.
- Clone this repository to your local machine.
- Navigate to the project directory in your terminal.
- Install Poetry if you don't have it installed:
curl -sSL https://install.python-poetry.org | python3 -
- Install dependencies
poetry install
- Running the application
poetry run python main.py
To run all the unit tests, use the following command:
python -m unittest discover tests
Commands for CLI tool
- poetry run python main.py add --title "New Task" --description "Task description" (add a task using title and description. both are required)
- poetry run python main.py list (all tasks)
- poetry run python main.py list --incomplete (only incomplete tasks)
- poetry run python main.py complete id (complete task by Id. Id is required)