Timesheet entries
Change a row and press Update, or add a new one at the bottom. Hours must be between 0.25 and 12; dates can't be in the future.
Three front ends, one core
The same application layer (models, repository, services, validation) in Timesheet.Core, used by three different UIs:
- MVC ClassicControllers and Razor views, full page posts. Also has Microsoft Entra ID sign-in.
- Blazor Serveryou are hereInteractive components over a SignalR connection, no page reloads.
- MVC + Razor ComponentsMVC pages hosting Blazor components (abandoned experiment).
How it's built
- C# .NET, on Azure App Service.
- Each front end has its own Azure DevOps pipeline that runs the unit tests, then deploys.
- Data is held in memory, so changes last only while the app is running.
- Git repository on Azure DevOps