migrazione verso gitea
This commit is contained in:
51
docs/architecture.md
Normal file
51
docs/architecture.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Architettura Complessiva
|
||||
|
||||
Questa pagina collega i moduli principali del progetto in una vista unica,
|
||||
partendo dal launcher fino ai moduli GUI e al livello infrastrutturale async/DB.
|
||||
|
||||
## Vista architetturale
|
||||
|
||||
```{mermaid}
|
||||
flowchart TD
|
||||
Main["main.py"] --> Launcher["Launcher"]
|
||||
Main --> Loop["async_loop_singleton.get_global_loop()"]
|
||||
Main --> DB["AsyncMSSQLClient"]
|
||||
|
||||
Launcher --> Reset["reset_corsie.py"]
|
||||
Launcher --> Layout["layout_window.py"]
|
||||
Launcher --> Ghost["view_celle_multiple.py"]
|
||||
Launcher --> Search["search_pallets.py"]
|
||||
Launcher --> Picking["gestione_pickinglist.py"]
|
||||
|
||||
Reset --> Runner["gestione_aree_frame_async.AsyncRunner"]
|
||||
Layout --> Runner
|
||||
Ghost --> Runner
|
||||
Search --> Runner
|
||||
Picking --> Runner
|
||||
|
||||
Runner --> Loop
|
||||
Runner --> DB
|
||||
Picking --> SP["prenota_sprenota_sql.py"]
|
||||
SP --> DB
|
||||
DB --> SQL["SQL Server / Mediseawall"]
|
||||
```
|
||||
|
||||
## Flusso applicativo generale
|
||||
|
||||
```{mermaid}
|
||||
flowchart LR
|
||||
User["Utente"] --> MainWin["Launcher"]
|
||||
MainWin --> Module["Finestra modulo"]
|
||||
Module --> AsyncReq["AsyncRunner.run(...)"]
|
||||
AsyncReq --> DbClient["AsyncMSSQLClient"]
|
||||
DbClient --> SqlServer["Database SQL Server"]
|
||||
SqlServer --> Callback["Callback _ok/_err"]
|
||||
Callback --> Module
|
||||
```
|
||||
|
||||
## Osservazioni
|
||||
|
||||
- `main.py` centralizza il loop asincrono e il client database condiviso.
|
||||
- I moduli GUI si concentrano sulla UI e delegano query e task lunghi a `AsyncRunner`.
|
||||
- `gestione_pickinglist.py` è l'unico modulo che passa anche da `prenota_sprenota_sql.py` per la logica di prenotazione.
|
||||
- La cartella `docs/flows/` contiene la vista dettagliata modulo per modulo.
|
||||
Reference in New Issue
Block a user