Overview
Panoramica Framework
WUIC Framework e' una piattaforma metadata-driven per creare interfacce business in modo rapido e coerente.
Cosa include
- DataSource e DataRepeater per orchestrare dati e rendering.
- Archetypes visuali (list, map, scheduler, chart, carousel).
- Designer runtime per dashboard e template dinamici.
- Workflow designer/runner per processi operativi.
- RAG Chatbot per interrogare la codebase in linguaggio naturale.
- Multi-DBMS: SQL Server, MySQL, PostgreSQL e Oracle tramite provider drop-in (
dbms:mssql|mysql|postgresql|oracle).
First Steps — Avvio ambiente dev
Lo stack WUIC e' composto da piu' servizi. Avviali nell'ordine indicato.
Prerequisiti
| Cosa | Verifica | Note |
|---|---|---|
| .NET 10 SDK | dotnet --version | Hosting Bundle per IIS in produzione |
| Node.js 20+ | node --version | |
| SQL Server (Express) | sqlcmd -S localhost\sqlexpress -E -C -Q "SELECT 1" | Istanza sqlexpress di default |
| Python 3.12 | python --version | Solo per il RAG Chatbot (opzionale) |
1. Scarica il template di progetto
Parti dal pacchetto WuicTest-src-*.zip (link nella sezione Download del sito).
Estrailo in una cartella di lavoro, es. C:\dev\WuicTest (i file vanno direttamente nella root,
NON dentro una sottocartella src/). Il pacchetto contiene:
WuicTest.csproj→ progetto host con<PackageReference Include="WuicCore" Version="..." />wwwroot/→ app Angular conpackage.jsonche referenziawuic-framework-libda npm registryappsettings.jsonpreconfigurato in modalita'firstRun = "true"con placeholder__SET_*__appsettings-samples/→ 6 template pronti (mssql/mysql, firstRun/post-firstRun,Development)
> Non serve clonare il repository del framework: WuicCore arriva come pacchetto NuGet da
> nuget.org e wuic-framework-lib come pacchetto npm da npm registry. Il sorgente del framework
> serve solo se vuoi modificarlo — tipicamente non e' il tuo caso.
2. Database
I database devono essere gia' presenti. Connessioni in appsettings.json:
MetaDataSQLConnection— DB metadata (menu, tabelle, colonne, board, utenti)DataSQLConnection— DB dati applicativi
Se e' la prima installazione (AppSettings.firstRun = "true" nel template),
il wizard di scaffolding al primo avvio crea lo schema metadata e popola il DB dati.
Vedi la pagina Scaffolding iniziale per il flusso guidato.
3. Backend (.NET)
Dalla root della cartella estratta (es. C:\dev\WuicTest):
# Prima volta: restore pacchetti NuGet (pulls WuicCore + deps da nuget.org, ~30 s)
dotnet restore
# Avvio dev con hot reload
$env:ASPNETCORE_ENVIRONMENT = 'Development'
dotnet watch run
Il backend espone le API su http://localhost:5000.
4. Frontend (Angular)
In una seconda shell, dalla sottocartella wwwroot/:
cd wwwroot
# Prima volta: restore dipendenze npm (pulls wuic-framework-lib da npm registry, ~2 min)
npm install
# Avvio dev server
npm run serve:devIl frontend e' disponibile su http://localhost:4200.
Login di default (post-firstRun): admin / admin.
5. RAG Chatbot (opzionale)
Il RAG Chatbot (Amministrazione > RAG Chat) richiede un server Python
FastAPI su 127.0.0.1:8765. Senza di esso il componente mostra il banner
"Server RAG non raggiungibile" e lo stato RAG offline — il resto
dell'applicazione funziona normalmente.
Prerequisiti: Python 3.12 (winget install Python.Python.3.12)
# Setup (una sola volta) — crea venv e installa dipendenze
pwsh scripts/rag-setup.ps1
# Avvio server
pwsh scripts/rag-setup.ps1 -StartPer GPU CUDA: pwsh scripts/rag-setup.ps1 -CudaVersion 12.1.
Per la chat con LLM: pwsh scripts/rag-setup.ps1 -Start -AnthropicApiKey "sk-ant-...".
Senza API key funziona solo la modalita' retrieval (ricerca snippet).
Cold start ~13 secondi. Una volta che il log mostra
Uvicorn running on http://127.0.0.1:8765, ricarica la pagina nel browser.
Per produzione (Windows service NSSM) vedi la skill
skills/rag-chatbot-deploy/SKILL.md.
Riepilogo servizi
| Servizio | Porta | Obbligatorio | Comando rapido |
|---|---|---|---|
| SQL Server | 1433 | si | (servizio Windows) |
| Backend .NET | 5000 | si | dotnet watch ... run |
| Frontend Angular | 4200 | si | npm run serve:dev |
| RAG Server Python | 8765 | no | uvicorn rag_server:app ... |
Quick Start — primo componente
1. Configura endpoint AsmxProxy.
2. Definisci route metadata e colonne.
3. Monta wuic-data-source + wuic-data-repeater.
<wuic-data-source [hardcodedRoute]="'cities'"></wuic-data-source>
<wuic-data-repeater [hardcodedAction]="'list'"></wuic-data-repeater>