# 100nze-s/calcolatore-ral-netto architecture

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

- Interactive diagram: https://gitdiagram.com/100nze-s/calcolatore-ral-netto
- Repository: https://github.com/100nze-s/calcolatore-ral-netto

## Overview

Calcolatore-RAL-Netto è una webapp Streamlit che stima il netto annuale e mensile su 13 mensilità per una RAL inserita dall’utente, assumendo lavoro dipendente a tempo indeterminato a Milano. Il flusso principale valida l’importo, carica le regole fiscali e calcola contributi, IRPEF, detrazioni, bonus e addizionali; l’app mostra poi il dettaglio e un grafico della composizione. Le relazioni seguono il codice campionato; non sono rappresentate ulteriori integrazioni non documentate.

Main entry points: [`src/calculator.py`](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py) (Calcolo netto), [`app.py`](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/app.py) (Input RAL), [`tax_rules.json`](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/tax_rules.json) (Regole fiscali)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Interfaccia"]
  node_salary_input["Input RAL<br/>[app.py]"]
  node_results_view["Risultati e grafico<br/>[app.py]"]
end

subgraph group_calculation["Calcolo fiscale"]
  node_calculator["Calcolo netto<br/>[calculator.py]"]
  node_deduction["Detrazione lavoro<br/>[calculator.py]"]
  node_bonus["Bonus cuneo<br/>[calculator.py]"]
end

subgraph group_rules["Regole fiscali"]
  node_rules_loader["Caricamento regole<br/>[calculator.py]"]
  node_tax_rules["Regole fiscali<br/>[tax_rules.json]"]
end

node_user(("Utente"))

node_user -->|"inserisce RAL"| node_salary_input
node_salary_input -->|"richiede regole"| node_rules_loader
node_rules_loader -->|"legge"| node_tax_rules
node_rules_loader -->|"restituisce regole"| node_salary_input
node_salary_input -->|"calcola netto"| node_calculator
node_calculator -->|"calcola detrazione"| node_deduction
node_calculator -->|"calcola bonus"| node_bonus
node_calculator -->|"restituisce risultati"| node_results_view

click node_salary_input "https://github.com/100nze-s/calcolatore-ral-netto/blob/main/app.py"
click node_results_view "https://github.com/100nze-s/calcolatore-ral-netto/blob/main/app.py"
click node_calculator "https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py"
click node_deduction "https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py"
click node_bonus "https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py"
click node_rules_loader "https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py"
click node_tax_rules "https://github.com/100nze-s/calcolatore-ral-netto/blob/main/tax_rules.json"

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_salary_input,node_results_view toneBlue
class node_calculator,node_deduction,node_bonus toneAmber
class node_rules_loader,node_tax_rules toneMint
class node_user toneIndigo
```

## Components

### Interfaccia

- [Input RAL](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/app.py): `app.py`
- [Risultati e grafico](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/app.py): `app.py`

### Calcolo fiscale

- [Calcolo netto](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py): `src/calculator.py`
- [Detrazione lavoro](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py): `src/calculator.py`
- [Bonus cuneo](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py): `src/calculator.py`

### Regole fiscali

- [Caricamento regole](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/src/calculator.py): `src/calculator.py`
- [Regole fiscali](https://github.com/100nze-s/calcolatore-ral-netto/blob/main/tax_rules.json): `tax_rules.json`

### Other components

- **Utente**

## Connections

- Utente → Input RAL: inserisce RAL
- Input RAL → Caricamento regole: richiede regole
- Caricamento regole → Regole fiscali: legge
- Caricamento regole → Input RAL: restituisce regole
- Input RAL → Calcolo netto: calcola netto
- Calcolo netto → Detrazione lavoro: calcola detrazione
- Calcolo netto → Bonus cuneo: calcola bonus
- Calcolo netto → Risultati e grafico: restituisce risultati
