Nuova versione della console di backoffice GovPay (riscrittura completa della console legacy Angular 5).
Stack: Angular 21+ standalone, Signals, TailwindCSS 4, Angular Material.
Workspace strutturato come seed riusabile per altri progetti Link.it.
nvm use # usa Node 22 (vedi .nvmrc)
npm install
npm start # backend default: 172.16.2.109:8080 (preset "local")L'app risponderà su http://localhost:4200.
Tutte le chiamate /govpay/backend/api/backoffice/rs/* (e /govway/in/RegioneSiciliana/*) sono inoltrate al backend tramite proxy.config.js. Il backend è selezionabile via preset:
| Comando | Preset | Target |
|---|---|---|
npm start |
local |
http://172.16.2.109:8080 |
npm run start:local-alt |
local-alt |
http://172.16.1.121:8082 |
npm run start:dev |
dev-cloud |
https://dev.govcloud.it |
npm run start:demo |
demo |
https://demo.govcloud.it |
npm run start:sicilia |
sicilia |
https://gestionepagopatest.regione.sicilia.it |
Override manuale:
GP_BACKEND=dev-cloud ng serve --proxy-config proxy.config.jsPer aggiungere/modificare un preset, edita BACKENDS in proxy.config.js.
npm run build # development
npm run build:prod # production con outputHashingL'output finisce in dist/govpay-console/browser/.
npm test # vitest watch
npm run test:run # singolo run
npm run test:coverage # con coverage v8Il file projects/govpay-console/src/environments/version.ts viene rigenerato
automaticamente come prebuild da scripts/generate-version.js (legge
package.json, raccoglie info git, scrive VERSION).
npm run version:generate # rigenera version.ts
npm run version:patch # 0.0.0 → 0.0.1 + rigenera
npm run version:minor # 0.1.0
npm run version:major # 1.0.0
npm run version:set 1.2.3 # imposta versione esattaLa pagina About (/about) mostra getFullVersion().
L'applicazione carica al boot un file di configurazione JSON (vedi
src/assets/config/app-config*.json). La selezione tra dev/prod avviene tramite
environment.configFile. La struttura è documentata in
CALUDE-NOTE/ARCHITETTURA.md.
L'app supporta più tenant senza rebuild. La selezione iniziale segue questo ordine:
- query param
?tenant=<name> - sottodominio (
<name>.dominio.it) localStorage(chiavelnk-tenant)AppConfig.CurrentTenant
ConfigService.applyTenant(name) cambia tema, branding e titolo del documento.
projects/govpay-console/src/app/
├── core/ config, auth, interceptors, layout, system, version
├── features/ dashboard, pendenze, ricevute, pagamenti, … (placeholder M1)
└── shared/ componenti / directive / pipe condivise
Vedi CALUDE-NOTE/PIANO-LAVORO.md per il piano
completo e le fasi di lavoro.
- Selettori prefissati
lnk-. - Tutti i componenti standalone + OnPush.
- Stato globale signals-only, no NgRx.
- Header licenza GPL v3 in cima ad ogni file
.ts. - Path alias:
@core/*,@feature/*,@shared/*,@environment,@environments.
GPL-3.0-or-later — Link.it srl.