Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SSWConsulting/Northwind365
Reference architecture for SSW.CleanArchitecture
https://github.com/SSWConsulting/Northwind365
cleanarchitecture dotnet ssw
Last synced: 7 days ago
JSON representation
Reference architecture for SSW.CleanArchitecture
- Host: GitHub
- URL: https://github.com/SSWConsulting/Northwind365
- Owner: SSWConsulting
- License: mit
- Created: 2017-06-26T10:44:38.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-03-28T23:42:52.000Z (8 months ago)
- Last Synced: 2024-05-29T23:23:26.557Z (6 months ago)
- Topics: cleanarchitecture, dotnet, ssw
- Language: C#
- Homepage: https://github.com/SSWConsulting/SSW.CleanArchitecture
- Size: 14.7 MB
- Stars: 39
- Watchers: 9
- Forks: 22
- Open Issues: 8
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
README
![SSW Banner](https://raw.githubusercontent.com/SSWConsulting/SSW.Rules.Content/main/_docs/images/ssw-banner.png)
# Northwind 365
[![SSW TV | YouTube](https://img.shields.io/youtube/channel/views/UCBFgwtV9lIIhvoNh0xoQ7Pg?label=SSW%20TV%20%7C%20Views&style=social)](https://youtube.com/@SSWTV)
[![.NET](https://github.com/SSWConsulting/Northwind365/actions/workflows/dotnet.yml/badge.svg)](https://github.com/SSWConsulting/Northwind365/actions/workflows/dotnet.yml)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/SSWConsulting/Northwind365/issues)Northwind 365 is a sample application built using .NET 8, ASP.NET Core, and Entity Framework Core.
The initial construction of this project is explained in the following blog posts:
* [Code: Northwind Traders with Entity Framework Core](https://jasontaylor.dev/northwind-traders-with-entity-framework-core/)
* [Create Northwind Traders Code First with Entity Framework Core – Part 1](https://jasontaylor.dev/create-northwind-traders-code-first-with-entity-framework-core-part-1/)
* [Create Northwind Traders Code First with Entity Framework Core – Part 2](https://jasontaylor.dev/create-northwind-traders-code-first-with-entity-framework-core-part-2/)## Learning Resources
You're interested learning more about Clean Architecture, please see this excellent video by Matt Goldman:
* [Clean Architecture with ASP.NET Core and MAUI](https://www.youtube.com/live/K9ryHflmQJE?si=VC2FtSZiAA3CxSsK)
Alternatively, SSW has many great rules about Clean Architecture:
* [SSW Rules - Clean Architecture](https://www.ssw.com.au/rules/rules-to-better-clean-architecture/)
If you'd like to start a new project using Clean Architecture, you can use the SSW Clean Architecture template:
* [SSW Clean Architecture Template](https://github.com/SSWConsulting/SSW.CleanArchitecture/)
You can also find a collection of commumity projects built on Clean Architecture here:
* [Awesome Clean Architecture](https://github.com/SSWConsulting/awesome-clean-architecture)
## Getting Started
Use these instructions to get the project up and running.
### Prerequisites
You will need the following tools:
* [Visual Studio or VS Code](https://visualstudio.microsoft.com/downloads/), or [Rider](https://www.jetbrains.com/rider/download/)
* [.NET 8 SDK](https://dotnet.microsoft.com/en-us/download)
* [Node.js](https://nodejs.org/en/) version 20.10 LTS or later - Recommended to install using [nvm](https://github.com/nvm-sh/nvm) or [nvm for Windows](https://github.com/coreybutler/nvm-windows)
* Angular CLI (version 17 or later) - install by running `npm install -g @angular/cli`### Setup
Follow these steps to get your development environment set up:
1. Clone the repository
2. At the root directory, restore required packages by running:```bash
dotnet restore
```3. Next, build the solution by running:
```bash
dotnet build
```5. Once the front end has started, within the `\Src\WebUI` directory, launch the back end by running:
```bash
dotnet run
```6. Launch [https://localhost:44427/](https://localhost:44427/) in your browser to view the Web UI
7. Launch [https://localhost:44376/api](http://localhost:44376/api) in your browser to view the API
## Technologies
* .NET 8
* ASP.NET Core 8
* Entity Framework Core 8
* Angular 15### Other Packages
* MediatR
* FluentValidation
* AutoMapper
* Ardalis.Specification
* Ardalis.GuardClauses### Testing Packages
* xUnit
* NSubstitute
* TestContainers
* Fluent Assertions
* Respawn
* Bogus## Marketing
Marketing site can be found at [northwind365.com](https://northwind365.com/) which is deployed
from [Northwind365.Website](https://github.com/SSWConsulting/Northwind365.Website).## License
This project is licensed under the MIT License - see
the [LICENSE.md](https://github.com/SSWConsulting/Northwind365/blob/main/LICENSE) file for details.