A full-stack Todo application built with an Angular frontend and a FastAPI backend.
This repository contains two main apps:
todo-backend/— FastAPI service exposing a simple TODO REST API.todo-frontend/— Angular application that consumes the backend API.
- Backend: Python + FastAPI + Pydantic.
- Frontend: Angular 22 with server-side rendering support.
- Data store: in-memory dictionary for development and testing.
- API base path:
/api/todos.
todo-backend/app.py— FastAPI app and startup entry point.main.py— exports the app object for import and deployment.
todo-frontend/package.json— Angular CLI scripts and dependencies.src/— Angular application source code.
- Change to the backend folder:
cd todo-backend- Install Python dependencies (example):
python -m pip install fastapi uvicorn pydantic- Start the API server:
python app.py- Open the API in the browser or via curl:
http://127.0.0.1:8000/api/todos- Change to the frontend folder:
cd todo-frontend- Install Node dependencies:
npm install- Start the Angular dev server:
npm start- Open the app in the browser:
http://localhost:4200The frontend is configured to interact with the backend API running on
http://127.0.0.1:8000.
From todo-frontend/:
npm start— run the development server.npm run build— build the production bundle.npm test— run Angular unit tests.npm run watch— build in watch mode.
- The backend stores todos in memory, so data is not persisted between restarts.
- Use the frontend and backend together for local development.
- See
todo-frontend/README.mdfor additional frontend-specific instructions.
This repository is available under the license defined in LICENSE.