Frontend setup — v5 (aligned to current project)¶
This document reflects the latest state of the TicketMasala codebase, incorporating architectural updates and best practices for the frontend.
High-level overview¶
- App type: Server-rendered ASP.NET Core MVC app using Razor Views, TagHelpers, and HTMX for interactivity (
src/TicketMasala.Web). - Static assets: Served from
wwwroot(JS/CSS/images). The production UI is Razor-based, with minimal reliance on JavaScript frameworks. - Frontend responsibilities: Render pages, provide declarative interactivity (HTMX), and integrate with backend services via Razor controllers returning HTML partials.
GERDA Dispatch View Updates¶
- New Properties:
Statusadded toTicketDispatchInfoto support Dispatching and Anticipation states.- Design Tokens:
- Updated gradient and success state tokens for better accessibility and brand alignment.
- Dynamic Badges:
Dispatchingbadges now include a pulsing animation.Anticipationbadges use an outlined style.
Updated Frontend Tooling¶
- Interactivity: HTMX is used for declarative interactivity (e.g.,
hx-post,hx-target). - Dependencies: No Node.js or
package.json. Libraries like HTMX are served directly fromwwwroot/libor CDNs. - State Management: Server-side state with Razor HTML.
- CSS: Standard CSS without a build step.
Accessibility, i18n & localization¶
- The site uses localized strings (tests reference localized content). Keep localized resources in
Resources/and ensure theRequestLocalizationpipeline remains configured inProgram.cs. - When editing views, verify localized text via integration tests in
IT-Project2526.Tests.
This document reflects the latest architectural decisions and ensures alignment with the "Masala Lite" monolith approach.