All Projects → falberthen → EcommerceDDD

falberthen / EcommerceDDD

Licence: MIT license
Experimental full-stack application using Domain-Driven Design, CQRS, and Event Sourcing.

Programming Languages

C#
18002 projects
typescript
32286 projects
HTML
75241 projects
CSS
56736 projects
Dockerfile
14818 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to EcommerceDDD

Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+3388.76%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing, clean-architecture
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (-61.8%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing, clean-architecture
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (+28.09%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing, clean-architecture
Revo
Event Sourcing, CQRS and DDD framework for C#/.NET Core.
Stars: ✭ 162 (-8.99%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing, netcore
Eventsourcing
A library for event sourcing in Python.
Stars: ✭ 760 (+326.97%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Pitstop
This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concepts like: Microservices, CQRS, Event Sourcing, Domain Driven Design (DDD), Eventual Consistency.
Stars: ✭ 708 (+297.75%)
Mutual labels:  cqrs, ddd, event-sourcing, netcore
Eventhorizon
CQRS/ES toolkit for Go
Stars: ✭ 961 (+439.89%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Sample Dotnet Core Cqrs Api
Sample .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
Stars: ✭ 1,273 (+615.17%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
Productcontext Eventsourcing
A practical/experimental Event Sourcing application on Product Bounded Context in an e-commerce
Stars: ✭ 88 (-50.56%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Cqrs Clean Eventual Consistency
CQRS, using Clean Architecture, multiple databases and Eventual Consistency
Stars: ✭ 247 (+38.76%)
Mutual labels:  cqrs, ddd, clean-architecture, netcore
Goes
Go Event Sourcing made easy
Stars: ✭ 144 (-19.1%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (-26.4%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (-10.67%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Rails event store
A Ruby implementation of an Event Store based on Active Record
Stars: ✭ 947 (+432.02%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
Stars: ✭ 414 (+132.58%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Event Sourcing Cqrs Examples
Event Sourcing and CQRS in practice.
Stars: ✭ 265 (+48.88%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Plastic
This project provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application.
Stars: ✭ 30 (-83.15%)
Mutual labels:  cqrs, ddd, domain-driven-design, clean-architecture
delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-91.57%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Bifrost
This is the stable release of Dolittle till its out of alpha->beta stages
Stars: ✭ 111 (-37.64%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing
Kreta
Modern project management solution
Stars: ✭ 177 (-0.56%)
Mutual labels:  cqrs, ddd, domain-driven-design, event-sourcing

Build License

Welcome to Ecommerce DDD

This project is an experimental full-stack application I use to combine several cutting-edge technologies and architectural patterns.
Thanks for getting here! please give a if you liked the project. It motivates me to keep improving it.



Architecture

The overall architecture is organized with Core, Crosscutting and Services.


Core

It defines all the building blocks and abstractions to be used on every underlying project.

Core.Infrastructure

It implements infrastructure matters to be used by microservices. Also, it centralizes third-party packages.


Crosscutting

It contains projects with logic needed to cross over the microservices, such as IdentityServer4 and API gateway.


Services

The microservices composing the back-end, are built to be as compact as possible, meaning they're structured to have not only the business logic related to the domain but also to expose it through a self-contained API.

It is structured with: Domain, Application, API, Infrastructure (when apply).

- Domain

This is where the business logic resides, with a structured implementation of the domain through aggregates, commands, value objects, domain services, repository definitions, and domain events.

- Application

It orchestrates the interactions between the external world and the domain to perform application tasks through use cases by handling commands and queries.

- Infrastructure

It acts as a supporting library for higher layers. It handles infrastructural matters and data persistence.


Presentation

A lightweight Angular-based SPA providing a functional and user-friendly UI.


Technologies used

  • ASP.NET and C# 10 for cross-platform back-end with:
    • .NET 6
    • ASP.NET Core Minimal API
    • Ocelot
    • Marten
    • Postgres
    • Entity Framework Core 6
    • ASP.NET Core Identity
    • JWT Bearer Authentication
    • IdentityServer4
    • SignalR Core
    • MediatR
    • XUnit / Mock
    • Swagger
    • Kafka
    • Docker Compose
  • Angular 13 and TypeScript for the front-end with:
    • NgBootstrap
    • Font Awesome
    • Toastr
    • Angular JWT

What do you need to run

Running the back-end

The project was designed to be easily run within docker containers, hence all you need is 1 command line to up everything. Make sure you have installed Docker and have fun!

Using a terminal, run:

 $ docker-compose up

You can also set the docker-compose.dcproj as a Startup project on Visual Studio if you want to run it while debugging.

Running the Angular SPA

Using a terminal, navigate to EcommerceDDD.Spa and run for the following commands the node packages and serving the SPA on http://localhost:4200 respectively:

 $ npm install #first time only
 $ ng serve
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].