RESTful Inventory Management API built with ASP.NET Core.
This project is intended as a backend-focused learning project to deepen my experience with C#, ASP.NET Core, Entity Framework Core, and relational databases, while following clean architecture and API design principles.
- C#
- ASP.NET Core Web API
- Entity Framework Core
- SQLite (development)
- Swagger / OpenAPI
- Create, read, update, and delete inventory items
- Input validation and appropriate HTTP responses
- Persistent storage using Entity Framework Core
- Clean separation of concerns (Domain / Application / Infrastructure / API)
- .NET SDK (7 or later)
- Visual Studio 2022 (recommended)
- Clone the repository
- Restore dependencies
- Run database migrations
- Start the API
dotnet ef database update
dotnet run --project Inventory.ApiThis project includes integration tests for the Items API endpoints using xUnit and WebApplicationFactory.
dotnet test- GET /api/items
- GET /api/items/{id}
- POST /api/items
- PUT /api/items/{id}
- DELETE /api/items/{id}
- Add integration tests for core endpoints
- Migrate from SQLite to PostgreSQL
- Add authentication using JWT
- Add role-based authorization
- Add background processing for async jobs