In this video, I walk through a full smoke test of the Sprint 5b student photograph feature for Naija Prime School — a .NET 10 / Blazor Web App school management system built for Nigerian primary schools.
Sprint 5b closes a gap that's been open since Sprint 3: the Student.PhotoUrl column existed in the database, but the upload pipeline never did — until now. In just a few minutes of testing, you'll see:
Uploading a pupil photo (JPG, PNG, or WebP up to 5 MB) from the new Photo tab on the Edit Student page
The photo instantly appearing in the Students directory, Enrolments list, Daily Attendance register, Subject Attendance register, Assessment Score Sheet, Report Cards list, and the large header avatar on the Report Card Detail view
Re-uploading a photo (JPG → PNG) with the old file cleanly removed — no orphaned files left on disk
Removing a photo and watching the avatar gracefully fall back to the pupil's initials tile
The cache-buster (?v=ticks) in action — refreshed image without a browser reload
Error paths: oversized file (10 MB) rejected, unsupported format (.gif) rejected
Git hygiene: the uploaded file does NOT appear in git status — kept out by .gitignore
No database migration was needed. No new schema changes. Everything compiles clean on .NET 10 with zero warnings.
Download the full Sprint 5b Implementation Guide (free):
GitHub Repository:
Stack: .NET 10 · Blazor Web App (Auto render mode) · EF Core 10 · SQL Server · Radzen Blazor · VS Code with C# Dev Kit
If you find this series useful, drop a like and subscribe — Sprints 1 through 5 are already up, and Sprint 6 (fees, invoices & the bursar's workflows) is coming next.
#dotnet #blazor #csharp #webdev #schoolmanagementsystem #nigeriatech #aspnetcore #efcore #radzen #sprint5b