In Progress•2026 - Active•Backend API Engineering
Contact Management API
An ASP.NET Core Web API for contact management built with Entity Framework Core, SQLite, and custom exception middleware.
Project Overview
A structured RESTful backend service engineered with ASP.NET Core and C#. It provides comprehensive CRUD operations for contact records, unique email validation, centralized exception handling middleware, DTO mappers, and interactive OpenAPI/Swagger documentation.
Architecture & Technical Highlights
- [01]Layered ASP.NET Core architecture separating Controllers, DTOs, Mappers, Domain Models, and Services.
- [02]Entity Framework Core ORM integration with SQLite persistence and schema migrations.
- [03]Custom error middleware (StorageUnavailableExceptionMiddleware) providing clean, standardized JSON error responses.
- [04]RESTful routing endpoints (/contacts, /contacts/id/{id}, /contacts/email/{email}) with duplicate conflict handling.
- [05]Interactive OpenAPI / Swagger documentation for endpoint contract verification and testing.
Engineering Challenges & Solutions
Challenges Encountered
- •Establishing strict boundaries between external request DTOs and internal domain models.
- •Handling database availability failures gracefully without exposing internal stack traces to API consumers.
Implemented Solutions
- •Created dedicated ContactMapper and strongly typed service result envelopes (CreateContactResult, GetContactResult).
- •Developed centralized middleware to catch storage exceptions and map them to HTTP 503 / 400 responses.
Key Takeaways & Lessons Learned
- Gained practical experience implementing idiomatic ASP.NET Core Dependency Injection and service lifetimes.
- Developed a deep appreciation for compiled type safety and ORM database migration workflows with EF Core.