GithubHelp home page GithubHelp logo

bellmit / yourcrm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from justjordant/yourcrm

0.0 0.0 0.0 90 KB

๐Ÿ•ธ .NET Clean Architecture, but for Microservices project. It uses Minimal Clean Architecture with DDD-lite, CQRS-lite, and just enough Cloud-native patterns apply on the simple OpenERP running on Tye with Dapr extension ๐Ÿป

License: MIT License

C# 100.00%

yourcrm's Introduction

๐Ÿ‘จโ€๐Ÿ’ผ yourCRM ๐Ÿ‘ฉโ€๐Ÿ’ผ

CRMs increase your profitability by streamlining administrative processes in your sales, marketing, and service divisions, and letting you focus on building and maintaining the customer relationships that matter.

This project will utilize some of the current best practises as of today from a Clean-Architecture standpoint as well as utilizing microservices as well.

Some of the technologies that will be used in is stack will be as followed, you can think of this as a current roadmap.

โ™ฅ๏ธ Technical stacks

  • .NET Core 6 - .NET Framework and .NET Core, including ASP.NET and ASP.NET Core
  • MVC Versioning API - Set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core
  • YARP - A toolkit for developing high-performance HTTP reverse proxy applications
  • MediatR - Simple, unambitious mediator implementation in .NET
  • EF Core - Modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations
  • FluentValidation - Popular .NET validation library for building strongly-typed validation rules
  • Swagger & Swagger UI - Swagger tools for documenting API's built on ASP.NET Core
  • serilog - Simple .NET logging with fully-structured events
  • Dapr dotnet-sdk - Dapr SDK for .NET
  • RestEase - Easy-to-use typesafe REST API client library for .NET Standard 1.1 and .NET Framework 4.5 and higher, which is simple and customisable
  • Polly - Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner
  • Scrutor - Assembly scanning and decoration extensions for Microsoft.Extensions.DependencyInjection
  • opentelemetry-dotnet - The OpenTelemetry .NET Client
  • Blazor - WASM - Client web apps with C#
  • BFF - Framework for ASP.NET Core to secure SPAs using the Backend-for-Frontend (BFF) pattern

๐Ÿงฐ Resources

๐ŸŽ‡ Minimal DDD, CQRS, and Clean Architecture

  1. Domain-driven Design (a.k.a DDD) demonstrates it can help the business tidy and organized in many years. But it is hard to approach and use, we need to make it easier to use in real projects when we get started.

  2. Command and Query Responsibility Segregation (a.k.a CQRS) helps to separate components into command and query parts, but again it's really hard and might bloat when we get starting some of the project. We need something more lightweight, just like https://github.com/gautema/CQRSlite, but we might not need Event Sourcing in almost all projects.

  3. Clean Architecture helps the project structure easier to refactor and evolve in medium and big projects. Especially in the Microservice world, we always want to do and try with a lot of time in the project lifetime. The thing is boilerplate code in this kind of project to make components lose coupling.

=> When we jump in and set up the project for the Microservice approach. We want to apply all the best practices from the community, and some kind of patterns and architecture above sometimes makes us feel power off when start implements the first line of code which actually solves the business requirements. So the solution is we need something minimal and enough to get starting, and then when our business gets grows by the time, then we go back to add more. That's what's the practical way to go!

clean-architecture-dotnet is a collection of basic building blocks and project structure to help we get starting the project with less code boilerplate and effortless. We focus on the Microservice approach of how can we organize code, the project with the monorepo approach, and you can use it for modular monolith projects as well. image Reference to https://github.com/Sairyss/domain-driven-hexagon

๐Ÿ“ฐ Referances

https://github.com/thangchung/clean-architecture-dotnet https://nvie.com/posts/a-successful-git-branching-model/

yourcrm's People

Contributors

justjordant 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.