How abhignadumpala/task-tracker-3tier-devops works
Task Tracker is a three-tier task-management app: a browser loads the React UI, which lists, creates, updates, and deletes tasks through a FastAPI API backed by PostgreSQL. The README also documents Kubernetes deployment and a CI/CD pipeline. Application behavior is grounded in sampled source; deployment and pipeline links use README descriptions and the repository tree, since those implementation files were not sampled.
Main entry points: main.py FastAPI routes · postgres-deployment.yaml Postgres deployment · nginx.conf Nginx proxy · ci-cd.yml GitHub Actions
Components 20
Web client
- React entry
frontend/src/main.jsx - Task interface
frontend/src/App.jsx - Nginx proxy
frontend/nginx.conf
Task API
- FastAPI routes
backend/app/main.py - Task schemas
backend/app/schemas.py
Persistence
- Task model
backend/app/models.py - DB sessions
backend/app/database.py - PostgreSQL
Platform delivery
- Frontend NodePort
k8s/frontend-service.yaml - Frontend deployment
k8s/frontend-deployment.yaml - Backend service
k8s/backend-service.yaml - Backend deployment
k8s/backend-deployment.yaml - Postgres service
k8s/postgres-service.yaml - Postgres deployment
k8s/postgres-deployment.yaml - Postgres volume
k8s/postgres-pvc.yaml - Postgres credentials
k8s/postgres-secret.yaml - GitHub Actions
.github/workflows/ci-cd.yml
Other components
- User browser
- Docker Hub
- Kubernetes cluster
Connections 19
- User browser → Frontend NodePort: opens app
- Frontend NodePort → Frontend deployment: routes traffic
- Frontend deployment → Nginx proxy: serves app
- Nginx proxy → React entry: serves bundle
- React entry → Task interface: renders
- Task interface → Nginx proxy: requests /api
- Nginx proxy → Backend service: proxies API
- Backend service → Backend deployment: routes traffic
- Backend deployment → FastAPI routes: runs API
- FastAPI routes → Task schemas: validates data
- FastAPI routes → Task model: queries tasks
- FastAPI routes → DB sessions: gets sessions
- DB sessions → Postgres service: connects to
- Postgres service → Postgres deployment: routes connection
- Postgres deployment → PostgreSQL: stores tasks
- Postgres deployment → Postgres volume: uses volume
- Postgres deployment → Postgres credentials: loads credentials
- GitHub Actions → Docker Hub: publishes images
- GitHub Actions → Kubernetes cluster: deploys app