Skip to content

Building an application for the WideWorldImporters using Microsoft ASP.NET Core OData. Frontends for Angular, Blazor and WPF.

License

Notifications You must be signed in to change notification settings

bytefish/WideWorldImporters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WideWorldImporters

"I just want to show some data in a table and filter it. Why is all this so, so complicated?", said everyone trying to quickly expose a dataset with an Angular application. It doesn't have to be this way.

In this repository I will show you how to use ASP.NET Core OData and EF Core to quickly build Backends and how to use Angular, Blazor and WPF to display, filter and paginate datasets.

About the Project

We will build a Backend and Frontends for the "Wide World Importers" database, which is a Microsoft SQL Server sample database for a fictional company:

The Microsoft documentation describes the fictionous "Wide World Importers" as ...

[...] a wholesale novelty goods importer and distributor operating from the San Francisco bay area.

As a wholesaler, WWI's customers are mostly companies who resell to individuals. WWI sells to retail customers across the United States including specialty stores, supermarkets, computing stores, tourist attraction shops, and some individuals. WWI also sells to other wholesalers via a network of agents who promote the products on WWI's behalf. While all of WWI's customers are currently based in the United States, the company is intending to push for expansion into other countries.

WWI buys goods from suppliers including novelty and toy manufacturers, and other novelty wholesalers. They stock the goods in their WWI warehouse and reorder from suppliers as needed to fulfil customer orders. They also purchase large volumes of packaging materials, and sell these in smaller quantities as a convenience for the customers.

Recently WWI started to sell a variety of edible novelties such as chilli chocolates. The company previously did not have to handle chilled items. Now, to meet food handling requirements, they must monitor the temperature in their chiller room and any of their trucks that have chiller sections.

I think it's a perfect non-trivial database to work with!

We are building a Backend, that scaffolds the WWI database and exposes the data with Microsoft ASP.NET Core OData 8. We will learn how to extend Microsoft ASP.NET Core OData 8 for spatial types, see how to generate the OData endpoints using T4 Text Templates and provide OpenAPI 3.0 documents for Frontend code generation goodies.

Related Articles

Various articles have been written explaining the implementation and the ideas behind. You can find the articles on my website for the various components:

About

Building an application for the WideWorldImporters using Microsoft ASP.NET Core OData. Frontends for Angular, Blazor and WPF.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published