Software Gestionale per il managing di un'attività di ristorazione con design a microservizi.
Componenti attualmente in beta:
- serveeasy_gateway: gateway per comunicazione unificata col sistema;
- GestioneComanda: schedulazione algoritmica degli ordini tramite struttura a priorità;
- GestioneCucina: gestione a code verso le postazioni di cucina, classificate per ingrediente;
- GestioneCliente: gestione di comande (intesa come collezione dei singoli ordini) ed ordini verso il dispositivo cliente.
Algoritmo attualmente in beta: indexMinPQ buffer producer-consumer pattern per schedulazione ordini.
Prima di procedere è necessario possedere Docker Desktop (Windows, Mac) o Docker Engine (Linux, Mac).
Si può clonare questa repository con git, oppure è sufficiente creare una cartella dove copiare la cartella db/ ed il file docker-compose.yaml di questa repository, ricreando la seguente struttura:
cartella/
└───db/
│ └───initial-data-and-schema.sql
└───docker-compose.yaml
In particolare, initial-data-and-schema.sql contiene schema SQL e dati di prova ai fini della demo.
Per scaricare le dipendenze ed avviare la rete di microservizi, aprire una riga di comando nella cartella contenente il docker-compose.yaml e digitare il comando:
docker compose up
Durante il caricamento, verifica la salute della rete. Apri una riga di comando e digita:
docker ps
Puoi interagire col sistema non appena vedi solo "healthy" di fianco ai servizi interessati. Per disattivare la rete e rimuovere i container si può procedere con la combinazione tasti Ctrl + C oppure, con una riga di comando nella cartella contenente il docker-compose.yaml digitare il comando:
docker compose down
Se invece si volessero mantenere i container per riattivarli successivamente si può utilizzare il comando
docker compose stop
Di seguito vengono riportate delle chiamate di prova per il collaudo. Le chiamate documentate e pubblicate su Postman sono disponibili qui.
aggiornamento: ora che il docker-compose.yml è dotato del componente gateway, tutte le chiamate vanno redirette verso 8083. Le chiamate di test verso GestioneComanda non sono direttamente disponibili. Togliere i commenti dal docker-compose.yml se si vuole ripristinare il port-binding verso localhost:8082, localhost:8081 e localhost:8080.
Ai fini della demo è stato incluso un file reset_db.bat per eliminare i dati del database, da usare solamente prima o dopo l'avvio della demo .