# cayoprospecta/gerenciador-rota architecture

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

- Interactive diagram: https://gitdiagram.com/cayoprospecta/gerenciador-rota
- Repository: https://github.com/cayoprospecta/gerenciador-rota

## Overview

Gerenciador de Rota é uma aplicação HTML de página única para registrar e conferir despesas semanais de gerentes comerciais. O fluxo vai do acesso por PIN ao preenchimento dos dados da rota, lançamento de valores fixos e despesas comprovadas, cálculo e resumo por categoria, indicação do status e impressão em PDF. O JavaScript implementa autenticação, linhas dinâmicas e cálculos; a estrutura e o estilo são atribuídos aos arquivos conforme o README. As relações de impressão e interface se apoiam na documentação, pois esses arquivos não foram amostrados.

Main entry points: [`script.js`](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js) (Cálculo da rota), [`index.html`](https://github.com/cayoprospecta/gerenciador-rota/blob/main/index.html) (Formulário da rota), [`styles.css`](https://github.com/cayoprospecta/gerenciador-rota/blob/main/styles.css) (Estilos da interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Interface"]
  node_page["Formulário da rota<br/>[index.html]"]
  node_styles["Estilos da interface<br/>[styles.css]"]
end

subgraph group_access["Acesso"]
  node_pin["Acesso por PIN<br/>[script.js]"]
  node_session[("Sessão do navegador")]
end

subgraph group_expenses["Despesas da rota"]
  node_route_data["Dados da rota<br/>[index.html]"]
  node_fixed["Valores fixos<br/>[script.js]"]
  node_receipts["Despesas com nota<br/>[script.js]"]
  node_fuel["Combustível e litros<br/>[script.js]"]
  node_quick_add["Ajustes rápidos<br/>[script.js]"]
  node_skip["Linhas não consideradas<br/>[script.js]"]
end

subgraph group_accounting["Conferência"]
  node_calc["Cálculo da rota<br/>[script.js]"]
  node_category_summary["Resumo por categoria<br/>[script.js]"]
  node_status["Status da prestação<br/>[script.js]"]
  node_pdf["Impressão em PDF<br/>[index.html]"]
end

node_manager(("Gerente comercial"))
node_print["Imprimir ou salvar PDF"]

node_manager -->|"preenche"| node_page
node_page -->|"solicita acesso"| node_pin
node_pin -->|"grava autorização"| node_session
node_session -->|"restaura acesso"| node_pin
node_page -->|"apresenta"| node_styles
node_manager -->|"informa rota"| node_route_data
node_manager -->|"lança valores"| node_fixed
node_manager -->|"lança despesas"| node_receipts
node_receipts -->|"inclui controle de litros"| node_fuel
node_manager -->|"ajusta valores"| node_quick_add
node_manager -->|"marca linha"| node_skip
node_fixed -->|"aciona recálculo"| node_calc
node_receipts -->|"aciona recálculo"| node_calc
node_fuel -->|"fornece valores"| node_calc
node_quick_add -->|"aciona recálculo"| node_calc
node_skip -->|"aciona recálculo"| node_calc
node_calc -->|"atualiza totais"| node_category_summary
node_calc -->|"compara aprovado"| node_status
node_manager -->|"solicita exportação"| node_pdf
node_pdf -->|"abre impressão"| node_print

click node_page "https://github.com/cayoprospecta/gerenciador-rota/blob/main/index.html"
click node_styles "https://github.com/cayoprospecta/gerenciador-rota/blob/main/styles.css"
click node_pin "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_route_data "https://github.com/cayoprospecta/gerenciador-rota/blob/main/index.html"
click node_fixed "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_receipts "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_fuel "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_quick_add "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_skip "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_calc "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_category_summary "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_status "https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js"
click node_pdf "https://github.com/cayoprospecta/gerenciador-rota/blob/main/index.html"

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_page,node_styles toneBlue
class node_pin,node_session toneAmber
class node_route_data,node_fixed,node_receipts,node_fuel,node_quick_add,node_skip toneMint
class node_calc,node_category_summary,node_status,node_pdf toneRose
class node_manager,node_print toneIndigo
```

## Components

### Interface

- [Formulário da rota](https://github.com/cayoprospecta/gerenciador-rota/blob/main/index.html): `index.html`
- [Estilos da interface](https://github.com/cayoprospecta/gerenciador-rota/blob/main/styles.css): `styles.css`

### Acesso

- [Acesso por PIN](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`
- **Sessão do navegador**

### Despesas da rota

- [Dados da rota](https://github.com/cayoprospecta/gerenciador-rota/blob/main/index.html): `index.html`
- [Valores fixos](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`
- [Despesas com nota](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`
- [Combustível e litros](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`
- [Ajustes rápidos](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`
- [Linhas não consideradas](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`

### Conferência

- [Cálculo da rota](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`
- [Resumo por categoria](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`
- [Status da prestação](https://github.com/cayoprospecta/gerenciador-rota/blob/main/script.js): `script.js`
- [Impressão em PDF](https://github.com/cayoprospecta/gerenciador-rota/blob/main/index.html): `index.html`

### Other components

- **Gerente comercial**
- **Imprimir ou salvar PDF**

## Connections

- Gerente comercial → Formulário da rota: preenche (evidence: `README.md`)
- Formulário da rota → Acesso por PIN: solicita acesso (evidence: `README.md`)
- Acesso por PIN → Sessão do navegador: grava autorização (evidence: `script.js`)
- Sessão do navegador → Acesso por PIN: restaura acesso (evidence: `script.js`)
- Formulário da rota → Estilos da interface: apresenta (evidence: `README.md`)
- Gerente comercial → Dados da rota: informa rota (evidence: `README.md`)
- Gerente comercial → Valores fixos: lança valores (evidence: `README.md`)
- Gerente comercial → Despesas com nota: lança despesas (evidence: `README.md`)
- Despesas com nota → Combustível e litros: inclui controle de litros (evidence: `script.js`)
- Gerente comercial → Ajustes rápidos: ajusta valores (evidence: `script.js`)
- Gerente comercial → Linhas não consideradas: marca linha (evidence: `script.js`)
- Valores fixos → Cálculo da rota: aciona recálculo (evidence: `script.js`)
- Despesas com nota → Cálculo da rota: aciona recálculo (evidence: `script.js`)
- Combustível e litros → Cálculo da rota: fornece valores (evidence: `script.js`)
- Ajustes rápidos → Cálculo da rota: aciona recálculo (evidence: `script.js`)
- Linhas não consideradas → Cálculo da rota: aciona recálculo (evidence: `script.js`)
- Cálculo da rota → Resumo por categoria: atualiza totais (evidence: `script.js`)
- Cálculo da rota → Status da prestação: compara aprovado (evidence: `script.js`)
- Gerente comercial → Impressão em PDF: solicita exportação (evidence: `README.md`)
- Impressão em PDF → Imprimir ou salvar PDF: abre impressão (evidence: `README.md`)
