Coder Social home page Coder Social logo

huntex / microservice-template Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nkz-soft/microservice-template

0.0 0.0 0.0 201 KB

Template for a microservice based on DDD and Clean Architecture with .NET

License: MIT License

Shell 0.09% C# 99.78% Dockerfile 0.13%

microservice-template's Introduction

microservice-template

Template for microservice based on DDD and Clean Architecture with .NET

The main aim of this project is to provide a means for building microservices with the latest technology and architecture.

Installing as a template

dotnet new install  .\ 

Creating a new application

dotnet new nkz-template -o My.NewApp

โญ Give a star

If you're using this repository for your learning, samples or your project, please give a star. Thanks ๐Ÿ‘

Table of Contents

The aim of the project

I would like this project to help you find simplified and effortless solutions. You can treat it as a modular project and reuse the modules in your projects.

Plan

  • REST API samples
  • GRPC API samples
  • Improve integration tests to use Testcontainers
  • GraphQL API samples
  • MassTransit and RabbitMq
  • Minimal hosting model
  • Migrate to .NET 7
  • HealthCheck
  • Websocket (SignalR)
  • GRPC Error handling in interceptors
  • Enabling Central Package Management
  • Uses Chiseled Ubuntu image
  • OpenTelemetry
  • Add caching for EF Core
  • MongoDB data provider

Technologies used

NET Core 7 : .NET Core, including ASP.NET Core

EntityFrameworkCore: EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.

Npgsql: Npgsql is the open source .NET data provider for PostgreSQL. It allows you to connect and interact with PostgreSQL server using .NET.

Mapster: A mapper library for .NET.

GuardClauses: A simple extensible package with guard clause extensions.

Testcontainers: Testcontainers is a library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.

FluentValidation: A validation library for .NET that uses a fluent interface and lambda expressions for building strongly-typed validation rules.

FluentAssertions: A very extensive set of extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style unit tests.

protobuf-net: protobuf-net is a contract based serializer for .NET code, that happens to write data in the "protocol buffers" serialization format engineered by Google.

hotchocolate: A GraphQL server to create GraphQL endpoints and merge schemas.

MassTransit: MassTransit is a free, open-source distributed application framework for .NET.

FluentResults: FluentResults is a lightweight .NET library developed to solve a common problem. It returns an object indicating success or failure of an operation instead of throwing/using exceptions.

Specification: Base class with tests for adding specifications to a DDD model. Also includes a default generic Repository base class with support for EF6 and EF Core.

Scrutor: Assembly scanning and decoration extensions for Microsoft.Extensions.DependencyInjection.

RestSharp: RestSharp is a lightweight HTTP client library. It's a wrapper around HttpClient, not a full-fledged client on its own.

SignalR: ASP.NET Core SignalR is a library for ASP.NET Core developers that makes it incredibly simple to add real-time web functionality to your applications.

microservice-template's People

Contributors

nkz-soft avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.