Skip to content

a simple todo app with a fastapi and in-memory storage like sqllite.#23

Open
rnagulapalle wants to merge 6 commits intomainfrom
phalanx/run-0d9ed07e
Open

a simple todo app with a fastapi and in-memory storage like sqllite.#23
rnagulapalle wants to merge 6 commits intomainfrom
phalanx/run-0d9ed07e

Conversation

@rnagulapalle
Copy link
Copy Markdown
Contributor

Summary

A new lightweight Todo application built with FastAPI and SQLite in-memory storage via SQLAlchemy. The app provides full CRUD functionality for managing todo items through a RESTful API, with automatic interactive documentation via Swagger UI. This is a greenfield deployment with no prior version.

Changes

  • feat: FastAPI application scaffold with CORS middleware and automatic startup table creation
  • feat: SQLAlchemy database layer with SQLite in-memory engine, session management, and Todo model (id, title, description, completed, created_at, updated_at)
  • feat: Pydantic request/response schemas: TodoBase, TodoCreate, TodoUpdate, and TodoResponse with proper validation and serialization
  • feat: CRUD operations module (app/crud.py) with get_todos, get_todo, create_todo, update_todo, and delete_todo functions
  • feat: REST API endpoints: GET /todos, GET /todos/{id}, POST /todos, PUT /todos/{id}, DELETE /todos/{id} with proper HTTP status codes and error handling
  • feat: Seed data script (seed_data.py) for populating sample todo items for development and testing
  • docs: PLANNING.md with full architecture documentation including data models, API contract, project structure, and technology choices
  • docs: RUNNING.md with Docker-based and local setup instructions
  • test: Comprehensive test suite covering app entry point, database models, CRUD operations, API endpoints, and seed data script

Testing

Comprehensive unit and integration tests were written covering all layers: database model creation, CRUD operations against in-memory SQLite sessions, API endpoint behavior via FastAPI TestClient (including success and error cases), and seed data script functionality. All tests use isolated in-memory database sessions.

Running Locally

docker build -t todo-app .
docker run -d -p 8000:8000 --name todo-app todo-app
open http://localhost:8000/docs to access the Swagger UI

URL: http://localhost:8000


🤖 Generated by FORGE | Run: 0d9ed07e-0b6d-498c-bd4a-5b64b9d6ea57 | View run | Branch: phalanx/run-0d9ed07e

FORGE added 6 commits April 8, 2026 18:59
Run: 0d9ed07e-0b6d-498c-bd4a-5b64b9d6ea57
Task: 5bb0232b-55a9-4af3-b59f-0136d5ef968d
Agent: builder
Run: 0d9ed07e-0b6d-498c-bd4a-5b64b9d6ea57
Task: c4be4ca0-538e-496c-b0de-4334ad81b466
Agent: builder
Run: 0d9ed07e-0b6d-498c-bd4a-5b64b9d6ea57
Task: 0d3fbd47-fd3c-4be8-8cc7-5f9e2bfe7db7
Agent: builder
Run: 0d9ed07e-0b6d-498c-bd4a-5b64b9d6ea57
Task: be3fc834-bf35-42e6-b72c-b0c51fb62cba
Agent: builder
Run: 0d9ed07e-0b6d-498c-bd4a-5b64b9d6ea57
Task: 2c9c48a5-e158-47c0-aaac-b66968f212df
Agent: builder
Run: 0d9ed07e-0b6d-498c-bd4a-5b64b9d6ea57
Task: b0b376bc-f234-423f-bc21-8eae8b459cfb
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