dgt_wrk09 – Gli Accolli (Easter Egg)

Titolo del modulo: dgt_wrk09 – Gli Accolli (Easter Egg)

Descrizione:

“dgt_wrk09 – Gli Accolli (Easter Egg)” tratta l’uso di Flask, un framework web Python, per realizzare progetti di gestione degli “Accogli” (strutture di accoglienza o rifugi). È rivolto a chi realizza applicazioni che gestiscono i dati e le interazioni con gli utenti in contesti come ostelli, rifugi o qualsiasi servizio di accoglienza.

Fedeli all’approccio dell’Academy, qui non si digita Python a mano. Imparerete come funzionano il routing di Flask, i template, i modelli SQLAlchemy, le sessioni e le API REST; poi descriverete l’applicazione alla macchina funzionalità per funzionalità (“una pagina che elenca i posti letto disponibili, modificabile solo dal personale autenticato”) e revisionerete ciò che scrive: le route, i modelli, i controlli di autenticazione. La eseguirete, proverete a romperla e chiederete correzioni finché l’app non si comporterà come specificato.

Obiettivi del modulo:

  • Comprendere le basi di Flask: Comprendere le funzionalità principali di Flask, tra cui routing, template, form e sessioni.
  • Integrazione con i database: Imparare come si integrano i database con SQLAlchemy per gestire dati complessi sulle strutture di accoglienza, e come controllare i modelli proposti dalla macchina.
  • Autenticazione degli utenti: Comprendere l’autenticazione sicura abbastanza bene da specificarla con precisione e verificare che solo gli utenti autorizzati possano accedere alle funzionalità protette.
  • Sviluppo di API RESTful: Progettare API RESTful che colleghino front-end e back-end, farle implementare alla macchina e testare che ogni endpoint si comporti come previsto.
  • Visualizzazione dei dati: Guidare la macchina nell’uso di strumenti come Chart.js o Plotly per creare visualizzazioni dei dati sulle strutture di accoglienza.
  • Best practice di sicurezza: Comprendere le misure di sicurezza che proteggono i dati degli utenti e l’integrità dell’applicazione, e revisionare il codice della macchina alla loro luce.

Contenuti del modulo:

  1. Introduzione a Flask
  2. Far preparare alla macchina l’ambiente di sviluppo, e capire cosa ha installato
  3. Concetti di base: route, view e template

  4. Costruire un’applicazione CRUD

  5. Specificare come vengono creati, letti, aggiornati ed eliminati i record delle strutture di accoglienza, e verificarne il risultato
  6. Integrazione con i database tramite SQLAlchemy

  7. Gestione degli utenti

  8. Descrivere registrazione e login degli utenti, e revisionare come la macchina li implementa
  9. Gestione di sessioni e cookie per l’autenticazione

  10. Sviluppo di API RESTful

  11. Progettare gli endpoint delle API per le operazioni CRUD
  12. Gestione dei metodi HTTP e dei codici di stato

  13. Migliorare l’esperienza utente

  14. Validazione dei form e gestione degli errori
  15. Uso di AJAX per aggiornamenti asincroni dei dati

  16. Visualizzazione dei dati

  17. Integrare Chart.js o Plotly per mostrare le statistiche sulle strutture di accoglienza
  18. Creare dashboard dinamiche

  19. Sicurezza nelle applicazioni Flask

  20. Protezione dalle vulnerabilità web più comuni, e come individuarle nel codice generato
  21. HTTPS e cookie sicuri

  22. Strategie di deploy

  23. Preparare l’applicazione per la produzione
  24. Istruire la macchina per il deploy su piattaforme come Heroku, AWS o DigitalOcean, e verificare il deploy

Destinatari:

  • Sviluppatori Python di livello principiante o intermedio interessati allo sviluppo web.
  • Persone che lavorano nel settore dell’accoglienza e desiderano soluzioni personalizzate.
  • Sviluppatori che vogliono migliorare nella realizzazione di applicazioni web scalabili e sicure guidando la macchina e revisionandone il codice.

Prerequisiti:

  • Conoscenza di base di Python, sufficiente per leggere il codice scritto dalla macchina
  • La familiarità con HTML, CSS e JavaScript è utile ma non obbligatoria

Al termine di questo modulo, i partecipanti avranno le conoscenze necessarie per descrivere, guidare e verificare applicazioni Flask per la gestione delle strutture di accoglienza.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, create una cartella con il vostro username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy