# g1martoz/demolito architecture

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

## Overview

SRS_APP_PROD is a Neutralino desktop app for managing institutional payroll and issuing salary receipts. Its main workflow is payroll ingestion, receipt preparation and rendering, then printing or exporting and distributing receipts. It also persists institution, employee and email data locally, and gates use with HWID-bound licenses checked against Supabase. The README identifies the main HTML file as the home of the application logic; its source was not excerpted, so those capabilities and links are based on README statements. The sampled render module confirms receipt formatting and display behavior.

Main entry points: [`resources/demo_local_testing.html`](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html) (Desktop app), [`resources/render-light-core.js`](https://github.com/g1martoz/demolito/blob/main/resources/render-light-core.js) (Receipt display)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_payroll["Payroll workflow"]
  node_desktop["Desktop app"]
  node_ingestion["Payroll ingestion"]
  node_employees["Employee records"]
end

subgraph group_receipts["Receipt production"]
  node_receipt["Receipt display"]
  node_renderer["Render accelerator"]
  node_printing["Receipt printing"]
  node_exports["File exports"]
  node_email["Email delivery"]
end

subgraph group_operations["App data"]
  node_localdata[("Local storage")]
end

subgraph group_licensing["License security"]
  node_license["License checks"]
  node_supabase[("Supabase licensing")]
end

node_user(("Administrator"))

node_user -->|"uses"| node_desktop
node_desktop -->|"ingests payroll"| node_ingestion
node_desktop -->|"manages employees"| node_employees
node_desktop -->|"renders receipts"| node_receipt
node_receipt -.->|"uses optionally"| node_renderer
node_desktop -->|"prints receipts"| node_printing
node_desktop -->|"exports documents"| node_exports
node_desktop -->|"sends receipts"| node_email
node_desktop -->|"persists data"| node_localdata
node_desktop -->|"checks access"| node_license
node_license -->|"validates license"| node_supabase

click node_desktop "https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html"
click node_ingestion "https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html"
click node_employees "https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html"
click node_receipt "https://github.com/g1martoz/demolito/blob/main/resources/render-light-core.js"
click node_renderer "https://github.com/g1martoz/demolito/blob/main/resources/render-light-core.js"
click node_printing "https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html"
click node_exports "https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html"
click node_email "https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html"
click node_localdata "https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html"
click node_license "https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.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_desktop,node_ingestion,node_employees toneBlue
class node_receipt,node_renderer,node_printing,node_exports,node_email toneAmber
class node_localdata toneMint
class node_license,node_supabase toneRose
class node_user toneIndigo
```

## Components

### Payroll workflow

- [Desktop app](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html): `resources/demo_local_testing.html`
- [Payroll ingestion](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html): `resources/demo_local_testing.html`
- [Employee records](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html): `resources/demo_local_testing.html`

### Receipt production

- [Receipt display](https://github.com/g1martoz/demolito/blob/main/resources/render-light-core.js): `resources/render-light-core.js`
- [Render accelerator](https://github.com/g1martoz/demolito/blob/main/resources/render-light-core.js): `resources/render-light-core.js`
- [Receipt printing](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html): `resources/demo_local_testing.html`
- [File exports](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html): `resources/demo_local_testing.html`
- [Email delivery](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html): `resources/demo_local_testing.html`

### App data

- [Local storage](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html): `resources/demo_local_testing.html`

### License security

- [License checks](https://github.com/g1martoz/demolito/blob/main/resources/demo_local_testing.html): `resources/demo_local_testing.html`
- **Supabase licensing**

### Other components

- **Administrator**

## Connections

- Administrator → Desktop app: uses (evidence: `README.md`)
- Desktop app → Payroll ingestion: ingests payroll (evidence: `README.md`)
- Desktop app → Employee records: manages employees (evidence: `README.md`)
- Desktop app → Receipt display: renders receipts (evidence: `README.md`)
- Receipt display → Render accelerator: uses optionally (evidence: `README.md`)
- Desktop app → Receipt printing: prints receipts (evidence: `README.md`)
- Desktop app → File exports: exports documents (evidence: `README.md`)
- Desktop app → Email delivery: sends receipts (evidence: `README.md`)
- Desktop app → Local storage: persists data (evidence: `README.md`)
- Desktop app → License checks: checks access (evidence: `README.md`)
- License checks → Supabase licensing: validates license (evidence: `README.md`)
