Pasticceria IL è una web-application sviluppata con SpringBoot e Angular.
La pasticceria vende dolci che hanno un nome ed un prezzo. Ogni dolce è composto da una lista di ingredienti. Opzionale: indicare di ogni ingrediente quantità e unità di misura. Opzionale: La gestione della pasticceria è in mano a Luana e Maria che vogliono avere il proprio account per poter accedere all'area di backoffice tramite email e password.
Nell’area di backoffice si possono gestire (CRUD) i dolci e metterli in vendita con una certa disponibilità (esempio: 3 torte paradiso in vendita). I dolci in vendita invecchiano ed in base al tempo trascorso dalla loro messa in vendita hanno prezzi diversi: primo giorno prezzo pieno, secondo giorno costano l’80%, il terzo giorno il 20%. Il quarto giorno non sono commestibili e devono essere ritirati dalla vendita.
Realizzare una pagina vetrina dove tutti possono vedere la lista di dolci disponibili e il prezzo relativo.
Opzionale: andando nella pagina del dettaglio del dolce (o tramite overlayer), si scoprono gli ingredienti indicati dalla ricetta.
- Java 11
- SpringBoot 2.5
- MySQL 5
- Angular 12
- TypeScript 4
Prerequisiti per test in ambiente locale:
- Istanza MySQL
- Java runtime (11)
- Web Server
All'interno della cartella target
sono presenti i file statici relativi al frontend, il backend compilato sotto forma di jar e le query da lanciare per inizializzare il database.
Nella sottocartella sql
di target
sono presente due file:
- 01-test_il
- 02-dump-utenti
Il primo file contiene la definizione del database e delle tabelle. Il nome del db che verrà creato sarà test_il.
Il secondo, invece, permette di popolare la tabella utente.
La cartella target
contiene il file jar pasticceria-il-0.0.1-SNAPSHOT.jar
. Per avviare il servizio di backend è sufficiente lanciare il comando
java -jar pasticceria-il-0.0.1-SNAPSHOT.jar
Il jar può ricevere i seguenti parametri (opzionali):
- API_PORT: porta servizio backend. Default 8080
- MYSQL_HOST: default localhost
- MYSQL_PORT: default 3306
- MYSQL_USER: default test-il
- MYSQL_PASSWORD: default test-il2021
Ad esempio, per modificare l'utente di MySQL lanciare il seguente comando
java -DMYSQL_USER=altroutente -jar pasticceria-il-0.0.1-SNAPSHOT.jar
All'interno della cartella target
è presente l'archivio fe-static
.
Per rendere disponibile il frontend è necessario estrarre i file dall'archivio e copiarli all'interno del proprio Web Server (ad es. Apache HTTP).
Il frontend punta al backend tramite l'indirizzo http://localhost:8080. Per modificare tale puntamento è necessario ricompilare i sorgenti del progetto di frontend.
Completati gli step precendenti, la web-app sarà raggiungibile all'indirizzo del proprio Web Server.
La web-app è composta da un sezione pubblica e da una privata. La route principale è impostata sulla parte pubblica, ovvero la vetrina della pasticceria. Essa è composta da una lista di dolci (messi in vendita dagli amministratori) con relative informazioni quali nome, prezzo (e sconto) e quantità disponibile. Per ogni dolce è possibile visionare gli ingredienti che lo compongono.
La parte privata, invece, si raggiunge tramite login. Una volta effettuato l'accesso, si presenta l'area di backoffice dove l'amministratore può gestire i dolci (CRUD e messa in vendita) e gli ingredienti (CRUD).
Di seguito le credenziali per accedere all'area privata:
- username: [email protected] password: 12345678
- username: [email protected] password: 87654321
All'indirizzo https://pasticceriail.cytchen.it/ è disponibile la demo pubblica.
Il deploy della soluzione software è stato effettuato su una VPS con OS Ubuntu 20.04.
Clicca qui per la demo