🚀 Pre-alpha state. A platform designed for building enterprise-grade, multi-tenant products using Azure, .NET, React, TypeScript, Infrastructure as Code, etc.
Prepare PlatformPlatform for multiple self-contained systems, ensuring operational consistency between frontends by extracting common configuration and UI components to a new shared-webapp folder next to the shared-kernel used by the backend.
The following changes have been made:
Switch Yarn to npm - it's "boring" technology but is widely supported both in tooling and organizations
Move build to Rsbuild, a pre-configured Rsbuild
Set up Turborepo tooling for working with frontend build dependencies in a mono repository.
Centralize configurations in shared-webapp repository packages
Switch Prettier with Biome, allowing for faster cleanup and more flexibility
Upgrade to React 19 Release Candidate
Open API json files are now checked in, allowing developers to see changes and build the frontend without first compiling the backend
Restructure the WebApp with a clear folder structure with /pages, /shared, and /public
Shared WebApp packages:
config - for TypeScript configurations
build - Build environment and plugins
infrastructure - for API / Authentication / Translations / Routing, etc.
ui - Shared UI components
utils - for general shared functionality
Finally, this change also removes the need for having the dist folder checked in, and the old client filesystem router has been deleted.
Checklist
[x] I have added a Label to the pull-request
[x] I have added tests, and done manual regression tests
[x] I have updated the documentation, if necessary
Summary & Motivation
Prepare PlatformPlatform for multiple self-contained systems, ensuring operational consistency between frontends by extracting common configuration and UI components to a new
shared-webapp
folder next to theshared-kernel
used by the backend.The following changes have been made:
shared-webapp
repository packages/pages
,/shared
, and/public
Shared WebApp packages:
config
- for TypeScript configurationsbuild
- Build environment and pluginsinfrastructure
- for API / Authentication / Translations / Routing, etc.ui
- Shared UI componentsutils
- for general shared functionalityFinally, this change also removes the need for having the
dist
folder checked in, and the oldclient filesystem router
has been deleted.Checklist