Todo App - Full-Stack with AWS Deployment
Educational full-stack application demonstrating React TypeScript frontend, FastAPI backend, JWT authentication, PostgreSQL database, Docker containerization, and AWS ECS deployment with Terraform IaC.

π§ Overview
A full-stack Todo application demonstrating modern web development and cloud deployment. The project includes React TypeScript frontend, Python FastAPI backend, JWT authentication, PostgreSQL database, and complete AWS ECS deployment using Terraform.
Todo App is an educational project built with React + TypeScript + Vite, FastAPI, and PostgreSQL. The codebase includes local development with Docker Compose, Kubernetes manifests, custom Kubernetes operator (Go), and Infrastructure as Code with Terraform for AWS deployment.
Topics covered:
- π₯οΈ Frontend β React 18 with TypeScript, Vite, Tailwind CSS
- π§ Backend β FastAPI with SQLAlchemy ORM
- π Authentication β JWT-based user authentication
- π³ Containerization β Docker and Docker Compose
- βΈοΈ Kubernetes β Manifests and custom operator in Go
- π©οΈ Cloud Deployment β AWS ECS with Terraform IaC
π Key Features
- Modern Frontend Stack β React 18, TypeScript, Vite, Tailwind CSS
- FastAPI Backend β Python async framework with SQLAlchemy
- JWT Authentication β Secure user signup, login, and session management
- Database Flexibility β PostgreSQL for production, SQLite for development
- Docker Compose β Complete local development environment
- Kubernetes Support β Deployment manifests and custom operator (Go)
- Terraform IaC β AWS infrastructure automation
- AWS ECS Deployment β Production-ready container orchestration
βοΈ How It Works
docker-compose up --build
Access frontend at http://localhost:3000, API docs at http://localhost:5000/docs
π¬ Quick Start
git clone https://github.com/pandaind/todo-app.git
cd todo-app
cp .env.example .env
docker-compose up --build
Access app at http://localhost:3000
π Topics Covered
- π οΈ Full-Stack Development β React frontend communicating with FastAPI backend
- π Modern Frontend β TypeScript, Vite build tool, Tailwind CSS styling
- π REST API Design β FastAPI with automatic OpenAPI documentation
- π Database ORM β SQLAlchemy with PostgreSQL and SQLite support
- π‘ Authentication β JWT token-based authentication flow
- π³ Containerization β Multi-container Docker setup
- βΈοΈ Kubernetes β Deployment manifests and custom operator in Go
- π©οΈ Cloud Infrastructure β Terraform for AWS ECS deployment
π§ Potential Extensions
Areas for experimentation:
- Add todo categories and tags
- Implement real-time updates with WebSockets
- Add user profile management
- Create todo sharing between users
- Implement CI/CD pipeline with GitHub Actions
- Add monitoring with Prometheus/Grafana
- Implement caching with Redis
- Add end-to-end tests with Playwright
π€ Contributing
This is a learning project. You can:
- Study the full-stack architecture patterns
- Fork and experiment with new features
- Try different deployment strategies
- Add documentation or examples
- Submit improvements via pull requests