# joaoneto2023/integriprod architecture

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

- Interactive diagram: https://gitdiagram.com/joaoneto2023/integriprod
- Repository: https://github.com/joaoneto2023/integriprod

## Overview

IntegriProd is an integrated production-management system exposed through REST APIs, with a Next.js interface and backend modules for production, products, people, and inventory. The README describes a product lifecycle spanning purchasing, stock, manufacturing, and sales, including material consumption, labor/time/cost tracking, and cross-sector integration. Sampled code confirms inventory operations and people management; production and other capabilities are represented from the repository tree and README, but their internal wiring was not inspected. Consequently, unverified connections are omitted.

Main entry points: [`IntegrProd/src/main/java/com/inovs/integrprod/service/impl/EstoqueServiceImpl.java`](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/service/impl/EstoqueServiceImpl.java) (Stock service), [`integriprod-front/src/app`](https://github.com/joaoneto2023/integriprod/tree/main/integriprod-front/src/app) (Web application), [`integriprod-front/src/services`](https://github.com/joaoneto2023/integriprod/tree/main/integriprod-front/src/services) (Frontend services), [`integriprod-front/src/lib/api.ts`](https://github.com/joaoneto2023/integriprod/blob/main/integriprod-front/src/lib/api.ts) (API client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["User interface"]
  node_webapp["Web application"]
  node_frontendservices["Frontend services"]
  node_api_client["API client<br/>[api.ts]"]
end

subgraph group_api["REST API"]
  node_rest["REST endpoints"]
end

subgraph group_production["Production management"]
  node_production_ops["Production operations"]
  node_production_records["Production records"]
  node_production_services["Production services"]
end

subgraph group_masterdata["Product and people data"]
  node_product_ops["Product operations"]
  node_product_structure["Product structure"]
  node_product_data["Product entities"]
  node_people_ops["People operations"]
  node_people_service["People service<br/>[PessoaService.java]"]
  node_people_data["People entities"]
end

subgraph group_inventory["Inventory management"]
  node_stock_ops["Stock operations"]
  node_stock_service["Stock service"]
  node_stock_repository["Stock repository"]
  node_stock_entities[("Stock records")]
end

node_user(("User"))

node_user -.->|"uses"| node_webapp
node_stock_ops -->|"invokes"| node_stock_service
node_people_ops -->|"invokes"| node_people_service
node_stock_service -->|"queries"| node_stock_repository
node_stock_service -->|"updates"| node_stock_entities
node_stock_repository -->|"persists"| node_stock_entities
node_product_ops -->|"delegates"| node_product_structure
node_webapp -.->|"uses"| node_frontendservices
node_frontendservices -.->|"uses"| node_api_client
node_api_client -.->|"requests"| node_rest

click node_webapp "https://github.com/joaoneto2023/integriprod/tree/main/integriprod-front/src/app"
click node_frontendservices "https://github.com/joaoneto2023/integriprod/tree/main/integriprod-front/src/services"
click node_api_client "https://github.com/joaoneto2023/integriprod/blob/main/integriprod-front/src/lib/api.ts"
click node_rest "https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/controller"
click node_production_ops "https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/controller/OrdemProducaoController.java"
click node_production_records "https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/model/entity"
click node_production_services "https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/service"
click node_product_ops "https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/controller/ProdutoController.java"
click node_product_structure "https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/service/ProdutoEstruturaService.java"
click node_product_data "https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/model/entity"
click node_people_ops "https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/controller/PessoaController.java"
click node_people_service "https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/service/PessoaService.java"
click node_people_data "https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/model/entity"
click node_stock_ops "https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/controller/EstoqueController.java"
click node_stock_service "https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/service/impl/EstoqueServiceImpl.java"
click node_stock_repository "https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/repository/EstoqueRepository.java"
click node_stock_entities "https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/model/entity"

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_webapp,node_frontendservices,node_api_client,node_user toneBlue
class node_rest toneAmber
class node_production_ops,node_production_records,node_production_services toneMint
class node_product_ops,node_product_structure,node_product_data,node_people_ops,node_people_service,node_people_data toneRose
class node_stock_ops,node_stock_service,node_stock_repository,node_stock_entities toneIndigo
```

## Components

### User interface

- [Web application](https://github.com/joaoneto2023/integriprod/tree/main/integriprod-front/src/app): `integriprod-front/src/app`
- [Frontend services](https://github.com/joaoneto2023/integriprod/tree/main/integriprod-front/src/services): `integriprod-front/src/services`
- [API client](https://github.com/joaoneto2023/integriprod/blob/main/integriprod-front/src/lib/api.ts): `integriprod-front/src/lib/api.ts`

### REST API

- [REST endpoints](https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/controller): `IntegrProd/src/main/java/com/inovs/integrprod/controller`

### Production management

- [Production operations](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/controller/OrdemProducaoController.java): `IntegrProd/src/main/java/com/inovs/integrprod/controller/OrdemProducaoController.java`
- [Production records](https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/model/entity): `IntegrProd/src/main/java/com/inovs/integrprod/model/entity`
- [Production services](https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/service): `IntegrProd/src/main/java/com/inovs/integrprod/service`

### Product and people data

- [Product operations](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/controller/ProdutoController.java): `IntegrProd/src/main/java/com/inovs/integrprod/controller/ProdutoController.java`
- [Product structure](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/service/ProdutoEstruturaService.java): `IntegrProd/src/main/java/com/inovs/integrprod/service/ProdutoEstruturaService.java`
- [Product entities](https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/model/entity): `IntegrProd/src/main/java/com/inovs/integrprod/model/entity`
- [People operations](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/controller/PessoaController.java): `IntegrProd/src/main/java/com/inovs/integrprod/controller/PessoaController.java`
- [People service](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/service/PessoaService.java): `IntegrProd/src/main/java/com/inovs/integrprod/service/PessoaService.java`
- [People entities](https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/model/entity): `IntegrProd/src/main/java/com/inovs/integrprod/model/entity`

### Inventory management

- [Stock operations](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/controller/EstoqueController.java): `IntegrProd/src/main/java/com/inovs/integrprod/controller/EstoqueController.java`
- [Stock service](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/service/impl/EstoqueServiceImpl.java): `IntegrProd/src/main/java/com/inovs/integrprod/service/impl/EstoqueServiceImpl.java`
- [Stock repository](https://github.com/joaoneto2023/integriprod/blob/main/IntegrProd/src/main/java/com/inovs/integrprod/repository/EstoqueRepository.java): `IntegrProd/src/main/java/com/inovs/integrprod/repository/EstoqueRepository.java`
- [Stock records](https://github.com/joaoneto2023/integriprod/tree/main/IntegrProd/src/main/java/com/inovs/integrprod/model/entity): `IntegrProd/src/main/java/com/inovs/integrprod/model/entity`

### Other components

- **User**

## Connections

- User → Web application: uses
- Stock operations → Stock service: invokes (evidence: `IntegrProd/src/main/java/com/inovs/integrprod/controller/EstoqueController.java`)
- People operations → People service: invokes (evidence: `IntegrProd/src/main/java/com/inovs/integrprod/controller/PessoaController.java`)
- Stock service → Stock repository: queries (evidence: `IntegrProd/src/main/java/com/inovs/integrprod/service/impl/EstoqueServiceImpl.java`)
- Stock service → Stock records: updates (evidence: `IntegrProd/src/main/java/com/inovs/integrprod/service/impl/EstoqueServiceImpl.java`)
- Stock repository → Stock records: persists (evidence: `IntegrProd/src/main/java/com/inovs/integrprod/repository/EstoqueRepository.java`)
- Product operations → Product structure: delegates
- Web application → Frontend services: uses
- Frontend services → API client: uses
- API client → REST endpoints: requests
