# paulo-lacerda1/newmodusapp architecture

> Architecture diagram of the GitHub repository paulo-lacerda1/newmodusapp, 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/paulo-lacerda1/newmodusapp
- Repository: https://github.com/paulo-lacerda1/newmodusapp

## Overview

NewModusApp is a Portuguese-language Windows Forms application for managing a clothing business. Users enter through the main dashboard and navigate to client and measurement records, custom-made orders, ready-to-wear purchases, and inventory. Domain forms call repositories or the shared database helper; repositories use SQL Server stored procedures and queries. The README documents SQL scripts for creating and populating the database. Some subsystems are represented by their exact directory because their individual implementations were not sampled; edges are limited to relationships evidenced by excerpts, the source index, or README.

Main entry points: [`Forms/FrmPrincipal.cs`](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmPrincipal.cs) (Main navigation), [`Data/Database.cs`](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Data/Database.cs) (Database helper), [`Repositories/EncomendasRepository.cs`](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/EncomendasRepository.cs) (Order operations), [`Repositories/ProntoVestirRepository.cs`](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/ProntoVestirRepository.cs) (Retail operations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Desktop interface"]
  node_entry["Application entry<br/>[Program.cs]"]
  node_shell["Main navigation<br/>[FrmPrincipal.cs]"]
end

subgraph group_domain["Business workflows"]
  node_dashboard["Dashboard<br/>[FrmDashboard.cs]"]
  node_clients["Client management<br/>[FrmClientes.cs]"]
  node_measurements["Measurement profiles<br/>[FrmMedidas.cs]"]
  node_orders["Custom orders<br/>[FrmEncomendas.cs]"]
  node_neworder["Create measured order"]
  node_orderitems["Order materials popup"]
  node_orderhistory["Pending and history lists"]
  node_retail["Ready-to-wear sales<br/>[FrmProntoVestir.cs]"]
  node_newretail["Create ready-to-wear purchase"]
  node_inventory["Inventory management"]
  node_stock["Fabric stock<br/>[FrmStock.cs]"]
  node_ordermodels["Order domain models<br/>[Encomenda.cs]"]
  node_retailmodels["Purchase domain models"]
  node_measurementmodel["Measurement model<br/>[Medida.cs]"]
end

subgraph group_data["Data access"]
  node_dashboardrepo["Dashboard queries"]
  node_orderrepo["Order operations"]
  node_retailrepo["Retail operations"]
  node_materialrepo["Material operations"]
  node_fabricrepo["Fabric operations"]
  node_measurementrepo["Measurement operations"]
  node_dbhelper["Database helper<br/>[Database.cs]"]
  node_dbconfig["Connection configuration<br/>[DbConfig.cs]"]
end

subgraph group_database["SQL database"]
  node_sqlserver[("SQL Server")]
  node_schema["Schema and routines<br/>[01_DDL.sql]"]
end

node_user(("Staff user"))

node_user -->|"starts app"| node_entry
node_entry -->|"opens"| node_shell
node_shell -->|"opens"| node_dashboard
node_shell -->|"opens"| node_clients
node_shell -->|"opens"| node_measurements
node_shell -->|"opens"| node_orders
node_shell -->|"opens"| node_neworder
node_shell -->|"opens"| node_orderhistory
node_shell -->|"opens"| node_retail
node_shell -->|"opens"| node_newretail
node_shell -->|"opens"| node_inventory
node_clients -->|"queries and updates"| node_dbhelper
node_dashboard -->|"loads data"| node_dashboardrepo
node_orders -->|"uses"| node_orderrepo
node_neworder -->|"creates orders"| node_orderrepo
node_neworder -->|"opens materials"| node_orderitems
node_orderitems -->|"loads materials"| node_orderrepo
node_orderhistory -->|"loads orders"| node_orderrepo
node_retail -->|"uses"| node_retailrepo
node_newretail -->|"records purchases"| node_retailrepo
node_inventory -->|"loads fabrics"| node_fabricrepo
node_inventory -->|"manages materials"| node_materialrepo
node_inventory -->|"manages products"| node_retailrepo
node_stock -->|"uses"| node_fabricrepo
node_measurements -->|"uses"| node_measurementrepo
node_dashboardrepo -->|"queries"| node_dbhelper
node_orderrepo -->|"executes procedures"| node_dbhelper
node_retailrepo -->|"executes procedures"| node_dbhelper
node_materialrepo -->|"queries"| node_dbhelper
node_fabricrepo -->|"queries"| node_dbhelper
node_measurementrepo -->|"queries"| node_dbhelper
node_dbhelper -->|"gets connection string"| node_dbconfig
node_dbhelper -.->|"executes SQL"| node_sqlserver
node_schema -.->|"defines schema"| node_sqlserver
node_orders -->|"uses order data"| node_ordermodels
node_newretail -->|"uses purchase data"| node_retailmodels
node_measurements -->|"uses profiles"| node_measurementmodel

click node_entry "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Program.cs"
click node_shell "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmPrincipal.cs"
click node_dashboard "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmDashboard.cs"
click node_clients "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmClientes.cs"
click node_measurements "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmMedidas.cs"
click node_orders "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmEncomendas.cs"
click node_neworder "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmNovaEncomendaPorMedida.cs"
click node_orderitems "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmMateriaisPedidoPopup.cs"
click node_orderhistory "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmPedidosPorMedidaLista.cs"
click node_retail "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmProntoVestir.cs"
click node_newretail "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmNovaCompraProntoVestir.cs"
click node_stock "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmStock.cs"
click node_dashboardrepo "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/DashboardRepository.cs"
click node_orderrepo "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/EncomendasRepository.cs"
click node_retailrepo "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/ProntoVestirRepository.cs"
click node_materialrepo "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/MaterialRepository.cs"
click node_fabricrepo "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/TecidoRepository.cs"
click node_measurementrepo "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/MedidasRepository.cs"
click node_dbhelper "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Data/Database.cs"
click node_dbconfig "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Data/DbConfig.cs"
click node_schema "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Database/01_DDL.sql"
click node_ordermodels "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Models/Encomenda.cs"
click node_retailmodels "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Models/CompraProntoVestir.cs"
click node_measurementmodel "https://github.com/paulo-lacerda1/newmodusapp/blob/main/Models/Medida.cs"

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_entry,node_shell,node_user toneBlue
class node_dashboard,node_clients,node_measurements,node_orders,node_neworder,node_orderitems,node_orderhistory,node_retail,node_newretail,node_inventory,node_stock,node_ordermodels,node_retailmodels,node_measurementmodel toneAmber
class node_dashboardrepo,node_orderrepo,node_retailrepo,node_materialrepo,node_fabricrepo,node_measurementrepo,node_dbhelper,node_dbconfig toneMint
class node_sqlserver,node_schema toneRose
```

## Components

### Desktop interface

- [Application entry](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Program.cs): `Program.cs`
- [Main navigation](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmPrincipal.cs): `Forms/FrmPrincipal.cs`

### Business workflows

- [Dashboard](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmDashboard.cs): `Forms/FrmDashboard.cs`
- [Client management](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmClientes.cs): `Forms/FrmClientes.cs`
- [Measurement profiles](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmMedidas.cs): `Forms/FrmMedidas.cs`
- [Custom orders](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmEncomendas.cs): `Forms/FrmEncomendas.cs`
- [Create measured order](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmNovaEncomendaPorMedida.cs): `Forms/FrmNovaEncomendaPorMedida.cs`
- [Order materials popup](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmMateriaisPedidoPopup.cs): `Forms/FrmMateriaisPedidoPopup.cs`
- [Pending and history lists](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmPedidosPorMedidaLista.cs): `Forms/FrmPedidosPorMedidaLista.cs`
- [Ready-to-wear sales](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmProntoVestir.cs): `Forms/FrmProntoVestir.cs`
- [Create ready-to-wear purchase](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmNovaCompraProntoVestir.cs): `Forms/FrmNovaCompraProntoVestir.cs`
- **Inventory management**
- [Fabric stock](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Forms/FrmStock.cs): `Forms/FrmStock.cs`
- [Order domain models](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Models/Encomenda.cs): `Models/Encomenda.cs`
- [Purchase domain models](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Models/CompraProntoVestir.cs): `Models/CompraProntoVestir.cs`
- [Measurement model](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Models/Medida.cs): `Models/Medida.cs`

### Data access

- [Dashboard queries](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/DashboardRepository.cs): `Repositories/DashboardRepository.cs`
- [Order operations](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/EncomendasRepository.cs): `Repositories/EncomendasRepository.cs`
- [Retail operations](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/ProntoVestirRepository.cs): `Repositories/ProntoVestirRepository.cs`
- [Material operations](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/MaterialRepository.cs): `Repositories/MaterialRepository.cs`
- [Fabric operations](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/TecidoRepository.cs): `Repositories/TecidoRepository.cs`
- [Measurement operations](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Repositories/MedidasRepository.cs): `Repositories/MedidasRepository.cs`
- [Database helper](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Data/Database.cs): `Data/Database.cs`
- [Connection configuration](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Data/DbConfig.cs): `Data/DbConfig.cs`

### SQL database

- **SQL Server**
- [Schema and routines](https://github.com/paulo-lacerda1/newmodusapp/blob/main/Database/01_DDL.sql): `Database/01_DDL.sql`

### Other components

- **Staff user**

## Connections

- Staff user → Application entry: starts app (evidence: `Program.cs`)
- Application entry → Main navigation: opens (evidence: `Program.cs`)
- Main navigation → Dashboard: opens (evidence: `Forms/FrmPrincipal.cs`)
- Main navigation → Client management: opens (evidence: `Forms/FrmPrincipal.cs`)
- Main navigation → Measurement profiles: opens (evidence: `Forms/FrmPrincipal.cs`)
- Main navigation → Custom orders: opens (evidence: `Forms/FrmPrincipal.cs`)
- Main navigation → Create measured order: opens (evidence: `Forms/FrmPrincipal.cs`)
- Main navigation → Pending and history lists: opens (evidence: `Forms/FrmPrincipal.cs`)
- Main navigation → Ready-to-wear sales: opens (evidence: `Forms/FrmPrincipal.cs`)
- Main navigation → Create ready-to-wear purchase: opens (evidence: `Forms/FrmPrincipal.cs`)
- Main navigation → Inventory management: opens (evidence: `Forms/FrmPrincipal.cs`)
- Client management → Database helper: queries and updates (evidence: `Forms/FrmClientes.cs`)
- Dashboard → Dashboard queries: loads data (evidence: `Forms/FrmDashboard.cs`)
- Custom orders → Order operations: uses (evidence: `Forms/FrmEncomendas.cs`)
- Create measured order → Order operations: creates orders (evidence: `Forms/FrmNovaEncomendaPorMedida.cs`)
- Create measured order → Order materials popup: opens materials (evidence: `Forms/FrmNovaEncomendaPorMedida.cs`)
- Order materials popup → Order operations: loads materials (evidence: `Forms/FrmMateriaisPedidoPopup.cs`)
- Pending and history lists → Order operations: loads orders (evidence: `Forms/FrmPedidosPorMedidaLista.cs`)
- Ready-to-wear sales → Retail operations: uses (evidence: `Forms/FrmProntoVestir.cs`)
- Create ready-to-wear purchase → Retail operations: records purchases (evidence: `Forms/FrmNovaCompraProntoVestir.cs`)
- Inventory management → Fabric operations: loads fabrics
- Inventory management → Material operations: manages materials
- Inventory management → Retail operations: manages products
- Fabric stock → Fabric operations: uses (evidence: `Forms/FrmStock.cs`)
- Measurement profiles → Measurement operations: uses (evidence: `Forms/FrmMedidas.cs`)
- Dashboard queries → Database helper: queries (evidence: `Repositories/DashboardRepository.cs`)
- Order operations → Database helper: executes procedures (evidence: `Repositories/EncomendasRepository.cs`)
- Retail operations → Database helper: executes procedures (evidence: `Repositories/ProntoVestirRepository.cs`)
- Material operations → Database helper: queries (evidence: `Repositories/MaterialRepository.cs`)
- Fabric operations → Database helper: queries (evidence: `Repositories/TecidoRepository.cs`)
- Measurement operations → Database helper: queries (evidence: `Repositories/MedidasRepository.cs`)
- Database helper → Connection configuration: gets connection string (evidence: `Data/Database.cs`)
- Database helper → SQL Server: executes SQL
- Schema and routines → SQL Server: defines schema
- Custom orders → Order domain models: uses order data (evidence: `Forms/FrmEncomendas.cs`)
- Create ready-to-wear purchase → Purchase domain models: uses purchase data (evidence: `Forms/FrmNovaCompraProntoVestir.cs`)
- Measurement profiles → Measurement model: uses profiles (evidence: `Forms/FrmMedidas.cs`)
