Framework presentation
Lagoon is DESIRADE's Blazor WebAssembly / .NET 8 application framework. The Lagoon Toolkit repository contains the framework modules and the reference applications that consume them. Projects target net8.0.
Lagoon provides a complete application foundation for building web applications hosted in Blazor WebAssembly: UI components, architecture conventions, security, data access, theming, exports, notifications, and batch processing.
Philosophy
Lagoon favors a consistent, convention-driven architecture:
- UI components prefixed with
Lg*, such asLgApp,LgGridView,LgEditForm, orLgButton; - a clear separation between the client UI, the server API, the EF Core model, business services, and shared data;
- centralized localization in
Dico.xmlfiles, with keys referenced via the#prefix; - a theming system based on the SCSS sources of the
Lagoon.UI*modules; - standardized wiring of the server, client, and batch entry points;
- dedicated modules for cross-cutting concerns: authentication, notifications, PDF or Excel exports, cloud storage, and Web Push.
Module ecosystem
The modules in the Modules folder form the foundation of the framework and its extensions. The Airbus, PF, TAS, and Custom variants are extensions or theme-specific variants of existing modules.
| Module | Role |
|---|---|
Lagoon.Core | Common foundation of the framework. |
Lagoon.Shared | Shared elements of the framework. |
Lagoon.Model | Model integration and EF Core. |
Lagoon.Services | Shared application services. |
Lagoon.Server | ASP.NET Core server infrastructure, API, and hosting of the Blazor WebAssembly application. |
Lagoon.Console | Infrastructure for batch applications and console commands. |
Lagoon.UI | Lg* Blazor components, base styles, and UI behaviors. |
Lagoon.UI.GridView | Features related to data grids. |
Lagoon.UI.Notifications | Components and integration for UI-side notifications. |
Lagoon.UI.RemoteTasks | Components related to remote tasks and tracked processes. |
Lagoon.UI.Leaflet | UI integration around Leaflet. |
Lagoon.UI.Demo | UI elements used by the demo application. |
Lagoon.WebPush | Web Push features. |
Lagoon.LDAP | LDAP integration. |
Lagoon.PDF | PDF export or generation features. |
Lagoon.Xlsx | Excel export features in XLSX format. |
Lagoon.Storage.AWS | File storage on AWS. |
Lagoon.Storage.Azure | File storage on Azure. |
Lagoon.Generators | Generators used by the framework. |
Lagoon.UI.Airbus, Lagoon.UI.PF, Lagoon.UI.TAS, Lagoon.UI.Custom | Theme variants for UI components. |
Lagoon.Server.Airbus, Lagoon.Server.PF | Customer-specific server extensions. |
Lagoon.Services.Airbus, Lagoon.Services.PF | Customer-specific service extensions. |
Lagoon.Shared.Airbus, Lagoon.Shared.PF | Customer-specific shared extensions. |
Lagoon.Console.Airbus, Lagoon.Model.PF | Customer-specific extensions of the console or model modules. |
Showcase
The Lagoon showcase lets you try out the framework's components in a demo application:
https://demo.lagoon-toolkit.com/demo/showcase
Going further
To get started, see Architecture and Project structure.