Copia
Raccolta di applicazioni desktop sviluppate con Python e tkinter. Architettura modulare con separazione tra layer UI, logica applicativa e accesso ai dati.
Applicazione desktop CRUD per la gestione anagrafica utenti con interfaccia tkinter.
Funzionalità:
- Aggiunta, modifica ed eliminazione utenti tramite form validato
- Visualizzazione dati in tabella Treeview con scrollbar e selezione riga
- Caricamento automatico dei dati nel form al click sulla riga
- Hashing sicuro delle password con bcrypt (salt casuale)
- Validazione input lato GUI con messaggi di errore specifici
- Registrazione automatica della data di iscrizione Architettura:
| File | Responsabilità |
|---|---|
main.py |
Layer UI — classe UserApp(tk.Tk), form, Treeview, gestione eventi |
database.py |
Layer dati — connessione SQLite, operazioni CRUD, controllo duplicati |
utils.py |
Utility — hashing e verifica password con bcrypt |
Stack:
**Avvio:**pip install bcrypt
python "Gestione Clienti/main.py"Applicazione desktop per la gestione di attività con persistenza automatica su file.
Funzionalità:
- Aggiunta attività tramite Entry con pulsante e tasto Invio
- Rimozione singola o multipla con conferma messagebox
- Salvataggio manuale su file
.txttramite finestra di dialogo - Caricamento da file con gestione automatica righe vuote
- Autosave alla chiusura — intercetta
WM_DELETE_WINDOWe salva silenziosamente prima di chiudere - Contatore attività aggiornato in tempo reale
- Icona personalizzata (
todolist.ico) Architettura:
| File | Responsabilità |
|---|---|
TODO_LIST.PY |
Applicazione completa — UI, logica e persistenza su file |
todo_list.txt |
File di persistenza generato automaticamente |
todolist.ico |
Icona personalizzata della finestra |
Stack:
**Avvio:**python TO_DO_LIST/TODO_LIST.PYTKinter-dashboard/
├── Gestione Clienti/
│ ├── main.py # UI principale — classe UserApp
│ ├── database.py # Accesso dati SQLite — operazioni CRUD
│ └── utils.py # Utility — hashing password bcrypt
├── TO_DO_LIST/
│ ├── TODO_LIST.PY # Applicazione completa
│ └── todolist.ico # Icona personalizzata
└── README.md
bcrypt
Genera requirements.txt con:
pip freeze > requirements.txt- Le password in
Gestione Clientivengono salvate come hash bcrypt — mai in chiaro nel database - Il controllo duplicati su username ed email esclude correttamente l'utente corrente durante la modifica
sqlite3.Rowcomerow_factorypermette l'accesso ai campi per nome colonna invece che per indice- In
To-Do Listla chiusura della finestra è gestita conroot.protocol("WM_DELETE_WINDOW")per garantire il salvataggio automatico anche in caso di chiusura tramite il pulsante X del sistema operativo