Benvenuti in Tess UI Library
Tess UI Library è una libreria Angular enterprise-ready che fornisce componenti UI riutilizzabili, servizi core e utilities per costruire applicazioni moderne e scalabili.
🎯 Caratteristiche Principali
🎨 UI Kit Agnostic
- Supporto multiplo per diversi framework UI (PrimeNG, Bootstrap, Material)
- Architettura adapter-based che permette di cambiare UI kit senza modificare il codice business
- Skin switching runtime per multi-tenancy
🧩 Componenti Enterprise
- AutoForm: Sistema di generazione dinamica di form da modelli JSON
- DataTable: Tabella enterprise con paginazione server-side, multi-sort, filtri avanzati e export
- SideMenu: Menu laterale gerarchico con navigazione e gestione permessi
- Dialog & Toast: Servizi di notifiche e dialog UI-agnostic
🔧 Servizi Core
- Authentication: Integrazione con Azure Entra ID (ex Azure AD)
- Logging: Sistema di logging strutturato con supporto Application Insights
- Traceability: TraceId automatico per tracking di richieste e log
- Storage: Astrazione per localStorage, sessionStorage e IndexedDB
- Theming: Gestione temi dinamici
✅ Pattern e Best Practices
- Result Pattern: Gestione errori consistente in tutta l'applicazione
- Clean Architecture: Separazione tra presentazione, dominio e dati
- SOLID Principles: Codice manutenibile e testabile
- Dependency Injection: Uso estensivo di interfaces e InjectionTokens
♿ Accessibilità e Internazionalizzazione
- Supporto WCAG 2.1 con ARIA completo
- Navigazione da tastiera
- i18n integrato
🚀 Quick Start
npm install @tess-ui-library/core
npm install primeng primeicons @primeuix/themes
Configura nella tua applicazione Angular:
import { provideTessUiLibrary } from '@tess-ui-library/core';
export const appConfig: ApplicationConfig = {
providers: [
provideTessUiLibrary(),
// altri providers...
],
};
📚 Documentazione
- Getting Started: Inizia da qui per configurare la libreria
- Configuration: Guida completa alla configurazione
- Components: Documentazione dei componenti
- Services: Guida ai servizi core
- Architecture: Approfondimento sull'architettura
- Versioni e Analisi Funzionale: Requisiti funzionali e documentazione tecnica per versione
🏗️ Struttura del Progetto
La libreria è organizzata seguendo Clean Architecture:
libs/tess-ui-library/
├── core/ # Servizi core singleton (auth, logging, config)
├── shared/ # UI components, utilities, validators riutilizzabili
├── features/ # Feature modules (autoform, table)
├── adapters/ # UI Kit adapters (PrimeNG, Bootstrap, ecc.)
└── ui-kit-factory/ # Factory pattern per UI Kit switching
🤝 Contributi
Questa libreria è in continua evoluzione. Per contribuire o segnalare issues, visita il repository GitHub.
📄 Licenza
Vedi il file LICENSE per i dettagli.