9. Data access and architecture
Connect SchoolApp to the real SchoolDb three ways: ADO.NET, Dapper, and EF Core database-first. Then load related data, make EF Core fast, hide every tool behind a repository, test it, and keep data correct with transactions and concurrency checks. Prerequisites: Module 8 (Advanced C#) and a built SchoolDb (Module 3).
10. Web API fundamentals
Put SchoolApp on the web: HTTP and REST, the ASP.NET Core project, middleware, controllers, dependency injection, configuration, OpenAPI, routing, validation, and correct responses. Prerequisites: Module 9 (Data access and architecture).
11. Build the SMS endpoints
Every SMS feature as an API endpoint: students, master data, teachers and guardians, enrollments, attendance, one response shape for every answer, the switch to Dapper, exams and report cards, fees, and the office dashboard. Prerequisites: Module 10 (Web API fundamentals).
12. Secure and harden the API
Make the SMS API ready for real users: signing in with JWT, roles and permissions, auditing who changed what, filters, logging, caching, rate limiting, versioning, background jobs, health checks, and tests for the whole API. Prerequisites: Module 11 (Build the SMS endpoints).
Web API extras (optional)
Four published optional lessons cover CORS, so a school website can call the API from the browser, calling other services safely with HttpClient and retries, CSV file upload and download, and EF Core migrations. Git and GitHub is planned next. Take these after Module 12; the capstone does not depend on them.