Giter Site home page Giter Site logo

k-society / ksociety.base Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 2.0 1.22 MB

.NET Standard 2.1 framework ideal for Domain Driven Design (DDD), Command Query Responsibilty Segragation (CQRS) and Event Sourcing.

License: Other

C# 99.89% Batchfile 0.11%
cqrs ddd ksociety microservices c-sharp csharp domain-driven-design dotnet event-sourcing eventsourcing

ksociety.base's Introduction

Logo

build status NuGet

K - Society Framework

KSociety.Base - Framework for microservices

K-Society Base is a full stack framework is based on .NET to quickly build layered structure, ideal for implementing microservices.

Introduction

KSociety.Base is a .NET Standard 2.0 framework that can be used to create a clean design by enforcing single responsibility and separation of concerns. Its advanced features are ideal for Domain Driven Design (DDD), Command Query Responsibilty Segragation (CQRS) and Event Sourcing, is an open sourse .NET framework and represents the basic infrastructure. The whole framework is divided into layers listed below.

Developing K-Society

Prerequisites

Visual Studio 2022 with the following installed:

Workloads
ASP.NET and web development
.NET desktop development
Getting started:
To build the KSociety.Base:
  • Run 'build.cmd' script
Uses your newly built KSociety.Base framework

Examples

Here you can find several examples.

Architecture

Image of Architecture

1. Presentation (KSociety.Base.Pre.*)

The presentation layer.

GitHub Repository NuGet Download
KSociety.Base.Pre.Model NuGet NuGet

1.1 Presentation - Form (KSociety.Base.Pre.Form.*)

GitHub Repository NuGet Download
KSociety.Base.Pre.Form.View NuGet NuGet
KSociety.Base.Pre.Form.Presenter NuGet NuGet

2. Service (KSociety.Base.Srv.*)

The service layer.

GitHub Repository NuGet Download
KSociety.Base.Srv.Agent NuGet NuGet
KSociety.Base.Srv.Behavior NuGet NuGet
KSociety.Base.Srv.Contract NuGet NuGet
KSociety.Base.Srv.Dto NuGet NuGet
KSociety.Base.Srv.Shared NuGet NuGet

2.1 Service - Host (KSociety.Base.Srv.Host.*)

Contains the autofac modules.

GitHub Repository NuGet Download
KSociety.Base.Srv.Host.Shared NuGet NuGet

3. Application (KSociety.Base.App.*)

The application layer, abstraction on the command handler library. Contains the abstraction of the request handlers.

GitHub Repository NuGet Download
KSociety.Base.App.Shared NuGet NuGet
KSociety.Base.App.Utility NuGet NuGet

4. Business

GitHub Repository NuGet Download

5. Domain (KSociety.Base.Domain.*)

The domain layer.

GitHub Repository NuGet Download
KSociety.Base.Domain.Shared NuGet NuGet

6. Infrastructure (KSociety.Base.Infra.*)

The infrastructure layer, data access layer (DAL). It also contains the implementation of the UnitOfWork. Supported databases:

  1. SqlServer
  2. Sqlite
  3. MySql
  4. PostgreSQL
GitHub Repository NuGet Download
KSociety.Base.Infra.Abstraction NuGet NuGet
KSociety.Base.Infra.Shared NuGet NuGet

EventBus (KSociety.Base.*)

The event bus abstraction and RbbitMQ implementation.

GitHub Repository NuGet Download
KSociety.Base.EventBus NuGet NuGet
KSociety.Base.EventBusRabbitMQ NuGet NuGet

InfrastructureSub (KSociety.Base.InfraSub.*)

The generic shared library.

GitHub Repository NuGet Download
KSociety.Base.InfraSub.Shared NuGet NuGet

License

The project is under Microsoft Reciprocal License (MS-RL)

Dependencies

List of technologies, frameworks and libraries used for implementation:

ksociety.base's People

Contributors

maniglia avatar

Stargazers

 avatar

Watchers

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