##### Context Rempla.Admin is an internal operations portal for support, ops, and admin roles. It was initially scaffolded as an ASP.NET Core MVC project (same template as Rempla.Web). The question arose whether to continue with MVC or switch to Razor Pages. Rempla.Web uses MVC with a custom panel-based layout, vanilla JS, and ES modules — a pattern designed for a rich, interactive user experience. The admin portal has fundamentally different needs: it's an internal CRUD tool where simplicity, speed of development, and maintainability matter more than UI sophistication. ##### Decision Use **ASP.NET Core Razor Pages with Bootstrap 5.3 (CDN)** for Rempla.Admin. - **Razor Pages** instead of MVC — page-per-feature model, no controller indirection - **Bootstrap via CDN** instead of custom CSS — standard admin UI with no frontend build - **Server-rendered pages** — no SPA patterns, no panel composition, no ES modules - **No shared frontend patterns with Rempla.Web** — the two apps serve different audiences and have different UX goals ##### Rationale - **Simpler than MVC for CRUD**: Each page is self-contained (`.cshtml` + `.cshtml.cs`). No need to coordinate controllers, actions, and views across separate directories. `OnGet`/`OnPost` handlers keep everything for a page in one place. - **URL = file path**: No routing conventions to configure or debug. The URL maps directly to the page file. - **Bootstrap is sufficient**: An internal admin tool doesn't need a custom design system. Bootstrap provides forms, tables, navigation, and responsive layout out of the box. - **Divergence from Rempla.Web is intentional**: The panel-based layout with vanilla JS composition is designed for the benefactor/beneficiary experience. Applying that same architecture to an internal tool would add complexity without benefit. - **Faster to build**: Less ceremony per page means faster feature development for admin screens (entity management, queues, dashboards). ##### Consequences - Rempla.Admin and Rempla.Web have different frontend architectures — no shared views or layouts - Admin pages follow a conventional folder structure: `Pages/EntityName/Index`, `Create`, `Edit`, `Detail` - Bootstrap updates are managed via CDN version pinning (SRI hashes for integrity) - No offline capability (CDN dependency) — acceptable for an internal tool --- **Decision Date**: March 3, 2026 **Author**: Lead Architect