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

CosaVerificaNote
.NET 10 SDKdotnet --versionHosting 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.12python --versionSolo 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 con package.json che referenzia wuic-framework-lib da npm registry
  • appsettings.json preconfigurato 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):

Snippet 1PowerShell
# 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/:

Snippet 2PowerShell
cd wwwroot

# Prima volta: restore dipendenze npm (pulls wuic-framework-lib da npm registry, ~2 min)
npm install

# Avvio dev server
npm run serve:dev

Il 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)

Snippet 3PowerShell
# Setup (una sola volta) — crea venv e installa dipendenze
pwsh scripts/rag-setup.ps1

# Avvio server
pwsh scripts/rag-setup.ps1 -Start

Per 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

ServizioPortaObbligatorioComando rapido
SQL Server1433si(servizio Windows)
Backend .NET5000sidotnet watch ... run
Frontend Angular4200sinpm run serve:dev
RAG Server Python8765nouvicorn 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.

Snippet 4HTML
<wuic-data-source [hardcodedRoute]="'cities'"></wuic-data-source>
<wuic-data-repeater [hardcodedAction]="'list'"></wuic-data-repeater>