Skip to content

This is a sandbox mono repo containing an assortment of libraries, applications, experiments, and proof of concepts.

Notifications You must be signed in to change notification settings

melodic-software/medley-demo

Repository files navigation

Introduction

This is a mono repo containing many projects and applications. It is a sandbox with proof of concepts, examples, and some libraries that could later be grouped and become NuGet packages. The demo applications include Duende IdentityServer, a paired example BFF + Angular UI (using SpaYarp), a modular monolith, and other demo web APIs. It also contains a single docker compose project. I am still in the process of working out the .NET Aspire equivalent (for local development).

Library Projects

The library projects are grouped around specific concerns that I have centralized for learning, and future reference. Most of these projects reference both a configuration/options library, and a small logging library that are ultimately used for dynamic service registrations and application request pipeline middleware.

Dynamic service registrations against IServiceCollection can't make use of any of the services (like the IOptions interfaces) that would normally be provided by the DI container since it doesn't become available until after the app has been built. Any startup config / options are typically done manually with typed classes, manual binding calls, and a temporary logger instance. A temporary service provider could be built, but it isn't best practice.

The startup options, and logging components are a uniform way to log before the provider has been built and dynamically register these services at application startup. This is just something I started playing around with a while ago and have stuck with in these demo projects. It adds a decent amount of complexity, so I wouldn't really consider introducing it outside this repo. It does make the addition of a new ASP.NET Core application very quick (in this solution).

Other Documentation

For additional documentation, reference the markdown files under the docs folder in the root of this repository.

About

This is a sandbox mono repo containing an assortment of libraries, applications, experiments, and proof of concepts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published