Skip to content
This repository has been archived by the owner on Sep 4, 2023. It is now read-only.
Martin Cook edited this page Feb 18, 2023 · 7 revisions

logo

Welcome to the CG.Green wiki!

Green is an attempt to make an identity microservice that can support multiple clients, users, and/or devices. Towards that end, we have wrapped the Duende and ASP.NET identity libraries in a server-side Blazor host. Along the way, we've also added some administrative and nice-to-have debugging features.

Overall Design

The overall design of Green is such that we've isolated various pieces of the project from each other, in order to be more flexible and (hopefully) more reliable. Here is the overall architecture of the solution:

overall design

  • The grey pieces, CG.Green.Abstractions and CG.Green.Primitives, contain code that is shared throughout the project.

  • The blue piece, CG.Green, contains the core logic for the microservice.

  • The magenta pieces, CG.Green.Admin and CG.Green.Identity, contain UI code for identity and administrative operations.

  • The yellow piece, CG.Green.Controllers, contains REST controllers and support logic for the microservice.

  • The light green piece, CG.Green.Data, contains the core of the data-access logic for the microservice.

  • The dark green pieces contain EFCORE migrations for specific database providers.

  • The pink piece, CG.Green.Host, contains the server-side Blazor host for the microservice.

Each project in the solution has its own README file, containing pertinent notes, comments, and insights.

Database Design

The current database design (subject to change) looks like this:

Here is the current Duende side of the database:

duende database

Here is the current ASP.NET side of the database:

aspnet database

Clone this wiki locally