Skip to main content

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 as LgApp, LgGridView, LgEditForm, or LgButton;
  • a clear separation between the client UI, the server API, the EF Core model, business services, and shared data;
  • centralized localization in Dico.xml files, 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.

ModuleRole
Lagoon.CoreCommon foundation of the framework.
Lagoon.SharedShared elements of the framework.
Lagoon.ModelModel integration and EF Core.
Lagoon.ServicesShared application services.
Lagoon.ServerASP.NET Core server infrastructure, API, and hosting of the Blazor WebAssembly application.
Lagoon.ConsoleInfrastructure for batch applications and console commands.
Lagoon.UILg* Blazor components, base styles, and UI behaviors.
Lagoon.UI.GridViewFeatures related to data grids.
Lagoon.UI.NotificationsComponents and integration for UI-side notifications.
Lagoon.UI.RemoteTasksComponents related to remote tasks and tracked processes.
Lagoon.UI.LeafletUI integration around Leaflet.
Lagoon.UI.DemoUI elements used by the demo application.
Lagoon.WebPushWeb Push features.
Lagoon.LDAPLDAP integration.
Lagoon.PDFPDF export or generation features.
Lagoon.XlsxExcel export features in XLSX format.
Lagoon.Storage.AWSFile storage on AWS.
Lagoon.Storage.AzureFile storage on Azure.
Lagoon.GeneratorsGenerators used by the framework.
Lagoon.UI.Airbus, Lagoon.UI.PF, Lagoon.UI.TAS, Lagoon.UI.CustomTheme variants for UI components.
Lagoon.Server.Airbus, Lagoon.Server.PFCustomer-specific server extensions.
Lagoon.Services.Airbus, Lagoon.Services.PFCustomer-specific service extensions.
Lagoon.Shared.Airbus, Lagoon.Shared.PFCustomer-specific shared extensions.
Lagoon.Console.Airbus, Lagoon.Model.PFCustomer-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.