# valerrb/banca---app architecture

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

## Overview

CoreCapital is a desktop banking GUI. Users log in or register, then enter a main application with dashboard, card, and user-information pages; the dashboard displays accounts and can create additional accounts. A separate, older banking demo in ContoBancario.py models in-memory deposits and withdrawals. Source excerpts establish the login, registration, account, and navigation wiring; card-page details and some dashboard panels are only evident from their module structure, so their internal behavior is not inferred.

Main entry points: [`database.py`](https://github.com/valerrb/banca---app/blob/main/database.py) (Database access), [`views/login.py`](https://github.com/valerrb/banca---app/blob/main/views/login.py) (Login view), [`views/main_app.py`](https://github.com/valerrb/banca---app/blob/main/views/main_app.py) (Main app router), [`views/signin.py`](https://github.com/valerrb/banca---app/blob/main/views/signin.py) (Registration view)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["App entry"]
  node_app["App bootstrap<br/>[main.py]"]
end

subgraph group_identity["Identity"]
  node_login["Login view<br/>[login.py]"]
  node_signin["Registration view<br/>[signin.py]"]
  node_notice["Creation notice"]
  node_database["Database access<br/>[database.py]"]
  node_store[("SQLite database")]
end

subgraph group_banking["Banking workspace"]
  node_mainapp["Main app router<br/>[main_app.py]"]
  node_dashboard["Dashboard and accounts<br/>[dashboard.py]"]
  node_card["Card page<br/>[carta.py]"]
  node_profile["User profile<br/>[components.py]"]
end

subgraph group_demo["Standalone demo"]
  node_legacy["In-memory account demo<br/>[ContoBancario.py]"]
end

node_user(("User"))

node_user -->|"starts"| node_app
node_app -->|"opens"| node_database
node_app -->|"shows"| node_login
node_user -->|"enters credentials"| node_login
node_login -->|"checks login"| node_database
node_database -->|"queries users"| node_store
node_login -->|"opens registration"| node_signin
node_user -->|"enters details"| node_signin
node_signin -->|"creates user"| node_database
node_database -->|"writes users"| node_store
node_signin -->|"checks new login"| node_login
node_login -->|"opens session"| node_mainapp
node_mainapp -->|"routes to"| node_dashboard
node_mainapp -->|"routes to"| node_card
node_mainapp -->|"routes to"| node_profile
node_dashboard -->|"loads accounts"| node_database
node_dashboard -->|"creates account"| node_database
node_database -->|"reads and writes accounts"| node_store
node_user -->|"uses demo"| node_legacy

click node_app "https://github.com/valerrb/banca---app/blob/main/main.py"
click node_login "https://github.com/valerrb/banca---app/blob/main/views/login.py"
click node_signin "https://github.com/valerrb/banca---app/blob/main/views/signin.py"
click node_notice "https://github.com/valerrb/banca---app/blob/main/views/notifica_creazione_utente.py"
click node_database "https://github.com/valerrb/banca---app/blob/main/database.py"
click node_store "https://github.com/valerrb/banca---app/blob/main/db/ContoBancarioDatabase.db"
click node_mainapp "https://github.com/valerrb/banca---app/blob/main/views/main_app.py"
click node_dashboard "https://github.com/valerrb/banca---app/blob/main/views/dashboard.py"
click node_card "https://github.com/valerrb/banca---app/blob/main/views/carta.py"
click node_profile "https://github.com/valerrb/banca---app/blob/main/views/components.py"
click node_legacy "https://github.com/valerrb/banca---app/blob/main/ContoBancario.py"

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_app,node_user toneBlue
class node_login,node_signin,node_notice,node_database,node_store toneAmber
class node_mainapp,node_dashboard,node_card,node_profile toneMint
class node_legacy toneRose
```

## Components

### App entry

- [App bootstrap](https://github.com/valerrb/banca---app/blob/main/main.py): `main.py`

### Identity

- [Login view](https://github.com/valerrb/banca---app/blob/main/views/login.py): `views/login.py`
- [Registration view](https://github.com/valerrb/banca---app/blob/main/views/signin.py): `views/signin.py`
- [Creation notice](https://github.com/valerrb/banca---app/blob/main/views/notifica_creazione_utente.py): `views/notifica_creazione_utente.py`
- [Database access](https://github.com/valerrb/banca---app/blob/main/database.py): `database.py`
- [SQLite database](https://github.com/valerrb/banca---app/blob/main/db/ContoBancarioDatabase.db): `db/ContoBancarioDatabase.db`

### Banking workspace

- [Main app router](https://github.com/valerrb/banca---app/blob/main/views/main_app.py): `views/main_app.py`
- [Dashboard and accounts](https://github.com/valerrb/banca---app/blob/main/views/dashboard.py): `views/dashboard.py`
- [Card page](https://github.com/valerrb/banca---app/blob/main/views/carta.py): `views/carta.py`
- [User profile](https://github.com/valerrb/banca---app/blob/main/views/components.py): `views/components.py`

### Standalone demo

- [In-memory account demo](https://github.com/valerrb/banca---app/blob/main/ContoBancario.py): `ContoBancario.py`

### Other components

- **User**

## Connections

- User → App bootstrap: starts
- App bootstrap → Database access: opens
- App bootstrap → Login view: shows
- User → Login view: enters credentials
- Login view → Database access: checks login
- Database access → SQLite database: queries users
- Login view → Registration view: opens registration
- User → Registration view: enters details
- Registration view → Database access: creates user
- Database access → SQLite database: writes users
- Registration view → Login view: checks new login
- Login view → Main app router: opens session
- Main app router → Dashboard and accounts: routes to
- Main app router → Card page: routes to
- Main app router → User profile: routes to
- Dashboard and accounts → Database access: loads accounts
- Dashboard and accounts → Database access: creates account
- Database access → SQLite database: reads and writes accounts
- User → In-memory account demo: uses demo
