Giter Site home page Giter Site logo

bubdm / dflow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from roadtoagility/dflow

0.0 0.0 0.0 906 KB

DFlow is a Domain-Driven Design platform that provides the infrastructure to organize business logic, design your domain model, deliver domain events and store in different formats.

License: Mozilla Public License 2.0

C# 97.90% PowerShell 2.10%

dflow's Introduction

DFlow - Domain Events Flow

Domain events Flow is a platform to support development with agility in mind based on Domain-Driven Design tools.

Project Informations

GitHub issues GitHub stars GitHub forks GitHub license

Code Quality

codecov Codacy Badge

Build Status

DFlow AppVeyor Build

Tests Passing

AppVeyor tests

Nuget packages from DFlow Platform

Core Packages Description Dependencies Latest Version
DFlow First implementaion with full event sourcing aggregation support none DFlow NuGet version
DFlow.Domain Base framewor to rich domain modelling based on Object Value, Entity and Aggregates design patterns - DFlow.Domain.Events DFlow NuGet version
DFlow.Domain.Events Base framework that provides capability to declare events raise from Aggregates none DFlow NuGet version
DFlow.Business.Cqrs CQRS framework to implement command and query handlers event and event publishing as well - DFlow.Domain
- DFlow.Domain.Events
- DFlow.Domain.EventBus.(*)
DFlow NuGet version
DFlow.Persistence Base framework providing an Unity of Work and Repository design patterns to support persistence layer implementation - DFlow.Domain
DFlow NuGet version
Contrib Pastyle="ckages Description Dependencies Latest Version
DFlow.Persistence.EntityFramework Specialization of DFlow.Persistence to support EntityFramework based persistence layers abstraction - DFlow.Domain
- DFlow.Domain.Persistence
DFlow NuGet version
DFlow.Domain.EventBus.FluentMediator Implementation of IDomainEventBus to be used to DomainEvents publishing - DFlow.Domain.Events
DFlow NuGet version
DFlow.Persistence.LiteDB Specialization of DFlow.Persistence to support LiteDB - DFlow.Domain
- DFlow.Domain.Persistence
DFlow NuGet version

About Project

DFlow was born as a reference implementation of Domain-Drive Design architecture based with aggregates supporting Event Sourcing design pattern but evolves to a full flagged platform to helps you to implement your own framework based on DFlow Domain-Driven concepts supported by Domain-Driven Design tools.

Do you have a lot of flexibility to evolve your applications. Each platform library enforce just few concepts used by each specific layer, do you pay for what you use but you can implement your view of DFlow interfaces and evolve as your desire.

As an example, we provide contrib packages like Dflow.Persistence.EntityFramework that enables you to use ORM based approach to your persistence layer using EntityFramework with any database driver that you want and DFlow.EventBus.FluentMediator that is a interface to used the excellent framework FluentMediator.

Documentation

For now we implement few example projects that you can look at in samples folder

Sample Description Link
SimplestApp It is a basicv application using DFlow.Domain library SimplestApp
SimplestApp.Business.Cqrs It is a basic implementation of CQRS-base application using DFlow.Business.Cqrs library SimplestApp.Business.Cqrs
SimplestApp.Persistence.EntityFramework It is a basic application using all libraries of DFlow platform for CQRS + DDD + ORM SimplestApp.Persistence.EntityFramework

Roadmap

  • Finish support to Event Sourcing in Persistence Layer
  • Test a 100% of code
  • Finish the performance tests support
  • Improve documentation
  • much more...

Supporters

Supporter Description
./img/ All Products Pack License for Open Source under program Free License Programs

Thank You for all supporters of this project

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

dflow's People

Contributors

douglasjramalho avatar dougramalho avatar drr00t 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.