# manoranjan30/setu architecture

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

- Interactive diagram: https://gitdiagram.com/manoranjan30/setu
- Repository: https://github.com/manoranjan30/setu

## Overview

Setu is a construction-project management platform. Its core workflow spans project structure and scheduling, BOQ measurement and progress, field execution, and quality/safety oversight, with dashboards and configurable extensions providing operational visibility. Sampled controllers establish several API-to-service calls; the tree identifies additional product areas, but their internal wiring is not shown. The graph therefore leaves uncertain subsystem links out rather than inferring a single end-to-end pipeline.

Main entry points: [`backend/src/micro-schedule/micro-schedule.controller.ts`](https://github.com/manoranjan30/setu/blob/master/backend/src/micro-schedule/micro-schedule.controller.ts) (Micro schedules), [`backend/src/main.ts`](https://github.com/manoranjan30/setu/blob/master/backend/src/main.ts) (Application entry), [`backend/src/wbs/wbs.controller.ts`](https://github.com/manoranjan30/setu/blob/master/backend/src/wbs/wbs.controller.ts) (WBS scheduling), [`backend/src/quality/checklist-template.controller.ts`](https://github.com/manoranjan30/setu/blob/master/backend/src/quality/checklist-template.controller.ts) (Checklist templates)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and projects"]
  node_auth["Authentication<br/>[auth.controller.ts]"]
  node_projects["Project structure<br/>[eps.controller.ts]"]
  node_backend["Application entry<br/>[main.ts]"]
end

subgraph group_plan["Planning and execution"]
  node_planning["Project planning"]
  node_schedule["WBS scheduling<br/>[wbs.controller.ts]"]
  node_cpm["Schedule calculations"]
  node_boq["BOQ and measurement<br/>[boq.controller.ts]"]
  node_resources["Resources and costs"]
end

subgraph group_field["Field operations"]
  node_execution["Progress execution"]
  node_micro["Micro schedules"]
  node_labor["Labor tracking"]
end

subgraph group_oversight["Quality and safety"]
  node_quality["Quality inspections"]
  node_checklists["Checklist templates"]
  node_pdfparse["Checklist PDF import"]
  node_snag["Snag management<br/>[snag.controller.ts]"]
  node_ehs["EHS operations<br/>[ehs.controller.ts]"]
  node_design["Drawing register"]
end

subgraph group_insight["Insights and extensions"]
  node_analytics["Dashboards and reports"]
  node_ai["AI insights"]
  node_plugins["Plugin management"]
  node_pluginstore[("Plugin configuration store")]
end

node_user(("Project user"))

node_user -->|"uses API"| node_backend
node_backend -->|"routes requests"| node_auth
node_user -->|"manages projects"| node_projects
node_user -->|"plans work"| node_planning
node_user -->|"manages WBS"| node_schedule
node_schedule -->|"calculates dates"| node_cpm
node_user -->|"records quantities"| node_boq
node_user -->|"manages resources"| node_resources
node_user -->|"records progress"| node_execution
node_user -->|"manages schedules"| node_micro
node_micro -->|"dispatches service calls"| node_micro
node_user -->|"tracks labor"| node_labor
node_user -->|"manages inspections"| node_quality
node_user -->|"manages templates"| node_checklists
node_checklists -.->|"parses PDFs"| node_pdfparse
node_user -->|"manages snags"| node_snag
node_user -->|"records safety data"| node_ehs
node_user -->|"manages drawings"| node_design
node_user -->|"views reports"| node_analytics
node_user -->|"requests insights"| node_ai
node_user -->|"configures plugins"| node_plugins
node_plugins -->|"reads and writes"| node_pluginstore

click node_auth "https://github.com/manoranjan30/setu/blob/master/backend/src/auth/auth.controller.ts"
click node_projects "https://github.com/manoranjan30/setu/blob/master/backend/src/eps/eps.controller.ts"
click node_planning "https://github.com/manoranjan30/setu/blob/master/backend/src/planning/planning.controller.ts"
click node_schedule "https://github.com/manoranjan30/setu/blob/master/backend/src/wbs/wbs.controller.ts"
click node_cpm "https://github.com/manoranjan30/setu/blob/master/backend/src/planning/scheduling-engine.service.ts"
click node_boq "https://github.com/manoranjan30/setu/blob/master/backend/src/boq/boq.controller.ts"
click node_resources "https://github.com/manoranjan30/setu/blob/master/backend/src/resources/resources.controller.ts"
click node_execution "https://github.com/manoranjan30/setu/blob/master/backend/src/execution/execution.controller.ts"
click node_micro "https://github.com/manoranjan30/setu/blob/master/backend/src/micro-schedule/micro-schedule.controller.ts"
click node_labor "https://github.com/manoranjan30/setu/blob/master/backend/src/labor/labor.controller.ts"
click node_quality "https://github.com/manoranjan30/setu/blob/master/backend/src/quality/quality-inspection.controller.ts"
click node_checklists "https://github.com/manoranjan30/setu/blob/master/backend/src/quality/checklist-template.controller.ts"
click node_pdfparse "https://github.com/manoranjan30/setu/blob/master/backend/src/quality/checklist-pdf-parser.service.ts"
click node_snag "https://github.com/manoranjan30/setu/blob/master/backend/src/snag/snag.controller.ts"
click node_ehs "https://github.com/manoranjan30/setu/blob/master/backend/src/ehs/ehs.controller.ts"
click node_design "https://github.com/manoranjan30/setu/blob/master/backend/src/design/design.controller.ts"
click node_analytics "https://github.com/manoranjan30/setu/blob/master/backend/src/dashboard-builder/dashboard-builder.controller.ts"
click node_ai "https://github.com/manoranjan30/setu/blob/master/backend/src/ai-insights/ai-insights.controller.ts"
click node_plugins "https://github.com/manoranjan30/setu/blob/master/backend/src/plugins/plugin.controller.ts"
click node_pluginstore "https://github.com/manoranjan30/setu/blob/master/backend/src/plugins/plugin-manager.service.ts"
click node_backend "https://github.com/manoranjan30/setu/blob/master/backend/src/main.ts"

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_auth,node_projects,node_backend,node_user toneBlue
class node_planning,node_schedule,node_cpm,node_boq,node_resources toneAmber
class node_execution,node_micro,node_labor toneMint
class node_quality,node_checklists,node_pdfparse,node_snag,node_ehs,node_design toneRose
class node_analytics,node_ai,node_plugins,node_pluginstore toneIndigo
```

## Components

### Access and projects

- [Authentication](https://github.com/manoranjan30/setu/blob/master/backend/src/auth/auth.controller.ts): `backend/src/auth/auth.controller.ts`
- [Project structure](https://github.com/manoranjan30/setu/blob/master/backend/src/eps/eps.controller.ts): `backend/src/eps/eps.controller.ts`
- [Application entry](https://github.com/manoranjan30/setu/blob/master/backend/src/main.ts): `backend/src/main.ts`

### Planning and execution

- [Project planning](https://github.com/manoranjan30/setu/blob/master/backend/src/planning/planning.controller.ts): `backend/src/planning/planning.controller.ts`
- [WBS scheduling](https://github.com/manoranjan30/setu/blob/master/backend/src/wbs/wbs.controller.ts): `backend/src/wbs/wbs.controller.ts`
- [Schedule calculations](https://github.com/manoranjan30/setu/blob/master/backend/src/planning/scheduling-engine.service.ts): `backend/src/planning/scheduling-engine.service.ts`
- [BOQ and measurement](https://github.com/manoranjan30/setu/blob/master/backend/src/boq/boq.controller.ts): `backend/src/boq/boq.controller.ts`
- [Resources and costs](https://github.com/manoranjan30/setu/blob/master/backend/src/resources/resources.controller.ts): `backend/src/resources/resources.controller.ts`

### Field operations

- [Progress execution](https://github.com/manoranjan30/setu/blob/master/backend/src/execution/execution.controller.ts): `backend/src/execution/execution.controller.ts`
- [Micro schedules](https://github.com/manoranjan30/setu/blob/master/backend/src/micro-schedule/micro-schedule.controller.ts): `backend/src/micro-schedule/micro-schedule.controller.ts`
- [Labor tracking](https://github.com/manoranjan30/setu/blob/master/backend/src/labor/labor.controller.ts): `backend/src/labor/labor.controller.ts`

### Quality and safety

- [Quality inspections](https://github.com/manoranjan30/setu/blob/master/backend/src/quality/quality-inspection.controller.ts): `backend/src/quality/quality-inspection.controller.ts`
- [Checklist templates](https://github.com/manoranjan30/setu/blob/master/backend/src/quality/checklist-template.controller.ts): `backend/src/quality/checklist-template.controller.ts`
- [Checklist PDF import](https://github.com/manoranjan30/setu/blob/master/backend/src/quality/checklist-pdf-parser.service.ts): `backend/src/quality/checklist-pdf-parser.service.ts`
- [Snag management](https://github.com/manoranjan30/setu/blob/master/backend/src/snag/snag.controller.ts): `backend/src/snag/snag.controller.ts`
- [EHS operations](https://github.com/manoranjan30/setu/blob/master/backend/src/ehs/ehs.controller.ts): `backend/src/ehs/ehs.controller.ts`
- [Drawing register](https://github.com/manoranjan30/setu/blob/master/backend/src/design/design.controller.ts): `backend/src/design/design.controller.ts`

### Insights and extensions

- [Dashboards and reports](https://github.com/manoranjan30/setu/blob/master/backend/src/dashboard-builder/dashboard-builder.controller.ts): `backend/src/dashboard-builder/dashboard-builder.controller.ts`
- [AI insights](https://github.com/manoranjan30/setu/blob/master/backend/src/ai-insights/ai-insights.controller.ts): `backend/src/ai-insights/ai-insights.controller.ts`
- [Plugin management](https://github.com/manoranjan30/setu/blob/master/backend/src/plugins/plugin.controller.ts): `backend/src/plugins/plugin.controller.ts`
- [Plugin configuration store](https://github.com/manoranjan30/setu/blob/master/backend/src/plugins/plugin-manager.service.ts): `backend/src/plugins/plugin-manager.service.ts`

### Other components

- **Project user**

## Connections

- Project user → Application entry: uses API
- Application entry → Authentication: routes requests
- Project user → Project structure: manages projects
- Project user → Project planning: plans work
- Project user → WBS scheduling: manages WBS
- WBS scheduling → Schedule calculations: calculates dates
- Project user → BOQ and measurement: records quantities
- Project user → Resources and costs: manages resources
- Project user → Progress execution: records progress
- Project user → Micro schedules: manages schedules
- Micro schedules → Micro schedules: dispatches service calls
- Project user → Labor tracking: tracks labor
- Project user → Quality inspections: manages inspections
- Project user → Checklist templates: manages templates
- Checklist templates → Checklist PDF import: parses PDFs
- Project user → Snag management: manages snags
- Project user → EHS operations: records safety data
- Project user → Drawing register: manages drawings
- Project user → Dashboards and reports: views reports
- Project user → AI insights: requests insights
- Project user → Plugin management: configures plugins
- Plugin management → Plugin configuration store: reads and writes
