# jasontaylordev/northwindtraders

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jasontaylordev-northwindtraders).**

5,019 stars · 1,568 forks · C# · MIT · archived

## Links

- GitHub: https://github.com/jasontaylordev/NorthwindTraders
- awesome-repositories: https://awesome-repositories.com/repository/jasontaylordev-northwindtraders.md

## Topics

`aspnet-core` `clean-architecture` `code-first` `entity-framework-core` `northwind-database`

## Description

NorthwindTraders is an ASP.NET Core sample application that serves as a reference implementation for developing RESTful web APIs. It demonstrates the use of the .NET ecosystem to expose business functionality over HTTP.

The project provides an example of a layered application architecture, separating business logic from infrastructure and external dependencies. It implements an Entity Framework Core data layer using a code-first approach to map application objects to a relational database.

The implementation covers core backend capabilities including relational database integration, server-side request routing, and the organization of decoupled architecture layers.

## Tags

### Web Development

- [Web APIs](https://awesome-repositories.com/f/web-development/web-apis.md) — Exposes business functionality over HTTP through a RESTful web API implementation. ([source](https://github.com/jasontaylordev/northwindtraders#readme))
- [ASP.NET Core Application Frameworks](https://awesome-repositories.com/f/web-development/asp-net-core-application-frameworks.md) — Builds server-side endpoints using the ASP.NET Core framework to expose business logic over HTTP.
- [REST API Implementations](https://awesome-repositories.com/f/web-development/rest-api-implementations.md) — Provides a complete server-side implementation of RESTful endpoints for business logic and data exchange.
- [HTTP Request Routing](https://awesome-repositories.com/f/web-development/http-request-routing.md) — Utilizes a server-side routing system to map incoming HTTP requests to specific controller handler methods.

### Data & Databases

- [Code-First](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-persistence-management/persistence-unit-managers/entity-mappings/code-first.md) — Implements Entity Framework Core using a code-first approach to map C# classes to relational tables.
- [Code-to-Relational Mappings](https://awesome-repositories.com/f/data-databases/object-relational-mappings/code-to-relational-mappings.md) — Implements a data layer that maps C# objects to relational tables using a code-first approach.
- [Relational Data Storage](https://awesome-repositories.com/f/data-databases/relational-data-storage.md) — Uses Entity Framework Core to store and retrieve structured application data in a relational database. ([source](https://github.com/jasontaylordev/northwindtraders#readme))
- [Relational Database Integrations](https://awesome-repositories.com/f/data-databases/relational-database-integrations.md) — Integrates a relational database with the backend application to manage complex data relationships.
- [Relational Database Persistence](https://awesome-repositories.com/f/data-databases/relational-database-persistence.md) — Provides persistent state management using a structured SQL database for consistent data retrieval.
- [Code-First ORM Mapping](https://awesome-repositories.com/f/data-databases/code-first-orm-mapping.md) — Implements a code-first approach to translate strongly-typed C# objects into relational database records.

### Education & Learning Resources

- [Reference Implementations](https://awesome-repositories.com/f/education-learning-resources/reference-implementations.md) — Serves as a reference implementation demonstrating RESTful API development and architectural patterns in .NET.

### Software Engineering & Architecture

- [Layered Implementations](https://awesome-repositories.com/f/software-engineering-architecture/clean-architecture-frameworks/layered-implementations.md) — Isolates business logic from infrastructure by implementing a decoupled, layered architecture. ([source](https://github.com/jasontaylordev/northwindtraders#readme))
- [Layered Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/layered-architectures.md) — Organizes the codebase into distinct functional layers for presentation, business logic, and data access.
- [Dependency Injection Containers](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-containers.md) — Employs a dependency injection container to manage object lifetimes and decouple service implementations from interfaces.
- [Request Middleware](https://awesome-repositories.com/f/software-engineering-architecture/request-middleware.md) — Implements a middleware pipeline to process HTTP requests for cross-cutting concerns like logging and authentication.
