The backend for the Our Library app: a .NET 10 minimal Web API secured with Auth0, backed by a SQL Server database project.
Part of the Our Library project. Frontend SPA: Our-Library-frontEnd (Vite + React).
- .NET 10 — ASP.NET Core Minimal APIs
- Auth0 — JWT bearer authentication (validates signature, audience, expiry)
- SQL Server — SSDT database project (tables + stored procedures)
- Serilog — structured logging (Console, File, Seq sinks)
- Output caching, rate limiting, and CORS
| Project | Description |
|---|---|
TheLibraryApi |
Minimal API endpoints — Auth0 JWT auth, CORS, caching, rate limiting, Serilog logging |
LibraryTools |
Data-access library and domain models |
LibraryDb |
SQL Server Database Project — tables and stored procedures |
Secrets are not committed. They come from .NET user-secrets (and/or environment
variables in production). appsettings.json ships with empty placeholders:
Set them locally with:
cd TheLibraryApi
dotnet user-secrets set "ConnectionStrings:LibraryDb" "<your connection string>"
dotnet user-secrets set "Auth0:Domain" "<your-tenant>.us.auth0.com"
dotnet user-secrets set "Auth0:Audience" "<your-api-audience>"dotnet restore
dotnet run --project TheLibraryApiThe API validates the Auth0 JWT (signature, audience, expiry) on protected endpoints, so
the frontend must send a valid Authorization: Bearer <token>.
The schema (tables + stored procedures) lives in LibraryDb/dbo. Build/publish the
LibraryDb SQL project to deploy it to your SQL Server instance.