Esercizio di Sviluppo di Sito Web

Obiettivo: Realizzare un sito web a tua scelta, utilizzando le pratiche di sviluppo agile e seguendo un approccio guidato dall'analisi preliminare, dalla progettazione del database e dalla documentazione tecnica. Successivamente, il sito deve essere caricato su un repository GitHub con commit costanti, utilizzando gli issue per tracciare le varie feature implementate. Infine, verrà richiesto il deploy del sito su PythonAnywhere.

Passaggi

  1. Analisi Preliminare:

    • Utilizzando le user story, identifica i requisiti principali del sito. Definisci le funzionalità chiave che il sito deve offrire agli utenti.
    • Scrivi le user story in modo chiaro e dettagliato, indicando i ruoli degli utenti, le azioni che possono compiere e gli obiettivi che si prefiggono.
  2. Definizione del Database:

    • Progetta lo schema del database in base ai requisiti identificati nelle user story.
    • Definisci le tabelle necessarie, le relazioni tra di esse e i vincoli di integrità referenziale.
    • Documenta il modello del database indicando i tipi di dato, le chiavi primarie e esterne, e una breve descrizione di ciascuna tabella.
  3. Relazione Tecnica:

    • Redigi una relazione tecnica che illustri l'architettura generale del sito web. Puoi utilizzare il template presente nel repository
    • Descrivi le tecnologie utilizzate (linguaggi di programmazione, framework, librerie, ecc.) e le motivazioni dietro le scelte fatte.
    • Spiega l'organizzazione del codice, la struttura delle directory e i principali moduli o componenti del sito.
  4. Sviluppo e Versionamento:

    • Crea un repository su GitHub per il tuo progetto.
    • Inizia lo sviluppo del sito seguendo le user story e utilizzando gli issue di GitHub per tracciare le varie attività.
    • Effettua commit costanti ogni volta che completi una nuova feature o risolvi un problema, includendo una breve descrizione delle modifiche apportate.
  5. Deploy su PythonAnywhere:

    • Dopo aver completato lo sviluppo e aver verificato il corretto funzionamento del sito in locale, preparati per il deploy.
    • Accedi a PythonAnywhere e crea un nuovo account se non ne possiedi già uno.
    • Segui le istruzioni fornite da PythonAnywhere per caricare il tuo progetto sul server.
    • Assicurati che tutte le dipendenze siano installate correttamente e che il sito sia configurato per utilizzare un ambiente di produzione.
    • Effettua il deploy del sito su PythonAnywhere, assicurandoti che sia accessibile tramite un URL pubblico.

NOTA

Durante tutto il processo, assicurati di seguire le pratiche di sviluppo agile, mantenendo un approccio iterativo e adattativo. Fornisci documentazione dettagliata e commenti nel codice per facilitare la comprensione e la manutenzione del sito.

NOTA: RELAZIONE TECNICA

Le normative non forniscono direttamente linee guida specifiche per la struttura di una relazione tecnica, ma promuovono principi generali di qualità e gestione documentale che possono essere applicati in vari contesti, inclusi quelli dell'ingegneria del software e dello sviluppo web.

Tuttavia, possiamo fornire una struttura generale per una relazione tecnica che rispetti i principi di chiarezza, completezza e coerenza, e che può essere adattata all'esercizio proposto:

  • Introduzione:

    • Descrizione generale del progetto, inclusi gli obiettivi, lo scopo e il contesto.
    • Breve riassunto dei requisiti e delle funzionalità chiave del sito web.
  • Tecnologie Utilizzate:

    • Elenco e descrizione delle tecnologie, linguaggi di programmazione, framework, librerie e strumenti utilizzati nello sviluppo del sito.
  • Architettura del Sistema:

    • Descrizione dell'architettura generale del sito web, inclusi componenti principali, moduli, pattern architetturali utilizzati (ad esempio MVC), e struttura delle directory.
  • Database:

    • Descrizione dello schema del database, inclusi tabelle, relazioni, vincoli di integrità referenziale e tipi di dati utilizzati.
    • Spiegazione delle scelte progettuali relative alla struttura del database.
  • Sviluppo del Software:

    • Descrizione del processo di sviluppo seguito, inclusi metodi, tecniche e strumenti utilizzati per la gestione del codice sorgente, il versionamento e il controllo delle modifiche.
  • User Stories e Requisiti:

    • Elenco delle user stories identificate durante l'analisi preliminare, con una descrizione dettagliata di ciascuna e dei relativi criteri di accettazione.
  • Documentazione del Codice:

    • Indicazioni su come accedere e utilizzare la documentazione del codice sorgente, inclusi commenti nel codice e documentazione generata automaticamente (se presente).
  • Deploy e Manutenzione:

    • Descrizione del processo di deploy del sito web, inclusi eventuali passaggi necessari per configurare l'ambiente di produzione.
    • Indicazioni su come gestire la manutenzione del sito, inclusi aggiornamenti futuri e risoluzione di eventuali problemi.
  • Conclusioni:

    • Breve riassunto delle principali conclusioni e considerazioni emerse durante lo sviluppo del sito web.