Skip to content

IzaakGough/inventory-management-api

Repository files navigation

Inventory Management API

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.

Tech Stack

  • C#
  • ASP.NET Core Web API
  • Entity Framework Core
  • SQLite (development)
  • Swagger / OpenAPI

Features (MVP)

  • 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)

Getting Started

Prerequisites

  • .NET SDK (7 or later)
  • Visual Studio 2022 (recommended)

Running the API

  1. Clone the repository
  2. Restore dependencies
  3. Run database migrations
  4. Start the API
dotnet ef database update
dotnet run --project Inventory.Api

Running Tests

This project includes integration tests for the Items API endpoints using xUnit and WebApplicationFactory.

Run all tests

dotnet test

API Endpoints

  • GET /api/items
  • GET /api/items/{id}
  • POST /api/items
  • PUT /api/items/{id}
  • DELETE /api/items/{id}

Roadmap

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages