Skip to content

A simple Microservice combo in .net Core implementing Hexagonal(DDD) Architecture

License

Notifications You must be signed in to change notification settings

alvesdm/HexagonalDDDMicroserviceCombo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Build status

Hexagonal(DDD) Microservice Combo

A simple Microservice conbo(mix of all good practices) with asp.net Core 2.0 implementing Hexagonal(DDD) Architecture

In this combo you'll find:

  • asp.net core 2.0;
  • An API so that other microservices can communicate with it;
  • Worker(windows service? linux daemon? ...your choice! It's .net core, after all :p) with PeterKottas DotNetCore.WindowsService package that offers most(if not all) features you would find in TopShelf which unfirtunately is not .net core friendly yet;
  • Hexagonal architecture best practices;
  • DDD;
  • Domain events with MediatR;
  • Automatic domain validation using FluentValidation;
  • API Model validation with FluentValidation.AspNetCore integrated in the pipeline;
  • Fully injected dependencies with Autofac;
  • Mediator patttern with MediatR to provide a nice, clean and non-'fat controllers';
  • Error handling with pipeline middlewares;
  • Messaging broker with rabbitMQ and RabbitHole. Masstransit is awesome but not .net core friendly yet;
  • JWT Bearer Token Authentication & Authorization with X509SecurityKey as IssuerSigningKey;
  • Service dependencies' healthcheck(including Background worker), with FluentCheck;
  • No Service discovery implemented since I'm very enthusiatic about docker orhcestrators like Docker Swarm and Kubertenes and both provide really nice SD feature out of the box. Now in case you want to have it, you might wanna check out this package FluentDicovery.

Alright mate, hope you enjoy it. If you happen to use it and it's working like a charm in you production environment, let me know about your happy story.

License

MIT

About

A simple Microservice combo in .net Core implementing Hexagonal(DDD) Architecture

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages