Skip to content

giorgio-hash/ServeEasy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

174 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ServeEasy

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.

Setup del deployment (demo)

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.

Deploy del sistema a microservizi utilizzando Docker Compose

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

demo gif

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. demo img 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

demo gif 2

Se invece si volessero mantenere i container per riattivarli successivamente si può utilizzare il comando

docker compose stop

Testing della demo

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 . pagina1 pagina2

About

Management system for restaurant's orders using hexagonal-fashioned microservices using spring-boot, mariaDB, CI/CD and deployment in docker-compose

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages