L
Lakshmithra

Loan Origination Software NBFC

MudBlazor Dashboard presenting loan origination metrics, metric cards and a MudTable of recent applications. Includes a MudForm-based new application flow with client-side validation.

LIVE DEMO
Generated using Instruct UI - An AI for Blazor UI Generation
## What's implemented - Dashboard layout with navigation (MudAppBar, MudDrawer) and key metric cards. - Recent Applications table using MudTable with status chips and action buttons. - New loan application view implemented as LoanApplicationForm using MudForm with field-level validation and submit flow. - Simulated async loading and local state updates to demonstrate inter-component interaction. ## Key components - MudLayout, MudAppBar, MudDrawer, MudNavMenu, MudNavLink - MudGrid, MudItem, MudCard, MudCardContent, MudCardHeader - MudTable<T>, MudChip, MudIconButton, MudButton - MudForm, MudTextField, MudDatePicker, MudSelect, MudNumericField, MudProgressLinear - LoanApplicationModel, DashboardMetricsModel ## How it works - UI binds data with @bind-Value / @bind-Date and toggles the drawer via @bind-Open; currentView switches between dashboard and the form. - MudTable renders Items="@recentApplications" and uses RowTemplate for per-row content; loading state demonstrates Loading indicator handling. - LoanApplicationForm uses a MudForm reference and a custom ValidateModel Func to return validation errors per property; SubmitApplication calls form.Validate() and invokes OnApplicationSubmitted when valid. - Simulated API calls use Task.Delay; HandleApplicationSubmitted inserts new records into recentApplications and updates metric counters. ## Styling - Uses MudBlazor component theming (Color, Typo, Elevation) for consistent material styling. - Custom CSS in app.css targets .loan-dashboard, .metric-card hover effects, .status-chip weight, form layout (.application-form) and responsive tweaks for .mud-table-container. - Layout responsiveness relies on MudGrid/MudItem breakpoints (xs, md) rather than utility frameworks. ## Reuse steps 1. Add the MudBlazor NuGet package and register services in Program.cs (builder.Services.AddMudServices()). 2. Import MudBlazor in _Imports.razor and include MudBlazor CSS/JS in index.html or _Host.cshtml. 3. Add LoanApplicationModel and DashboardMetricsModel to the project and adjust namespaces. 4. Copy MainDashboard.razor, LoanApplicationForm.razor and app.css into the app; update routes as needed. 5. Replace Task.Delay stubs with real API calls and inject services (HttpClient, repositories, or state stores). 6. Add authentication, server-side validation, paging/sorting for the table, and persistence before production. ## Limitations & next steps - This is a single-page demo generated by Instruct UI; backend services, auth, and data persistence are not implemented. - MudTable uses in-memory Items; add server-side paging, filtering and sorting or migrate to MudDataGrid for large datasets. - Consider stronger validators, file/document uploads, role-based navigation, and unit tests for validators and submit logic.