A production-style ASP.NET Core Web API demonstrating API versioning, JWT authentication, Entity Framework Core integration, Swagger documentation, and structured logging with Serilog.
- API Versioning (v0.1, v1, v2)
- RESTful endpoints
- JWT Authentication
- Entity Framework Core with SQLite
- Swagger / OpenAPI documentation
- Structured logging using Serilog
- Clean controller-based architecture
- .NET 8
- ASP.NET Core Web API
- Entity Framework Core
- SQLite
- Swagger (OpenAPI)
- Serilog
- Files endpoint
- Cities
- Specifications
- Files
- Cities
- Points of Interest
2️⃣ Restore packages dotnet restore 3️⃣ Apply database migrations dotnet ef database update 4️⃣ Run the project dotnet run 5️⃣ Open Swagger UI https://localhost:7169/swagger
🔐 Authentication
JWT authentication is implemented for secured endpoints. Protected endpoints require a valid bearer token.
🗂 Project Structure Controllers/ DbContexts/ Entities/ Models/ Services/ Migrations/
📜 Logging Application logs are written using Serilog to:
logs/cityinfo.txt 🎯 Purpose This project was built to demonstrate backend development skills including:
Designing versioned APIs
Implementing authentication and authorization
Managing relational data with EF Core
Documenting APIs using Swagger
Structuring maintainable Web API applications
👩💻 Author Omnia Ali AI & Software Engineering Student





