Skip to content

Initial repository baseline: solution, packages, host demo, licensing, persistence, components and CI#7

Closed
Code-311 wants to merge 2 commits intomainfrom
codex/design-modular-ui-framework-code311-for-asp.net-core-cx2kk0
Closed

Initial repository baseline: solution, packages, host demo, licensing, persistence, components and CI#7
Code-311 wants to merge 2 commits intomainfrom
codex/design-modular-ui-framework-code311-for-asp.net-core-cx2kk0

Conversation

@Code-311
Copy link
Owner

@Code-311 Code-311 commented Mar 6, 2026

Motivation

  • Establish a Phase‑0 baseline for the Code311 multi‑package repository with a solution file, repository-wide build defaults, centralized package versions and a CI pipeline.
  • Provide a minimal working implementation surface (abstractions, core orchestration, Tabler mapping, components, widgets, adapters) and infrastructure (licensing, EF Core preference store) so downstream work and integration tests can be exercised.
  • Add a hybrid MVC + Razor demo host to validate integration points (theme, widgets, feedback, licensing, preferences) and to demonstrate expected package wiring.
  • Enforce quality gates (nullable, XML docs, analyzers via Directory.Build.*) and pin the SDK via global.json for deterministic builds.

Description

  • Added solution and CI: created Code311.sln and a GitHub Actions workflow /.github/workflows/ci.yml that runs dotnet restore, dotnet build and dotnet test for the solution.
  • Repository build and governance: added Directory.Build.props, Directory.Build.targets to enable Nullable, ImplicitUsings, XML docs and fail builds on missing docs/nullable, and Directory.Packages.props for central package versioning; added global.json to pin .NET SDK preview.
  • Implemented package skeletons and core logic: created Code311.Ui.Abstractions, Code311.Ui.Core, Code311.Tabler.Core, Code311.Tabler.Components, Code311.Tabler.Dashboard, Code311.Tabler.Mvc, Code311.Tabler.Razor, widget packages (DataTables, Calendar, Charts), Code311.Persistence.EFCore, Code311.Licensing, and Code311.Host demo application with controllers, pages and views.
  • Key technical pieces: Tabler semantic mapper and theme mapper (TablerSemanticClassMapper, TablerThemeMapper), tag helpers and view components for components/layout/feedback/forms/media/navigation, widget slot contracts and initialization serialization, EF Core Code311PreferenceDbContext + EfCoreUserUiPreferenceStore and model mapping, licensing subsystem (ILicenseSource, DefaultLicenseValidator, StartupLicenseValidator, ILicenseFeatureGate) with in‑memory and environment sources, and MVC/Razor adapter glue that wires request scoped stores, filters and helpers.
  • Documentation and ADRs: added README.md, docs/adr/* and an architecture proposal describing the intent and layering of packages.
  • Tests: added multiple test projects and representative unit/integration tests across packages (abstractions, core, tabler core/components/dashboard, widgets, licensing, persistence, host orchestration and MVC/Razor integration tests).

Testing

  • CI configuration added to run the full suite via dotnet test Code311.sln as part of the ci workflow which checks out the code, sets up the .NET SDK (via actions/setup-dotnet@v4) and runs dotnet restore, dotnet build and dotnet test.
  • Test projects added include representative unit and integration tests for licensing, EF Core preference store, Tabler core/components/dashboard/widgets, Ui.Core orchestration, MVC and Razor adapter behaviors, and host preference orchestrator tests; these are exercised by the CI step noted above.
  • No automated test run output was included in this rollout snapshot, so test execution results are not available in this PR summary. Please run the CI workflow or dotnet test Code311.sln locally/CI to validate the tests in your environment.

Codex Task

@Code-311 Code-311 closed this Mar 6, 2026
@Code-311 Code-311 deleted the codex/design-modular-ui-framework-code311-for-asp.net-core-cx2kk0 branch March 6, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant