Skip to content

a simple todo app with fastapi and in-memory storage#19

Open
rnagulapalle wants to merge 3 commits intomainfrom
phalanx/run-00c34d11
Open

a simple todo app with fastapi and in-memory storage#19
rnagulapalle wants to merge 3 commits intomainfrom
phalanx/run-00c34d11

Conversation

@rnagulapalle
Copy link
Copy Markdown
Contributor

Summary

A lightweight Todo CRUD API built with FastAPI and in-memory storage. The app supports creating, reading, updating, and deleting todo items with Pydantic-validated models and ships with seed demo data for immediate exploration. No external database is required.

Changes

  • docs: Created PLANNING.md documenting full architecture: data models, API endpoints, storage approach, and project structure
  • feat: Implemented Pydantic models (TodoCreate, TodoUpdate, TodoResponse) in app/models.py for request/response validation
  • feat: Implemented in-memory TodoStorage class in app/storage.py with full CRUD operations and auto-incrementing IDs
  • feat: Created Todo CRUD router in app/routes.py with five endpoints: list all, get by ID, create, update, and delete
  • feat: Registered router in app/main.py as the FastAPI application entry point
  • feat: Added seed demo data to storage for immediate out-of-the-box exploration
  • docs: Created RUNNING.md with install and run instructions
  • test: Comprehensive test suite covering all CRUD operations, edge cases, and validation scenarios

Testing

Comprehensive unit tests cover all storage CRUD operations and API route endpoints, including edge cases such as not-found responses, partial updates, and input validation. Tests can be run via pytest.

Running Locally

docker build -t todo-app .
docker run -p 8000:8000 todo-app
open http://localhost:8000/docs to explore the interactive API documentation

URL: http://localhost:8000


🤖 Generated by FORGE | Run: 00c34d11-e23f-4b73-ae03-09ecd687134d | View run | Branch: phalanx/run-00c34d11

FORGE added 3 commits April 7, 2026 20:20
Run: 00c34d11-e23f-4b73-ae03-09ecd687134d
Task: 53a26fa6-2d82-4262-a56f-874c4841c893
Agent: builder
Run: 00c34d11-e23f-4b73-ae03-09ecd687134d
Task: a4899826-7aa4-4586-a213-6fedaf4bf0f5
Agent: builder
Run: 00c34d11-e23f-4b73-ae03-09ecd687134d
Task: 3a19180a-2779-4abf-9059-de729e741296
Agent: builder
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant