# no-country-simulation/s08-26-equipo04 architecture

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

- Interactive diagram: https://gitdiagram.com/no-country-simulation/s08-26-equipo04
- Repository: https://github.com/no-country-simulation/s08-26-equipo04

## Overview

QualityTrack is an industrial quality and work-order traceability application. Its documented business journey runs from a vendor’s customer request through production quotation, phased execution, quality audit/rework, and dispatch/delivery; the frontend routes role-specific screens to a Spring backend, with JPA repositories persisting domain records. The graph preserves documented features whose implementation was not sampled, but their links are dashed where no source relationship was shown. Sampled service excerpts substantiate quotation-to-OT creation and phase execution/rework behavior.

Main entry points: [`frontend/src/routes/AppRoutes.jsx`](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/routes/AppRoutes.jsx) (Role routes), [`backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java`](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java) (Work orders), [`backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java`](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java) (Phase execution), [`backend/qualititrack/src/main/java/com/backend/qualititrack/repository/OrdenTrabajoRepository.java`](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/repository/OrdenTrabajoRepository.java) (PostgreSQL data)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Role-based frontend"]
  node_app["React application<br/>[App.jsx]"]
  node_routes["Role routes<br/>[AppRoutes.jsx]"]
  node_operator["Operator tasks<br/>[OperarioPage.jsx]"]
  node_plant["Plant management"]
  node_dashboard["Plant and quality metrics"]
  node_api["Frontend API client<br/>[client.js]"]
end

subgraph group_commercial["Commercial intake"]
  node_requests["Customer requests"]
  node_quote["Quotations"]
end

subgraph group_production["Production workflow"]
  node_phases["Phase catalog<br/>[FaseCatalogo.java]"]
  node_workorders["Work orders"]
  node_execution["Phase execution<br/>[OtFaseService.java]"]
end

subgraph group_quality["Quality and delivery"]
  node_quality["Quality audits"]
  node_rework["Nonconformance rework<br/>[OtFaseService.java]"]
  node_dispatch["Dispatch and delivery"]
  node_dossier["OT dossier<br/>[ExpedientePage.jsx]"]
end

subgraph group_platform["Backend platform"]
  node_auth["JWT security"]
  node_users["User and role service"]
  node_database[("PostgreSQL data")]
end

node_staff(("Business staff"))

node_staff -.->|"uses"| node_app
node_app -->|"renders"| node_routes
node_routes -->|"routes to"| node_requests
node_routes -->|"routes to"| node_operator
node_routes -->|"routes to"| node_plant
node_routes -->|"routes to"| node_dashboard
node_requests -.->|"requests data"| node_api
node_quote -->|"creates on approval"| node_workorders
node_workorders -->|"reads and writes"| node_database
node_quote -->|"reads and writes"| node_database
node_workorders -->|"copies quoted phases"| node_execution
node_execution -->|"reads and writes"| node_database
node_phases -.->|"configured in"| node_plant
node_operator -.->|"updates tasks"| node_execution
node_plant -.->|"assigns phases"| node_execution
node_workorders -.->|"audited after production"| node_quality
node_quality -.->|"routes nonconformance"| node_rework
node_rework -->|"creates redo phases"| node_execution
node_quality -.->|"releases conforming OT"| node_dispatch
node_dispatch -.->|"records delivery"| node_dossier
node_workorders -->|"provides OT history"| node_dossier
node_dashboard -.->|"loads metrics"| node_api
node_auth -.->|"loads user details"| node_users
node_routes -.->|"protects access"| node_auth
node_api -.->|"calls backend"| node_database

click node_app "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/App.jsx"
click node_routes "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/routes/AppRoutes.jsx"
click node_requests "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/solicitudes/SolicitudesPage.jsx"
click node_quote "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/CotizacionService.java"
click node_phases "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/modelos/FaseCatalogo.java"
click node_workorders "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java"
click node_execution "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java"
click node_operator "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/operario/OperarioPage.jsx"
click node_plant "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/planta/GestionPlantaPage.jsx"
click node_quality "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/CalidadService.java"
click node_rework "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java"
click node_dispatch "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java"
click node_dossier "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/vendedor/ExpedientePage.jsx"
click node_dashboard "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/dashboard/ManagerDashboard.jsx"
click node_auth "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/security/config/securityConfig.java"
click node_users "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/UsuarioService.java"
click node_database "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/repository/OrdenTrabajoRepository.java"
click node_api "https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/api/client.js"

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_routes,node_operator,node_plant,node_dashboard,node_api toneBlue
class node_requests,node_quote toneAmber
class node_phases,node_workorders,node_execution toneMint
class node_quality,node_rework,node_dispatch,node_dossier toneRose
class node_auth,node_users,node_database,node_staff toneIndigo
```

## Components

### Role-based frontend

- [React application](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Role routes](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/routes/AppRoutes.jsx): `frontend/src/routes/AppRoutes.jsx`
- [Operator tasks](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/operario/OperarioPage.jsx): `frontend/src/pages/operario/OperarioPage.jsx`
- [Plant management](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/planta/GestionPlantaPage.jsx): `frontend/src/pages/planta/GestionPlantaPage.jsx`
- [Plant and quality metrics](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/dashboard/ManagerDashboard.jsx): `frontend/src/pages/dashboard/ManagerDashboard.jsx`
- [Frontend API client](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/api/client.js): `frontend/src/api/client.js`

### Commercial intake

- [Customer requests](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/solicitudes/SolicitudesPage.jsx): `frontend/src/pages/solicitudes/SolicitudesPage.jsx`
- [Quotations](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/CotizacionService.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/CotizacionService.java`

### Production workflow

- [Phase catalog](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/modelos/FaseCatalogo.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/modelos/FaseCatalogo.java`
- [Work orders](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java`
- [Phase execution](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java`

### Quality and delivery

- [Quality audits](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/CalidadService.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/CalidadService.java`
- [Nonconformance rework](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java`
- [Dispatch and delivery](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java`
- [OT dossier](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/frontend/src/pages/vendedor/ExpedientePage.jsx): `frontend/src/pages/vendedor/ExpedientePage.jsx`

### Backend platform

- [JWT security](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/security/config/securityConfig.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/security/config/securityConfig.java`
- [User and role service](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/Service/UsuarioService.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/UsuarioService.java`
- [PostgreSQL data](https://github.com/no-country-simulation/s08-26-equipo04/blob/develop/backend/qualititrack/src/main/java/com/backend/qualititrack/repository/OrdenTrabajoRepository.java): `backend/qualititrack/src/main/java/com/backend/qualititrack/repository/OrdenTrabajoRepository.java`

### Other components

- **Business staff**

## Connections

- Business staff → React application: uses
- React application → Role routes: renders (evidence: `frontend/src/App.jsx`)
- Role routes → Customer requests: routes to (evidence: `frontend/src/routes/AppRoutes.jsx`)
- Role routes → Operator tasks: routes to (evidence: `frontend/src/routes/AppRoutes.jsx`)
- Role routes → Plant management: routes to (evidence: `frontend/src/routes/AppRoutes.jsx`)
- Role routes → Plant and quality metrics: routes to (evidence: `frontend/src/routes/AppRoutes.jsx`)
- Customer requests → Frontend API client: requests data
- Quotations → Work orders: creates on approval (evidence: `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/CotizacionService.java`)
- Work orders → PostgreSQL data: reads and writes (evidence: `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java`)
- Quotations → PostgreSQL data: reads and writes (evidence: `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/CotizacionService.java`)
- Work orders → Phase execution: copies quoted phases (evidence: `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java`)
- Phase execution → PostgreSQL data: reads and writes (evidence: `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java`)
- Phase catalog → Plant management: configured in
- Operator tasks → Phase execution: updates tasks
- Plant management → Phase execution: assigns phases
- Work orders → Quality audits: audited after production
- Quality audits → Nonconformance rework: routes nonconformance
- Nonconformance rework → Phase execution: creates redo phases (evidence: `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OtFaseService.java`)
- Quality audits → Dispatch and delivery: releases conforming OT
- Dispatch and delivery → OT dossier: records delivery
- Work orders → OT dossier: provides OT history (evidence: `backend/qualititrack/src/main/java/com/backend/qualititrack/Service/OrdenTrabajoService.java`)
- Plant and quality metrics → Frontend API client: loads metrics
- JWT security → User and role service: loads user details
- Role routes → JWT security: protects access
- Frontend API client → PostgreSQL data: calls backend
