You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+35-26Lines changed: 35 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,9 @@
1
1
# 🚌 bus — Lightweight CQRS Framework for Rust
2
2
3
-
#### `bus` is a modular, async-first CQRS framework for Rust that helps you structure your application around clear boundaries: `Commands`, `Queries`, and `Events`. It supports both in-memory and database-backed event processing, middleware pipelines, and graceful shutdown — all with minimal boilerplate.
3
+
####
4
+
`bus` is a modular, async-first CQRS framework for Rust that helps you structure your application around clear boundaries:
5
+
`Commands`, `Queries`, and
6
+
`Events`. It supports both in-memory and database-backed event processing, middleware pipelines, and graceful shutdown — all with minimal boilerplate.
4
7
5
8
---
6
9
@@ -11,7 +14,6 @@
11
14
* ❌ No clear separation between commands, queries, and events
12
15
* ❌ Manual registration of handlers and middleware
13
16
14
-
15
17
## ✅ `bus` introduces a clean, extensible architecture for:
16
18
17
19
* 🧱 Structuring your domain logic with CQRS
@@ -29,7 +31,7 @@
29
31
***Commands** — operations that change state (e.g. CreateUser)
30
32
***Queries** — operations that return data (e.g. GetUserById)
31
33
***Events** — notifications that something happened (e.g. UserCreated)
32
-
34
+
33
35
This separation improves clarity, testability, and scalability.
34
36
35
37
---
@@ -45,21 +47,24 @@ A command represents an intention to change state. It is handled by a single han
45
47
---
46
48
47
49
## 🔍 Query
50
+
48
51
A query retrieves data without modifying state. It is also handled by a single handler.
49
52
50
53
📖 Read more → [query.md](https://github.com/bordunosp/bus/blob/master/doc/query.md)
51
54
52
55
---
53
56
54
57
## 📣 Event
58
+
55
59
An event represents something that has already happened. It can be:
56
60
57
61
In-memory — handled immediately during bus::publish(...)
58
62
59
63
Database-backed — persisted and processed asynchronously by background workers
60
64
61
65
* 📖 Read more → [event.md](https://github.com/bordunosp/bus/blob/master/doc/event.md)
| 🛠 Migrations | bus app folder [migration](https://github.com/bordunosp/bus/blob/master/migration)|
155
160
156
161
---
157
162
158
163
# #StandForUkraine 🇺🇦
159
164
160
-
This project aims to show support for Ukraine and its people amidst a war that has been ongoing since 2014. This war has a genocidal nature and has led to the deaths of thousands, injuries to millions, and significant property damage. We believe that the international community should focus on supporting Ukraine and ensuring security and freedom for its people.
165
+
This project aims to show support for Ukraine and its people amidst a war that has been ongoing since 2014. This war has
166
+
a genocidal nature and has led to the deaths of thousands, injuries to millions, and significant property damage. We
167
+
believe that the international community should focus on supporting Ukraine and ensuring security and freedom for its
168
+
people.
161
169
162
-
Join us and show your support using the hashtag #StandForUkraine. Together, we can help bring attention to the issues faced by Ukraine and provide aid.
170
+
Join us and show your support using the hashtag #StandForUkraine. Together, we can help bring attention to the issues
0 commit comments