DBPizz è uno scheletro di ciò che un giorno potrà essere un portale per facilitare l'interazione tra cliente e pizzeria. Questo lavoro, puramente didattico, punta a dimostrare le nostre capacità nell'interfacciamento con i database e non ha nessuna finalità attuale per un ambiente produttivo.
La progettazione può essere visionata nella cartella progettazione.
Per poter testare il progetto sulla propria macchina, è necessario avere installato PHP e Composer. Una volta aver scaricato questi software, si deve effettuare il download del progetto da github e posizionarlo nella propria cartella (htdocs per Apache) del web server. Dopo aver scompattato l'archivio, si deve aprire la console, entrare nella cartella in cui abbiamo il progetto e digitare:
composer update
Composer effettuerà il download delle dipendenze di cui ha bisogno il progetto. Per verificare che tutto funzioni come si deve, bisogna attivare il server e visitare la pagina localhost/DBPizz-master.
I passaggi precedenti portano a visualizzare il portale web senza la grafica (file CSS), dato che i riferimenti sono relativi alla root del web server. Per renderla visibile si può eseguire uno dei seguenti passi:
- spostare il contenuto della cartella DBPizz-master nella cartella root del web server (htdocs nel caso di Apache).
- cambiare la configurazione del Document Root del server e nel caso di Apache si deve:
- aprire il file httpd.conf presente nella cartella conf;
- cercare la stringa DocumentRoot e sostituire il percorso che le sta accanto (esso dovrebbe contenere la cartella htdocs) con localhost/DBPizz-master;
- cercare la stringa Directory e sostituire il percorso che le sta accanto (esso dovrebbe contenere la cartella htdocs) con localhost/DBPizz-master.
L'interfaccia Web risulta essere molto intuitiva ed è costituita da 8 parti principali:
Questa pagina è vuota e contiene solo un semplice menu con tutte le varie sezioni del sito.
Questa pagina contiene la lista dei Clienti aggiunti al database e il link per il form di aggiunta.
Tramite il bottone apposito si possono aggiungere nuovi clienti, indicandone il nome e il cognome. Nel caso in cui uno dei due campi non venga inserito, il sistema riporta l'errore.
Questa pagina contiene la lista dei Prodotti aggiunti al database, il link per il form di aggiunta e un form per la ricerca personalizzata.
Tramite il bottone apposito si possono aggiungere nuovi prodotti, indicandone il nome, il prezzo e gli ingredienti di cui è composto. Nel caso in cui uno dei campi (a parte l'ingrediente) non venga inserito, il sistema riporta l'errore.
La ricerca può avvenire in base ai tre campi indicati nel paragrafo precedente. Il sistema supporta la ricerca dei prodotti anche in base a più ingredienti.
Questa pagina contiene la lista dei Ordini aggiunti al database, il link per il form di aggiunta e un form per la ricerca personalizzata.
Tramite il bottone apposito si possono aggiungere nuovi ordini, indicandone il cliente, il prodotto e la data (nel formato ISO 8601). Nel caso in cui uno dei campi non venga inserito, il sistema riporta l'errore.
La ricerca può avvenire in base ai tre campi indicati nel paragrafo precedente.
Questa pagina contiene la lista degli ingredienti aggiunti al database e il link per il form di aggiunta.
Tramite il bottone apposito si possono aggiungere nuovi ingredienti, indicandone il nome. Nel caso in cui il campo non venga inserito, il sistema riporta l'errore.
Questa pagina contiene la lista delle associazioni tra Prodotti e Ingredienti e il link per il form di aggiunta.
Tramite il bottone apposito si possono aggiungere nuovi composto da, indicandone il Prodotto e l'Ingrediente. Nel caso in cui uno dei due campi non venga inserito, il sistema riporta l'errore.
Questa pagina contiene la lista delle Pizzerie aggiunte al database, il link per il form di aggiunta e un form per la ricerca personalizzata.
Tramite il bottone apposito si possono aggiungere nuove pizzerie, indicandone il nome, il numero di telefono, il CAP, il Paese, la via, il numero civico e se supporta l'asporto. Nel caso in cui uno dei campi non venga inserito, il sistema riporta l'errore.
La ricerca può avvenire in base ai sette campi indicati nel paragrafo precedente.
Questa pagina contiene la lista delle associazioni tra Prodotti e Pizzerie e il link per il form di aggiunta.
Tramite il bottone apposito si possono aggiungere nuovi appartiene, indicandone il prodotto e la pizzeria. Nel caso in cui uno dei campi non venga inserito, il sistema riporta l'errore.
Il sistema ha alcuni bug presenti che sono indipendenti dal progetto e sono dovuti principalmente alla piattaforma di sviluppo scelta (PHP).
L'errore riportato è il seguente: "Maximum execution time of 30 seconds exceeded". Questo viene mostrato durante il primo avvio dell'applicazione ed è dovuto principalmente alle query che vengono effettuate per salvare i dati di SQLite. Probabilmente questo comportamento è dovuto non tanto al numero di inserimenti effettuati, ma al fatto che la versione di PHP utilizzata per lo sviluppo del portale web (5.3.26) non ha al suo interno una versione aggiornata di SQLite che permette l'inserimento multiplo di dati, nella forma:
INSERT INTO tbl_name (a,b,c)
VALUES
(1,2,3),
(4,5,6),
(7,8,9);