All Projects → MongkonEiadon → VehicleTracker

MongkonEiadon / VehicleTracker

Licence: other
Vehicle Tracker with Microservice example

Programming Languages

C#
18002 projects
Dockerfile
14818 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to VehicleTracker

Rails event store
A Ruby implementation of an Event Store based on Active Record
Stars: ✭ 947 (+1252.86%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
go-eventually
Idiomatic Event Sourcing in Go
Stars: ✭ 76 (+8.57%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Go Cqrs All
All-in-one collection for Go CQRS / ES / DDD examples
Stars: ✭ 39 (-44.29%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Awesome Elixir Cqrs
A curated list of awesome Elixir and Command Query Responsibility Segregation (CQRS) resources.
Stars: ✭ 467 (+567.14%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Pos
Sample Application DDD, Reactive Microservices, CQRS Event Sourcing Powered by DERMAYON LIBRARY
Stars: ✭ 207 (+195.71%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Eventstore
Event store using PostgreSQL for persistence
Stars: ✭ 729 (+941.43%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Commanded
Use Commanded to build Elixir CQRS/ES applications
Stars: ✭ 1,280 (+1728.57%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
flighthub
Flight ticket booking system implemented with CQRS and ES.
Stars: ✭ 26 (-62.86%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (+127.14%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Booster
Booster Cloud Framework
Stars: ✭ 136 (+94.29%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Event Sourcing Cqrs Examples
Event Sourcing and CQRS in practice.
Stars: ✭ 265 (+278.57%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
fee-office
A DDD, CQRS, ES demo application
Stars: ✭ 35 (-50%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
zio-event-sourcing
Purely functional concurent and scalable persistance layer implementing CQRS
Stars: ✭ 34 (-51.43%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Symfony 5 Es Cqrs Boilerplate
Symfony 5 DDD ES CQRS backend boilerplate
Stars: ✭ 759 (+984.29%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-78.57%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Asombroso Ddd
Una lista cuidadosamente curada de recursos sobre Domain Driven Design, Eventos, Event Sourcing, Command Query Responsibility Segregation (CQRS).
Stars: ✭ 41 (-41.43%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Vertex
Vertex is a distributed, ultimately consistent, event traceable cross platform framework based on Orleans, which is used to build high-performance, high throughput, low latency, scalable distributed applications
Stars: ✭ 117 (+67.14%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Conduit
RealWorld example backend implementing the CQRS/ES pattern in Elixir and Phoenix
Stars: ✭ 253 (+261.43%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
akka-persistence-foundationdb
A replicated Akka Persistence journal backed by FoundationDB
Stars: ✭ 43 (-38.57%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
e-shop
Sample Spring Cloud microservices e-shop.
Stars: ✭ 48 (-31.43%)
Mutual labels:  cqrs, event-sourcing

Vehicle Tracker Application (Microservice)

Vehicle Tracking sample microservice designed by CQRS Architechture, and ES (Event Sourcing) based on EventFlow, and .NET Core framework on the EntityFramework with SQL Server also Dockerize Linux supported

Build Status

Introduction

This is example for running various microservice in case of Vehicle Tracking. The plateform ran on .NET Core framework with Linux compatible. And designed along the dockerize concept with convenince way to use. And the core concept of CQRS that brought up by EventFlow that I spent a lot of time to learning it.

The Architecture

I'm not know well about Microservices concept, while you can help me to make it better way, however when I've look back to the starting.. It's very painful to re-thinking what CQRS is, OverallArchitecture

How to up the services

Now every services setting up on docker compose file, you can easier run it by simple steps;

$ cd src
$ docker-compose up

Swagger supported

You can have a look exposed endpoint by calling:

# -------Exposed API with Ocelot-------
http://localhost:6543/swagger

EventSourcingMetadata

How Microservices can know each others

So when every single microservice emitting from them aggregate (aka. VehicleAggregate) them always produce single event and store to EventSourcing by itself. That mean other service didn't know what happend on that service, so we will communicate with RabbitMq following this simple work flow

EventSourcingMetadata

and we create another sample console application to consume the event (listening the events from queue at rabbitmq), when we publishing the event will be up to the exchange stream in rabbitmq, and we need to bining to the queue that we want to consume, so this is then result when we consume the event from vehicle service with another service

EventSourcingMetadata

you can check the connections with rabbitmq management tools by go to (http://localhost:15672/#/) with test/test login/password here

EventSourcingMetadata

Example Information

This is example of event sourcing metadata EventSourcingMetadata

Milestones

  • Get/Delete/Create a Vehicle
  • Add AgreegateSnapshot
  • Custom readstore called "EFSearchableReadstore"
  • Complete API Gateway with Ocelot
  • A Sample for AggregateSaga
  • STS (Secured Token Service) with Redis and IdentityServer4
  • Implement "EventStore" instead of using "EntityFramework" to store event sourcing
  • Integrate with GoogleMap API to send near place location name

Support Me

If you've got value from any of the content which I have created, but pull requests are not your thing, then I would also very much appreciate your support by buying me a coffee.

Buy Me A Coffee

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