Skip to content

Repository files navigation

OrderFlow

OrderFlow is a production-style inventory and order management API built with C#, ASP.NET Core Web API, Entity Framework Core, SQL Server, Redis, Docker, JWT auth, Swagger, and xUnit.

It is designed as a resume project for backend and full-stack roles that ask for .NET/C# experience.

Features

  • JWT login with a seeded admin user and role-based authorization
  • Product, customer, and order REST APIs
  • Inventory reservation during order creation
  • SQL Server persistence with Entity Framework Core and an initial migration
  • Redis-backed product detail caching with cache invalidation after inventory changes
  • Global exception middleware with consistent JSON errors
  • Swagger/OpenAPI docs with Bearer token support
  • Docker Compose for API, SQL Server, and Redis
  • xUnit tests for order inventory behavior and password hashing

Tech Stack

  • C# / .NET 8
  • ASP.NET Core Web API
  • Entity Framework Core
  • SQL Server
  • Redis distributed cache
  • Docker and Docker Compose
  • xUnit, FluentAssertions
  • GitHub Actions CI

Run With Docker

From this folder:

docker compose up --build

The SQL Server container is pinned to linux/amd64 so it can run through Docker Desktop on Apple Silicon Macs.

Swagger will be available at:

http://localhost:8080/swagger

Seeded admin login:

email: admin@orderflow.local
password: ChangeMe123!

Use /api/auth/login to get a token, then click Authorize in Swagger and paste:

Bearer <your-token>

Run Locally

Prerequisites:

  • .NET 8 SDK
  • SQL Server running on localhost:1433
  • Redis running on localhost:6379

Then run:

dotnet restore
dotnet run --project src/OrderFlow.Api/OrderFlow.Api.csproj

The app applies the initial migration and seed data when Database:AutoMigrate is true.

Test

dotnet test

Resume Bullet

OrderFlow - Inventory & Order Management API | C#, ASP.NET Core Web API, Entity Framework Core, SQL Server, Redis, Docker, xUnit
- Built a production-style backend for inventory, customer, and order workflows using ASP.NET Core Web API, JWT authentication, role-based authorization, DTO validation, global exception handling, and Swagger documentation.
- Designed SQL Server schema with Entity Framework Core migrations and LINQ queries; added Redis caching for high-read product endpoints with cache invalidation after inventory updates.
- Containerized the API with Docker Compose, added xUnit tests for inventory reservation and authentication utilities, and configured GitHub Actions CI for restore, build, and test.

About

a c# and .net learning project, order flow

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages