Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phase I: In-Memory Todo Console App

A command-line Todo application built as Phase I of Hackathon II: The Evolution of Todo.

Overview

This is a Python-based console application that provides basic task management functionality. All tasks are stored in memory and reset when the program exits.

Features

  1. Add Task - Create new todo items with title and optional description
  2. View Task List - Display all tasks with ID, title, and completion status
  3. Update Task - Modify existing task title and/or description
  4. Delete Task - Remove tasks from the list
  5. Toggle Complete - Mark tasks as complete or incomplete

Requirements

  • Python 3.13+
  • UV package manager

Setup

  1. Clone the repository:
git clone <repository-url>
cd Python-Console-App
  1. Install UV (if not already installed):
pip install uv
  1. Create a virtual environment and install dependencies:
uv venv
uv pip install -e .

Usage

Run the application:

python -m todo.main

The application presents an interactive menu:

=== Todo Console App ===

1. Add Task
2. View Tasks
3. Update Task
4. Delete Task
5. Toggle Complete
6. Exit

Select an option (1-6):

Adding a Task

1. Add Task

Enter task title: Buy groceries
Enter task description (optional): Milk, eggs, bread

Viewing Tasks

2. View Tasks

ID | Title           | Description      | Status
---|-----------------|------------------|--------
1  | Buy groceries   | Milk, eggs, bread| Pending
2  | Walk the dog    |                  | Complete

Updating a Task

3. Update Task

Enter task ID to update: 1
Enter new title (press Enter to skip): Buy weekly groceries
Enter new description (optional): Milk, eggs, bread, fruits

Deleting a Task

4. Delete Task

Enter task ID to delete: 2
Task "Walk the dog" has been deleted.

Toggling Completion

5. Toggle Complete

Enter task ID to toggle: 1
Task "Buy weekly groceries" marked as complete.

Project Structure

/
├── constitution.md      # Governing rules and constraints
├── specs/
│   └── history/         # All specification iterations
├── src/
│   └── todo/            # Python source code
│       ├── __init__.py
│       ├── models.py    # Task data model
│       ├── cli.py       # Console interface
│       └── main.py      # Application entry point
├── README.md            # This file
└── CLAUDE.md            # Claude Code behavior instructions

Development

This project follows spec-driven development using Claude Code. See constitution.md and CLAUDE.md for development rules.

Important Notes

  • All data is in-memory - tasks are lost when the program exits
  • No database or file persistence in Phase I
  • No authentication - single-user application
  • This is Phase I of a multi-phase evolution into a full-stack, AI-powered system

Future Phases

  • Phase II: Full-stack web application
  • Phase III: AI chatbot interface
  • Phase IV: Kubernetes deployment
  • Phase V: Event-driven cloud-native system

License

Hackathon II Project - See project documentation for details.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages