Il logo del sito

PROGETTO DEL SITO DI UNA PIZZERIA

Elenco dei file del "Progetto Pizzeria"

Rimetto mano al progetto dopo un bel po' di tempo e dopo aver modificato la struttura del sito. Il primo step è ripristinare quanto già realizzato, successivamente aggiungerò altre funzionalità.

I files con la tag ok sono stati ripristinati e funzionano come previsto. I files taggati con w funzionano, ma vorrei migliorarli. Gli altri devono ancora essere controllati.

Introduzione

Dopo aver letto un po' di tutorial su html, css, javascript, php, MySQL mi sono reso conto che il mondo dello sviluppo web è enorme e che, anche se, sul web e in libreria, sono disponibili risorse di tutti i tipi e di tutti i livelli da cui attingere per imparare a sviluppare applicazioni web, lo studio completo di tutti questi argomenti è un'impresa al di sopra delle mie possibilità. Ed inoltre ho il sospetto che, per sviluppare applicazioni commerciali, sia necessario studiare anche altre tecnologie AJAX, JQUERY, JSON, ANGULAR, REACT. Ma quali studiare? Tutte? Non è pensabile. Forse sarebbe utile leggere i tutorial di w3Schools che sono piuttosto facili. Ma quando inizio a costruire un'applicazione seria?

La varietà delle applicazioni web è, al pari degli strumenti di sviluppo, immensa. Esistono siti, sostanzialmente statici ed altri fortemente dinamici. Alcuni siti utilizzano praticamente solo html e css ma hanno un aspetto grafico spettacolare ed incorporano strumenti multimediali di tutti i tipi. Altri siti, con aspetto grafico modesto, forniscono funzioni di calcolo sofisticate.

La cosa più sensata da fare per imparare a programmare per il web è focalizzarsi su un progetto reale, di media complessità, di tipo standard in modo da trovare facilmente esempi di riferimento, e che richieda l'utilizzo di tutti gli strumenti che ho visto sino ad ora.

Prendendo spunto dalla form presentata nella introduzione del capitolo "4.10-Forms" della specifica HTML 5.2, ho pensato al sito di una pizzeria.

Proverò a realizzare il sito di una pizzeria che consegna domicilio. Oltre alla presentazione dell'attività (HTML), dovrò sviluppare un database (MySQL) in cui archiviare informazioni relative ai clienti, ai clienti registrati, ai prodotti disponibili, agli ordini e alle fatture. La creazione e manutenzione del database potrà essere fatta con con myPhpAdmin, ma dovrò mettere a disposizione della pizzeria pagine per l'aggiunta e la modifica dei prodotti, pagine per la gestione degli ordini per quei clienti che desiderano ordinare per telefono. Dovrò consentire agli utenti del sito di registrarsi in modo tale da semplificare futuri ordini, ma dovrò anche consentire ad un utente di ordinare senza registrarsi. Dovrò creare un listino per le pizze. E siccome la pizzeria ha anche una sala dove servire i clienti potrei anche sviluppare un modulo per la raccolta degli ordini ai tavoli.

Il menù presentato ai clienti del ristorante sarà diverso da quello presentato agli utenti remoti. In ogni caso potrà contenere oltre alle pizze, alimenti diversi e bevande.

Dovrò consentire ai clienti di pagare sia in contanti che con carta di credito.

Potrei sviluppare una funzione per stampare / aggiornare le pagine del menù cartaceo in seguito alla modifica dei prodotti diponibili, dei prezzi, della stagionalità dei prodotti.

Mi sembra un bel progetto. Le funzioni mi sono abbastanza chiare. Cosa fare lo so, come farlo è tutta un'altra storia. Ma vale la pena di provarci.

Files nella cartella corrente

Files nella cartella db

Manutenzione del database.

E' la pagina da cui si può creare e cancellare il database dell'applicazione, in un unica soluzione o tabella per tabella. Contiene anche altre funzioni che al momento presentano qualche problema, per questa ragione il file è taggato con w .

Visualizzazione delle tabelle create.

Files nella cartella sql

L'elenco degli script sino ad ora creati.

Files nella cartella sql/create

Script per la creazione delle tabelle.

Files nella cartella sql/drop

Script per la cancellazione delle tabelle.

Files nella cartella sql/insert

Files nella cartella sql/select

Files nella cartella sql/show

Files nella cartella sql/update