Skip to content

Omnia9789/CityInfo.VersionedAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌍 CityInfo.VersionedAPI

A production-style ASP.NET Core Web API demonstrating API versioning, JWT authentication, Entity Framework Core integration, Swagger documentation, and structured logging with Serilog.


🚀 Features

  • 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

🛠 Tech Stack

  • .NET 8
  • ASP.NET Core Web API
  • Entity Framework Core
  • SQLite
  • Swagger (OpenAPI)
  • Serilog

📦 API Versions Overview

🔹 Version 0.1

  • Files endpoint

🔹 Version 1

  • Cities
  • Specifications
  • Files

🔹 Version 2

  • Cities
  • Points of Interest

▶️ Running the Project Locally

1️⃣ Clone the repository

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

📸 Screenshots

Authentication & Authorization

Swagger

Example Response

🔐 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

About

Versioned ASP.NET Core Web API with JWT authentication, EF Core, SQLite, Swagger documentation, and structured logging.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages