TaskFlow Runtime Architecture

TaskFlow Runtime Architecture An architecture diagram generated by Archify. Users · Browser · Architecture component Users Browser React Frontend · Vite :5173 · Architecture component React Frontend Vite :5173 TaskFlow API · Spring Boot :8081 · Docker network: docs_default › Tenant isolation: X-API-Key TaskFlow API Spring Boot :8081 RabbitMQ · queue :5672 · Docker network: docs_default RabbitMQ queue :5672 MinIO · S3 inputs results · Docker network: docs_default › Tenant isolation: X-API-Key MinIO S3 inputs results PostgreSQL · jobs :5433 · Docker network: docs_default › Tenant isolation: X-API-Key PostgreSQL jobs :5433 TaskFlow Worker · report jobs · Docker network: docs_default › Tenant isolation: X-API-Key TaskFlow Worker report jobs Grafana · dashboards :3000 · Docker network: docs_default Grafana dashboards :3000 Prometheus · scrape :9090 · Docker network: docs_default Prometheus scrape :9090 pgAdmin · db inspect :5050 · Docker network: docs_default pgAdmin db inspect :5050 HTTPS X-API-Key save + poll job.created put CSV deliver atomic claim CSV plus PDF scrape scrape PromQL Docker network: docs_default Tenant isolation: X-API-Key Legend Frontend Backend Database Cloud Message bus External

Edge

  • • React Vite on :5173, API at 127.0.0.1:8081
  • • Upload CSV, submit GENERATE_MONTHLY_REPORT, poll status

Application

  • • API accepts fast, 202 + jobId, publishes job.created
  • • Worker atomic claim QUEUED to PROCESSING, renders CSV and PDF
  • • RabbitMQ competing consumers, ACK only after durable save

Data and security

  • • Tenant id from API key, never request body
  • • Postgres unique tenant plus key, MinIO tenant scoped paths
  • • Prometheus :9090 scrapes actuator, Grafana :3000 TaskFlow Overview