Update on FullStackHero: .NET Microservices Boilerplate 🚀
Here is what's done till now:
➡️Vertical Slice Architecture
➡️Dapr Building Blocks
➡️Tye for Easier Debugging and Execution
➡️ Domain-Driven Design
➡️A separate project, fluentpos that uses the microservices framework. You can learn a lot by referring to this project in the ./fluentpos folder.
➡️ RabbitMQ using Dapr Components
➡️ Redis Caching
➡️ Entity Framework Core / MongoDb
➡️Fluent Validation
➡️ OpenId Authentication with Permissions Based on Scopes!
➡️ GitHub Actions
➡️ Built-In Container Support
➡️ Global Exception Handler
➡️ CQRS / MediatR
Beyond this point, I will start working on Terraform to get the services deployed to AWS AppRunner along with other AWS resources. Also, will add more use cases and services to the fluentpos project to mock a real-time application.
Give a star to show your support!
https://github.com/fullstackhero/dotnet-microservices-boilerplate
1 Comment
Top
New
Community
No posts
Ok. I have studied probably the last 9 months working with your Blazer onion architectured .Net solution. I mean crawled all over it & fwiw it's one of the finest examples of an implemention of multiple orchestrated of patterns to form a completed & expertly crafted solution to a problem domain.
By following along I can now leverage the same backend to a multitude of clients, not just blazor.
Originally working with the .NetCore 5 solution, I went thru earlier in the year the upgrade process to .netcore 6 for LTS. There were some bumps and it took me twice to perform the upgrade, but was able to successfully upgrade through a little trial & error.
I do have a request though, could you perhaps share a gist of how to correctly extend the intake of external APIs as a data feed to EF6? I've stepped through other commands (products) in the CQRS utilized. I've defined my own commands for my applications entities, but my question is, 'is this the right pattern to use and in the right place?' Should instead perform the external api calls to other apis i have to incorporate within the server project?
I have a working solution right now but, i'm interested to see if infrastructure, infra.shared should be extended to inclued an http client or should web calls be made from the controller then cqrs command add/edit to populate the db? This way pagedresult can be properly handled.
If you might drop that knowledge on me it would go a long way to knowing I've not broken SOLID & SoC by extension.
Again excellent example of onion architecture & credit to mastery of the art & zen of software engineering. LoL.