Giter Site home page Giter Site logo

xor-el / cleantickets Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aevitas/cleantickets

0.0 0.0 0.0 41 KB

Simple ticketing system using Clean Architecture. Built on ASP.NET Core 6, Entity Framework Core and using Minimal API.

C# 100.00%

cleantickets's Introduction

Clean Tickets

Clean Tickets is a simple event ticketing system built on ASP.NET Core 6, Entity Framework Core and using Minimal API.

The application is designed to be a small service working together with other components through events. Even though there is no actual implementation of any messaging system in place right now, it is intended to be event-driven.

Architecture

This project follows the Clean Architecture patterns with some slight changes. It implements Command and Query Separation by implementing disparate ICommand and IQuery interfaces and handlers. While it does currently use a mediator to mediate between incoming messages and their handlers, it should be fairly easily changed to a non-mediated broker.

Another departure from common Clean Architecture implementations is the fact that the domain repositories are contained in the domain assembly. A good number of implementations place these in the Application layer instead, but I feel that the domain models, as well as the repositories that abstract their interactions should be in the domain layer. I'm still on the fence about this one though.

Structure

The solution consists of four projects:

  • Application contains the use cases and features
  • Domain contains the domain models (entities)
  • Infrastructure.Persistence contains the Entity Framework persistence code
  • Api contains an implementation of a front-end for the application layer, supporting its basic operations using Minimal API

Tests

The solution also includes a test project for the various command and queries implemented by the application layer.

cleantickets's People

Contributors

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