2.6 KiB
2.6 KiB
LUX - Agent Instructions
.NET 8 MES (Manufacturing Execution System) for window/door/casing production.
Solutions & Projects
Two solutions:
Lux.All.sln - Main application (build this):
Lux.UI- Blazor Server (identity-secured app), entry pointLux.UI.Client- Blazor WASM (shared client lib)Lux.API- REST API (JWD-to-SVG/Engine calls via Redis)EgwCoreLib.Lux.Core- Core domain/business libraryEgwCoreLib.Lux.Data- EF Core data layer + migrations
Lux.Report.sln - Reporting:
Lux.Report.Server- Blazor Server report hostLux.Report.Manager- Blazor Server report managerLux.Report.Data- Report domain + EF models
Commands
dotnet restore Lux.All.sln
dotnet build Lux.All.sln
dotnet run --project Lux.UI # run main app (development)
dotnet run --project Lux.API # run API
No test project exists. TestDevExpress/ is a Blazor demo app, not unit tests.
Central package management: Directory.Packages.props controls all versions. Edit there, not in individual .csproj files.
Architecture notes
Lux.UIdepends on bothEgwCoreLib.Lux.CoreandEgwCoreLib.Lux.DataLux.APIdepends on Core + Data (no UI layer)Lux.UI.Client(WASM) sharesComponents/Blazor components withLux.UI- Data layer uses both SQL Server (Identity via
ApplicationDbContext) and MySQL (Pomelo, viaDataLayerContext) - Redis is used for Engine communication channels and caching
- All projects use
<Nullable>enable</Nullable>and<ImplicitUsings>enable</ImplicitUsings> .pubxmlIIS publish profiles are version-controlled underProperties/PublishProfiles/- Every project has a
post-build.ps1that runs version stamping
Migrations
- Identity migrations:
Lux.UI/Data/Migrations/(SQL Server,ApplicationDbContext) - Domain migrations:
EgwCoreLib.Lux.Data/Migrations/(MySQL,DataLayerContext)
CI/CD
GitLab CI in .gitlab-ci.yml. NuGet sources must be fixed before restore:
dotnet nuget remove source "Steamware Nexus Proxy"
dotnet nuget remove source "nexus-proxy-v3"
dotnet nuget remove source "nexus-hosted"
dotnet nuget add source https://nexus.steamware.net/repository/nuget-proxy-v3/index.json -n nexus-proxy-v3 -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text
dotnet nuget add source https://nexus.steamware.net/repository/nuget-hosted/ -n nexus-hosted -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text
Frameworks
- Radzen.Blazor (UI components)
- DevExpress (Blazor reporting, used in Report projects + TestDevExpress)
- Newtonsoft.Json, Swashbuckle, NLog, OpenTelemetry (API + UX)
- Scrutor (DI extensions)