-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
83 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
--- | ||
sidebar_position: 2 | ||
sidebar_position: 3 | ||
slug: /architecture/ | ||
--- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
--- | ||
sidebar_position: 2 | ||
slug: /bpmn/ | ||
--- | ||
|
||
# Diagramma BPMN | ||
|
||
Questa documentazione fornisce una panoramica dettagliata del diagramma BPMN (Business Process Model and Notation) sviluppato utilizzando il Camunda Modeler e testato con il plugin Token Simulator. Il diagramma BPMN è uno strumento essenziale per modellare, visualizzare e ottimizzare i processi aziendali complessi, garantendo che tutte le fasi del processo siano chiaramente delineate e comprensibili. | ||
|
||
![Screenshot BPMN](https://raw.githubusercontent.com/acme-sky/workers/main/assets/screenshot.png) | ||
|
||
Nel diagramma BPMN progettato sono presenti diversi partecipanti che rappresentano i principali attori e componenti del sistema. Di seguito viene descritta la configurazione dei partecipanti e le loro interazioni all'interno del processo. | ||
|
||
## Partecipanti | ||
|
||
### User | ||
Il partecipante **User** rappresenta l'utente finale del sistema. Questo partecipante è eseguibile e avvia specifiche azioni nel processo, come esprimere un nuovo interesse o avviare un processo di conferma del token di un viaggio. | ||
|
||
### ACMESky | ||
Il partecipante **ACMESky** è suddiviso in tre sotto-parti, chiamate "lame", ognuna delle quali gestisce una specifica funzionalità del sistema: | ||
1. **Profilo utente**: Gestisce le operazioni relative al profilo dell'utente, inclusa l'espressione di nuovi interessi e la conferma dei token di viaggio. | ||
2. **Manager degli interessi**: Gestisce gli interessi espressi dagli utenti. Questa pool è attivata unicamente da eventi di Timer catch. | ||
3. **Manager dei voli**: Gestisce le informazioni sui voli disponibili. Anche questa pool è attivata solo da eventi di Timer catch ma anche da hook del servizio di Airline. | ||
|
||
### Prontogram | ||
Anche se non richiesto dal testo d'esame, è stato incluso il partecipante **Prontogram** per favorire una migliore integrazione tra l'utente e ACMESky. Prontogram rappresenta un servizio di messaggistica esterno che permette di inviare notifiche e aggiornamenti all'utente riguardo ai suoi interessi e voli. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,65 @@ | ||
--- | ||
sidebar_position: 3 | ||
sidebar_position: 4 | ||
slug: /services/ | ||
--- | ||
|
||
# Servizi | ||
|
||
## ACMESky | ||
|
||
### Worker | ||
|
||
L'architettura del worker è descritta nella sua [sezione | ||
apposita](/docs/architecture#worker). Qui di seguito viene descritto un suo set | ||
up d'esempio. | ||
|
||
```sh | ||
export ZEEBE_ADDRESS="localhost:26500" | ||
export BPMN_FILE="bpmn/acmesky.bpmn" | ||
export PROCESS_ID="Process_User" | ||
export RABBITMQ_URI="amqp://guest:guest@localhost:5672/" | ||
export SENTRY_DSN="<dsn che viene generato da Sentry>" | ||
export DATABASE_DSN="host=host user=user password=pass dbname=acmesky port=5432" | ||
export AIRLINES="https://airline1.com/v1,https//airline2.com/api" | ||
export AIRLINE_LOGIN_USERNAME="admin" | ||
export AIRLINE_LOGIN_PASSWORD="pass" | ||
export OFFER_VALIDATION_TIME=24 | ||
export BANK_ENDPOINT="http://api.bank.com" | ||
export BANK_PAYMENT_ENDPOINT="http://bank.com/?id=" | ||
export BANK_CALLBACK="http://backend.acmesky.com/api/pay" | ||
export BANK_TOKEN="<token-segreto>" | ||
export GEODISTANCE_API="127.0.0.1:50051" | ||
``` | ||
|
||
È possibile fare un deploy del worker e di [Camunda | ||
Platform](https://github.com/camunda/camunda-platform) usando docker-compose | ||
presente nella cartella del codice sorgente. | ||
|
||
```sh | ||
$ docker build -t acmesky-workers . | ||
$ git clone [email protected]:acme-sky/workers.git | ||
$ docker compose up | ||
``` | ||
|
||
Se non viene usato Docker, il servizio può essere eseguito con | ||
|
||
``` | ||
$ go run main.go | ||
``` | ||
|
||
### Backend | ||
|
||
TODO | ||
|
||
### Frontend | ||
|
||
TODO | ||
|
||
## Esterni | ||
|
||
Qui di seguito sono presenti i collegamenti alle pagine per singolo servizio | ||
esterno. Viene illustrato il loro set up e il link al codice sorgente. | ||
|
||
- **[Airline](/services/airline)**. Usato come gestore di una compagnia aerea. | ||
|
||
- **[Bank](/services/bank)**. Usato come gateway di un servizio bancario. | ||
|