UI Service è parte della suite di servizi per la verifica delle informazioni sulla Trasparenza dei siti web delle Pubbliche amministrazioni italiane. Integra e mostra i dati presenti nei vari servizi fornendo la possibilità, avendo gli opportuni permessi, di attivare le funzionalità preposte all'inserimento e alla cancellazione degli stessi, inoltre è possibile attivare l'autenticazione su tutte le pagine, o in alternativa di accedere senza autenticazione per la sola consultazione dei dati per poi richiederla successivamente.
- Dipendenze principali
- Variabili di Ambiente
- Autorizzazioni
- Come installare
- Docker
- Come contribuire
- Licenza
Nome | Versione |
---|---|
Angular | 20.0.4 |
Amcharts5 | 5.12.1 |
Leaflet | 1.9.4 |
d3-org-chart | 3.1.1 |
bootstrap-italia | 2.16.0 |
Design Angular Kit | 2.0.0 |
Nome | Valore di default | Descrizione |
---|---|---|
BASE_HREF | / | URL di base da usare per tutti i link relativi |
API_URL | https://dica33.ba.cnr.it | URL di riferimento dei servizi |
COMPANY_API_URL | $API_URL/public-sites-service | URL del servizio public-sites-service |
CONDUCTOR_API_URL | $API_URL/conductor-server | URL del servizio conductor-service |
RESULT_API_URL | $API_URL/result-service | URL del servizio result-service |
RESULT_AGGREGATOR_API_URL | $API_URL/result-aggregator-service | URL del servizio result-aggregator-service |
TASK_SCHEDULER_API_URL | $API_URL/task-scheduler-service | URL del servizio task-scheduler-service |
RULE_API_URL | $API_URL/rule-service | URL del servizio rule-service |
CRAWLER_API_URL | $API_URL/crawl | URL del servizio crawler-service |
OIDC_ENABLE | false | Parametro che indica se è attiva l'autenticazione tramite protocollo basato su OAuth 2.0 |
OIDC_FORCE | false | Parametro che indica se l'autenticazione viene forzata su tutte le pagine |
OIDC_AUTHORITY | URL del servizio authority di norma è nella forma .../.well-known/openid-configuration |
|
OIDC_REDIRECTURL | http://localhost/auth/signin | URL necessiaria per il redirect dopo l'accesso |
OIDC_CLIENTID | angular-public | Identificativo del client da usare, va impostato sul sistema di autenticazione |
OIDC_POSTLOGOUTREDIRECTURL | URL da utilizzare dopo aver effettuato il logout può essere anche vuoto |
Nella enumeration role.enum.ts sono definiti i ruoli gestiti all'interno del servizio, il ruolo viene recuperato dal TOKEN JWT, nello specifico dai ruoli presenti all'interno dell'attributo "realm_access":
"realm_access": {
"roles": [
"ROLE_SUPERUSER",
"default-roles-trasparenzai",
"offline_access",
"uma_authorization"
]
}
Il metodo consigliato è installare Node.js, che include anche npm.
✅ Metodo 1: Usare il gestore di pacchetti della distro
sudo apt update
sudo apt install nodejs npm
Verifica:
node -v
npm -v
sudo dnf install nodejs
sudo pacman -S nodejs npm
✅ Metodo 2: Usare Node Version Manager (nvm) – consigliato
- Installa nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
- Chiudi e riapri il terminale, poi esegui:
nvm install --lts
nvm use --lts
- Verifica installazione:
node -v
npm -v
✅ Vantaggi: puoi gestire più versioni di Node.js!
- Vai su https://nodejs.org
- Scarica la versione LTS (Long Term Support)
- Esegui il file .msi e segui le istruzioni (assicura che sia selezionata l'opzione per installare anche npm)
- Una volta terminato, apri il terminale (cmd o PowerShell) e verifica:
node -v
npm -v
Dopo aver installato npm si può procedere all'installazzione dei pacchetti definiti all'interno del file package.json con la seguente istruzione:
npm install
Dopo aver installato le dipendenze e modificato il file env.js con i parametri corretti si può avviare il servizio con la seguente istruzione:
npm start
Verrà aperta un finestra del browser predefinito alla URL http://localhost:4200/#/
- Installa Docker Linux: Segui la guida su https://docs.docker.com/engine/install/
- Windows/Mac: Scarica Docker Desktop da https://www.docker.com/products/docker-desktop
Il servizio è dotato di un Dockerfile e tramite GitHub Action pubblica le immagini su ghcr.io.
Per avviare il servizio tramite docker, impostando correttamente le variabili d'ambiente, basta eseguire la seguente istruzione:
docker run -p 80:80 -e OIDC_ENABLE=true ghcr.io/cnr-anac/ui-service:latest
E' possibile contribuire a questo progetto utilizzando le modalità standard della comunità opensource (issue + pull request) e siamo grati alla comunità per ogni contribuito a correggere bug e miglioramenti.
UI Service è concesso in licenza GNU AFFERO GENERAL PUBLIC LICENSE, come si trova nel file LICENSE.