Putting Faces to Names: Student Photo Upload Feature | Naija Prime School Sprint 5b

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:

:white_check_mark: Uploading a pupil photo (JPG, PNG, or WebP up to 5 MB) from the new Photo tab on the Edit Student page
:white_check_mark: 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
:white_check_mark: Re-uploading a photo (JPG → PNG) with the old file cleanly removed — no orphaned files left on disk
:white_check_mark: Removing a photo and watching the avatar gracefully fall back to the pupil's initials tile
:white_check_mark: The cache-buster (?v=ticks) in action — refreshed image without a browser reload
:white_check_mark: Error paths: oversized file (10 MB) rejected, unsupported format (.gif) rejected
:white_check_mark: 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.

:page_facing_up: Download the full Sprint 5b Implementation Guide (free):

https://github.com/benjaminsqlserver/NaijaPrimeSchool/raw/main/Sprint%205b%20-%20Implementation%20Guide.docx

:link: 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