Skip to content

Auticad/flask-web-apps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flask Web Apps

Raccolta di applicazioni web sviluppate con Python e Flask. Progettazione progressiva dallo sviluppo base alla struttura completa con autenticazione, ORM e gestione sessioni.


Applicazioni

Negozio Servizi — v2 (Sito Flask16)

Applicazione web Flask completa per un negozio di servizi benessere con autenticazione utenti, market con carrello e gestione budget.

Funzionalità:

  • Registrazione e login utenti con validazione form e messaggi di errore
  • Password cifrate con bcrypt tramite property setter automatico
  • Market dei servizi con aggiunta e rimozione dal carrello
  • Controllo budget prima dell'acquisto (can_purchase())
  • Route protette con @login_required — redirect automatico al login
  • Feedback utente con flash() categorizzato (success / danger / info)
  • Generazione database con dati di esempio al primo avvio Architettura:
File Responsabilità
__init__.py Application factory — Flask, SQLAlchemy, Bcrypt, LoginManager
models.py Modelli ORM — Prodotto, Utente, Acquisto con relazioni
routes.py Routing — home, market, login, register, logout
forms.py Form WTForms con validatori custom su username ed email
run.py Entry point — avvio applicazione
db_gen.py Generazione database con seed data iniziali

Modelli e relazioni:

Utente ──< Acquisto >── Prodotto
           (carrello)

Stack:

Python Flask SQLAlchemy SQLite

flask-login flask-bcrypt flask-wtf

**Avvio:**
pip install flask flask-sqlalchemy flask-bcrypt flask-login flask-wtf
python "Sito Flask16/db_gen.py"   # genera il database con i dati di esempio
python "Sito Flask16/run.py"      # avvia l'applicazione su http://localhost:5000

Negozio Servizi — v1 (Sito Flask15)

Versione base dell'applicazione — routing Flask essenziale con visualizzazione prodotti da database SQLite. Nessuna autenticazione.

Documenta la progressione dal prototipo alla struttura completa della v2.

Stack: Python · Flask · SQLAlchemy · SQLite

Avvio:

python "Sito Flask15/negozio.py"

Tudolist

Applicazione web Flask per la gestione di attività con persistenza su database.

Documentazione in aggiornamento.


Struttura del repository

Flask-dashboard/
├── Sito Flask15/           # v1 — prototipo base senza autenticazione
│   ├── negozio.py          # App monolitica con routing e modello
│   └── database.py         # Generazione database e seed data
├── Sito Flask16/           # v2 — app completa con autenticazione e carrello
│   ├── negozio/
│   │   ├── __init__.py     # Application factory
│   │   ├── models.py       # ORM — Prodotto, Utente, Acquisto
│   │   ├── routes.py       # Routing completo
│   │   └── forms.py        # Form con validazione WTForms
│   ├── run.py              # Entry point
│   └── db_gen.py           # Seed database
├── Tudolist/               # App todo list web
├── Templates/              # Template HTML condivisi
└── esercizi/               # Esercizi Flask progressivi (progetto01-11)

Requisiti

pip install flask flask-sqlalchemy flask-bcrypt flask-login flask-wtf

Genera requirements.txt con:

pip freeze > requirements.txt

Note tecniche

  • Le password vengono cifrate automaticamente tramite property setter bcrypt — l'assegnazione utente.password = "testo" cripta senza chiamate esplicite
  • Il carrello è implementato come tabella di associazione Acquisto con three-table join SQLAlchemy per filtrare i prodotti dell'utente corrente
  • La registrazione usa db.session.flush() per intercettare errori di unicità prima del commit definitivo
  • SECRET_KEY nel codice — in produzione va spostato in variabile d'ambiente .env

About

App Flask con autenticazione completa: registrazione, login, carrello servizi e gestione budget. SQLAlchemy ORM, flask-login, bcrypt, WTForms.

Resources

Stars

Watchers

Forks

Contributors