Skip to main content

A console-based task management application

Project description

Console Task Manager

A console-based task management application built with Python.

Prerequisites

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd Phase_01
    
  2. Install dependencies with UV:

    uv sync
    

Running the Application

uv run python -m src.main

First Run

  1. When prompted, enter your username (alphanumeric, e.g., "alice"):

    Welcome to Task Manager!
    Enter your username: alice
    
  2. The main menu will appear:

    === Task Manager (alice) ===
    1. Add Task
    2. View All Tasks
    3. Update Task
    4. Delete Task
    5. Change Task Status
    6. Exit
    
    Enter choice (1-6):
    

Basic Operations

Add a Task

Enter choice (1-6): 1
Enter task title: Buy groceries
Enter task description (optional): Milk, eggs, bread

Task 1 created successfully.

View All Tasks

Enter choice (1-6): 2

=== Your Tasks ===
[1] Buy groceries
    Description: Milk, eggs, bread
    Status: incomplete
---

Update a Task

Enter choice (1-6): 3
Enter task ID to update: 1
Enter new title (press Enter to keep current): Get groceries
Enter new description (press Enter to keep current):

Task 1 updated successfully.

Delete a Task

Enter choice (1-6): 4
Enter task ID to delete: 1

Task 1 deleted successfully.

Change Task Status

Enter choice (1-6): 5
Enter task ID: 1
Select new status:
  1. incomplete
  2. inProcessing
  3. complete
Enter choice (1-3): 3

Task 1 marked as complete.

Exit

Enter choice (1-6): 6

Goodbye!

Data Storage

Your tasks are stored in db/user_{username}.json. For example:

  • User "alice" -> db/user_alice.json
  • User "bob" -> db/user_bob.json

Tasks persist across sessions. Restart the app and log in with the same username to see your saved tasks.

Troubleshooting

"Invalid choice" error

Enter a number 1-6 corresponding to the menu options.

"Task not found" error

Use "View All Tasks" (option 2) to see valid task IDs.

"Title cannot be empty" error

Task titles are required. Enter at least one character.

Data file issues

If db/user_{username}.json is corrupted, delete it and restart. A fresh empty task list will be created.

Running Tests

uv run pytest

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

mesumali_console_task_manager-1.0.0.tar.gz (626.7 kB view details)

Uploaded Source

Built Distribution

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

mesumali_console_task_manager-1.0.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file mesumali_console_task_manager-1.0.0.tar.gz.

File metadata

File hashes

Hashes for mesumali_console_task_manager-1.0.0.tar.gz
Algorithm Hash digest
SHA256 39304b8d0fd5edd4b839f9c56fe0a0da6e915d84d9cf555dddff45172b8568e1
MD5 8076580cae481cf84e0c9fe62b4ae0e8
BLAKE2b-256 4e4eea9dc334e0a5eae73af9ffe10ff0cae39051bee635aad62f773295f3c616

See more details on using hashes here.

File details

Details for the file mesumali_console_task_manager-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mesumali_console_task_manager-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f60cd167e995fb340bf30f73521849e332d81802c67079bbd79326ccfbfcac3
MD5 69908d025aa23af98e19c8995ee8d1f8
BLAKE2b-256 678304a4c470227aefa4017d99dbd04c8fd3d2dbf815408f31160f36f05e133c

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