Skip to content
This repository was archived by the owner on Jun 27, 2024. It is now read-only.

Commit 63258bb

Browse files
Merge pull request #3 from jchannon/readme
Add initial README
2 parents e3e5b59 + 2e7098d commit 63258bb

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

README.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Bookings Sample Application
2+
3+
This projects shows some of the features of Eventuous
4+
5+
//TODO
6+
Describe features used
7+
8+
## Usage
9+
10+
Run both `Bookings` and `Bookings.Payments` projects and then open `http://localhost:5051/swagger/index.html` and `http://localhost:5000/swagger/index.html` respectively.
11+
Here you can use SwaggerUI to initiate commands and queries that will result in events being raised.
12+
13+
### Example commands
14+
15+
Bookings -> BookRoom (`/bookings/book`)
16+
17+
This command raises and event which is stored in the database but also in Mongo via a registered projection
18+
19+
Bookings.Payments -> RecordPayment (`/recordPayment`)
20+
21+
This command raises multiple events which is stored in the database but also puts a message in RabbitMQ which is transformed from a domain event into an integration event. Upon the integration event being handled logic and other domain events are triggered resulting
22+
in more database entries and Mongo projection data being stored.
23+
24+
Bookings.Payments -> `CommandService:RecordPayment` -> `PaymentRecorded` -> `IntegrationSubscription` -> `BookingPaymentRecorded` -> Bookings -> RabbitMQSubscription -> `PaymentsIntegrationHandler` -> `BookingsCommandService:OnExisting<RecordPayment>` -> `V1.PaymentRecorded` -> `BookingState:On<V1.PaymentRecorded>`-> `V1.BookingFullyPaid` -> `BookingStateProjection:On<V1.PaymentRecorded>` -> `BookingStateProjection:On<V1.BookingFullyPaid>`

0 commit comments

Comments
 (0)