Skip to content

An AI-native task management application designed to transform conventional to-do list systems into intelligent, agentic work tracking solutions

Notifications You must be signed in to change notification settings

DanielHashmi/LifeStepsAI

Repository files navigation

LifeStepsAI | Console Task Manager

A simple, menu-driven console application for managing tasks with in-memory storage. This application allows users to add, view, update, mark as complete, and delete tasks through an interactive menu interface.

Features

  • Add Tasks: Create new tasks with titles and optional descriptions
  • View Task List: Display all tasks with ID, title, and completion status
  • Update Tasks: Modify existing task titles or descriptions
  • Mark Complete: Toggle task completion status (Complete/Incomplete)
  • Delete Tasks: Remove tasks from the system
  • In-Memory Storage: All data is stored in memory (no persistent storage)
  • Input Validation: Comprehensive validation for all user inputs

Requirements

  • Python 3.11 or higher

Installation

  1. Clone the repository
  2. Navigate to the project directory
  3. No additional dependencies required (uses Python standard library only)

Usage

To run the application:

python -m src.cli.console_app

Menu Options

Once the application starts, you'll see the main menu with the following options:

  1. Add Task: Create a new task with a title (required) and optional description
  2. View Task List: Display all tasks with their ID, title, and completion status
  3. Update Task: Modify an existing task's title or description
  4. Mark Task as Complete: Toggle a task's completion status by its ID
  5. Delete Task: Remove a task from the system by its ID
  6. Exit: Quit the application

Task Validation

  • Task titles must be between 1-100 characters
  • Task descriptions can be up to 500 characters (optional)
  • Task IDs are assigned sequentially and never reused after deletion
  • All inputs are validated to prevent errors

Project Structure

src/
├── models/
│   └── task.py          # Task entity with validation
├── services/
│   └── task_manager.py  # Core business logic for task operations
├── cli/
│   └── console_app.py   # Menu-driven console interface
└── lib/
    └── exceptions.py    # Custom exceptions for error handling

tests/
├── unit/
│   ├── test_task.py
│   ├── test_task_manager.py
│   └── test_console_app.py
└── integration/
    └── test_end_to_end.py

Testing

To run the tests:

python -m pytest tests/

The application includes comprehensive unit and integration tests with 100% coverage.

Notes

  • All data is stored in memory only - tasks are lost when the application exits
  • Task IDs are never reused and continue incrementing even after deletion
  • The application validates all inputs according to the defined constraints
  • Error messages will be displayed for invalid operations

License

This project is licensed under the MIT License.

About

An AI-native task management application designed to transform conventional to-do list systems into intelligent, agentic work tracking solutions

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published