# chithrashree1470/project-workflow-monitoring-and-risk-evaluation architecture

> Architecture diagram of the GitHub repository chithrashree1470/project-workflow-monitoring-and-risk-evaluation, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation
- Repository: https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation

## Overview

InfraSync AI is a Flask project and task workflow application with predictive risk features. The main user journey is to submit project and team details, assess project risk, save the project, then manage tasks and review project status. The tree also shows a separate ML data-preparation and training effort. The README is empty, and several workflow and model files were not sampled, so their internal connections are shown conservatively.

Main entry points: [`app.py`](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/app.py) (Flask app), [`backend/routes/tasks.py`](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/tasks.py) (Task routes), [`ml/src/train_catboost.py`](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/ml/src/train_catboost.py) (Model training), [`backend/routes/task_risk.py`](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/task_risk.py) (Task risk routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web application"]
  node_app["Flask app<br/>[app.py]"]
  node_supabase_client["Supabase client<br/>[supabase_client.py]"]
end

subgraph group_project["Project workflow"]
  node_project_routes["Project routes<br/>[project.py]"]
  node_project_input["Project inputs<br/>[project_input.py]"]
  node_project_workflow["Project workflow"]
  node_project_risk["Project risk<br/>[project_risk.py]"]
  node_project_service["Project persistence<br/>[project_service.py]"]
  node_manager["Manager experience<br/>[manager.py]"]
  node_master_data["Master data<br/>[master_data.py]"]
  node_dashboard["Dashboard routes<br/>[dashboard.py]"]
  node_details["Project details<br/>[project_details.py]"]
end

subgraph group_task["Task workflow"]
  node_tasks["Task routes<br/>[tasks.py]"]
  node_task_risk_route["Task risk routes<br/>[task_risk.py]"]
  node_explain["Risk explanations<br/>[explainable_ai.py]"]
end

subgraph group_ml["Risk modeling"]
  node_dynamic_data["Dynamic dataset"]
  node_tawos_data["TAWOS snapshots"]
  node_feature_engineering["Feature engineering"]
  node_model_training["Model training<br/>[train_catboost.py]"]
  node_prediction_app["Standalone predictor<br/>[app.py]"]
end

node_user(("Project user"))
node_supabase[("Supabase")]

node_user -->|"submits requests"| node_app
node_app -->|"registers routes"| node_project_routes
node_app -->|"registers routes"| node_dashboard
node_app -->|"registers routes"| node_details
node_app -->|"registers routes"| node_tasks
node_app -->|"registers routes"| node_task_risk_route
node_app -->|"registers routes"| node_manager
node_app -->|"registers routes"| node_master_data
node_project_service -->|"uses client"| node_supabase_client
node_tasks -->|"reads and writes"| node_supabase
node_tasks -->|"imports predictor"| node_task_risk_route
node_dynamic_data -->|"prepares training data"| node_model_training
node_tawos_data -->|"prepares snapshots"| node_model_training
node_feature_engineering -->|"engineers features"| node_model_training
node_user -.->|"submits prediction"| node_prediction_app

click node_app "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/app.py"
click node_project_routes "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/project.py"
click node_project_input "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/services/project_input.py"
click node_project_workflow "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/services/project_workflow.py"
click node_project_risk "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/services/project_risk.py"
click node_project_service "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/services/project_service.py"
click node_manager "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/manager.py"
click node_master_data "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/master_data.py"
click node_dashboard "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/dashboard.py"
click node_details "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/project_details.py"
click node_tasks "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/tasks.py"
click node_task_risk_route "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/task_risk.py"
click node_explain "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/explainable_ai.py"
click node_supabase_client "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/supabase_client.py"
click node_dynamic_data "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/dataset/dynamic_training_dataset.py"
click node_tawos_data "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/tawos_ml/build_leakage_free_dataset_10.py"
click node_feature_engineering "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/ml/src/feature_engineering.py"
click node_model_training "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/ml/src/train_catboost.py"
click node_prediction_app "https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/ml/src/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_supabase_client,node_user toneBlue
class node_project_routes,node_project_input,node_project_workflow,node_project_risk,node_project_service,node_manager,node_master_data,node_dashboard,node_details,node_supabase toneAmber
class node_tasks,node_task_risk_route,node_explain toneMint
class node_dynamic_data,node_tawos_data,node_feature_engineering,node_model_training,node_prediction_app toneRose
```

## Components

### Web application

- [Flask app](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/app.py): `app.py`
- [Supabase client](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/supabase_client.py): `backend/supabase_client.py`

### Project workflow

- [Project routes](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/project.py): `backend/routes/project.py`
- [Project inputs](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/services/project_input.py): `backend/services/project_input.py`
- [Project workflow](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/services/project_workflow.py): `backend/services/project_workflow.py`
- [Project risk](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/services/project_risk.py): `backend/services/project_risk.py`
- [Project persistence](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/services/project_service.py): `backend/services/project_service.py`
- [Manager experience](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/manager.py): `backend/manager.py`
- [Master data](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/master_data.py): `backend/master_data.py`
- [Dashboard routes](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/dashboard.py): `backend/routes/dashboard.py`
- [Project details](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/project_details.py): `backend/routes/project_details.py`

### Task workflow

- [Task routes](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/tasks.py): `backend/routes/tasks.py`
- [Task risk routes](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/routes/task_risk.py): `backend/routes/task_risk.py`
- [Risk explanations](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/backend/explainable_ai.py): `backend/explainable_ai.py`

### Risk modeling

- [Dynamic dataset](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/dataset/dynamic_training_dataset.py): `dataset/dynamic_training_dataset.py`
- [TAWOS snapshots](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/tawos_ml/build_leakage_free_dataset_10.py): `tawos_ml/build_leakage_free_dataset_10.py`
- [Feature engineering](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/ml/src/feature_engineering.py): `ml/src/feature_engineering.py`
- [Model training](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/ml/src/train_catboost.py): `ml/src/train_catboost.py`
- [Standalone predictor](https://github.com/chithrashree1470/project-workflow-monitoring-and-risk-evaluation/blob/main/ml/src/app.py): `ml/src/app.py`

### Other components

- **Project user**
- **Supabase**

## Connections

- Project user → Flask app: submits requests
- Flask app → Project routes: registers routes
- Flask app → Dashboard routes: registers routes
- Flask app → Project details: registers routes
- Flask app → Task routes: registers routes
- Flask app → Task risk routes: registers routes
- Flask app → Manager experience: registers routes
- Flask app → Master data: registers routes
- Project persistence → Supabase client: uses client
- Task routes → Supabase: reads and writes
- Task routes → Task risk routes: imports predictor
- Dynamic dataset → Model training: prepares training data
- TAWOS snapshots → Model training: prepares snapshots
- Feature engineering → Model training: engineers features
- Project user → Standalone predictor: submits prediction
