How thula-w/taskflow works
TaskFlow is a task-management HTTP API backed by PostgreSQL. Its main workflow routes client requests through Express to validated task operations and returns database-backed responses; startup initializes the schema before accepting traffic. The repository also contains AWS infrastructure definitions, Ansible host configuration, and an SNS-triggered ECS task-size scaler. Those deployment files were not sampled, so their internal wiring is not asserted here.
Main entry points: db/index.ts Database pool · taskController.ts Task controller · src/index.ts Application startup · app.ts Express app
Components 27
Task API
- Application startup
app/src/index.ts - Express app
app/src/app.ts - Task routes
app/src/routes/taskRoutes.ts - Task controller
app/src/controllers/taskController.ts - Runtime config
app/src/config/index.ts
Task data
- Task validation
app/src/types/task.ts - Database pool
app/src/db/index.ts - PostgreSQL
AWS infrastructure
- Production Terraform
terraform/envs/prod - Load balancer module
terraform/modules/alb - ECS module
terraform/modules/ecs - RDS module
terraform/modules/rds - IAM module
terraform/modules/iam - VPC module
terraform/modules/vpc - Security module
terraform/modules/security - Scaling module
terraform/modules/scaling
Operations
- Application logger
app/src/utils/logger.ts - ECS scaler
terraform/modules/scaling/lambda/scale_handler.py - Ansible site config
ansible/site.yml - CloudWatch role
ansible/roles/cloudwatch - Ansible ECS role
ansible/roles/ecs - Docker role
ansible/roles/docker - Common role
ansible/roles/common - Ansible security role
ansible/roles/security
Other components
- API client
- SNS alarm event
- Amazon ECS
Connections 14
- API client → Express app: sends HTTP
- Application startup → Runtime config: reads settings
- Application startup → Database pool: initializes schema
- Application startup → Express app: starts server
- Express app → Task routes: mounts routes
- Task routes → Task controller: dispatches requests
- Task controller → Task validation: validates input
- Task controller → Database pool: queries tasks
- Database pool → Runtime config: reads connection
- Database pool → PostgreSQL: queries
- Task controller → Application logger: logs errors
- Database pool → Application logger: logs errors
- SNS alarm event → ECS scaler: delivers alarm
- ECS scaler → Amazon ECS: reads and updates service