Web: Modernize Frontend and Authentication [v2-r4]#1119
Merged
kennethmyhra merged 7 commits intoFirelyTeam:v2-r4/masterfrom Mar 7, 2026
Merged
Web: Modernize Frontend and Authentication [v2-r4]#1119kennethmyhra merged 7 commits intoFirelyTeam:v2-r4/masterfrom
kennethmyhra merged 7 commits intoFirelyTeam:v2-r4/masterfrom
Conversation
Adds a modern React frontend: - Vite build tooling with TypeScript - Tailwind CSS v4 with custom Incendi blue flame theme - React Router for SPA navigation - SignalR hooks for real-time admin operations - Prepares for an optional GitHub OAuth authentication support
- Add AuthController for GitHub OAuth callback - Add AdminClaimsTransformation for role mapping - Configure GitHub OAuth in Startup.cs - Add appsettings.json with GitHub OAuth config - Update Spark.Web.csproj with Vite integration - Simplify Program.cs configuration
Remove obsolete components replaced by React SPA and GitHub OAuth: - ClientApp/ (old webpack-based frontend) - Controllers: AdminController, HomeController, ResourcesController - Data/: ApplicationDbContext, ApplicationDbInitializer - Migrations/: EF Core Identity migrations - Settings/: AppSettings.cs - Views/: Admin, Home, Resources razor views - wwwroot/.gitkeep
- Configure routing to support SPA client-side navigation - Update Dockerfile with npm build steps for React app - Fix environment variable precedence for Docker deployments - Improve cookie handling and redirect safety - Update integration tests to build from source Revert changes in integrations tests Removed unused curl package Revert some of the program.cs changes Revert integration-tests docker-compose Web: Link user to json format of capability statement Web: update HomePage links for capability statement and add API documentation Web: Update url to show json from resources One more... Remove db auth..
In net10.0 IWebHostBuilder is marked as obsolete. Also refactor the startup sequence, by building a default IConfiguration from our new helper class AppSettings + moves the database seeding into Startup.Configure().
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modernize Spark.Web Frontend and Authentication
This PR replaces the legacy ASP.NET MVC frontend and Identity authentication with a modern React SPA and GitHub OAuth.
Summary
Commits Walkthrough
1. 78d4b3e - Web: Add React frontend with Vite
Introduces the new frontend stack:
useMaintenanceHub) for real-time admin operations (Clear Store, Rebuild Index, Load Examples)Key files:
src/Spark.Web/app/2. 87367ac - Web: Replace ASP.NET Identity with GitHub OAuth
Implements GitHub OAuth authentication:
AuthControllerhandles OAuth callback and cookie authAdminClaimsTransformationmaps GitHub usernames to admin roleappsettings.jsonKey files:
Controllers/AuthController.cs,Services/AdminClaimsTransformation.cs3. f7ae594 - Web: Remove legacy MVC, Identity, and EF Core infrastructure
Cleans up replaced components:
ClientApp/(old webpack-based frontend)ApplicationDbContextand SQLite dependency4. Adjustments to new front end, and test enhancements
8c8e66f Adjusts router and Dockerfile to new Frontend. Also updates integrationstests, as they seemed to pull images from Docker Hub.
Configuration for testing
Add GitHub OAuth credentials to
appsettings.json:{ "GitHub": { "ClientId": "your-client-id", "ClientSecret": "your-client-secret", "AdminUsers": ["github-username"] } }