-
Notifications
You must be signed in to change notification settings - Fork 110
understanding bounded contexts in cbs
- TODO: ref to Martin Fowler Bounded Context + simplified description
CBS is built using the Domain Driven Design pattern and has been divided into 5 bounded contexts (or projects/modules). Each bounded context is completely isolated from the others, with it's own frontend and backend code. This means that when you work in a specific bounded context, you only need to understand the internals of that bounded context and can ignore the others.
The communication between the bounded contexts is event-driven. This means that the module you are working in will process incoming events from other modules and emit events for other modules to process. For new contributors who have yet not worked with event-driven architectures this way of communicating might take some getting used to, but please do not introduce any APIs for communicating between bounded contexts.
Note: Historically, we have had two bounded contexts called User Management and Volunteer Reporting. We are in the process of merging these into one and renaming the merged bounded context to "Reporting".
Bounded Context | Description | Issue label | Bounded Context Folder |
---|---|---|---|
Reporting | Registering "data collectors", parsing and validation of incoming text messages from data collectors. «Data verifiers» and «data owners» can view, search, filter and export «case reports» and provide feedback to the | Reporting & Volunteer Reporting | VolunteerReporting |
Admin | Administrative features such as managing health risks, projects, feedback messages and much more. | Admin | Admin |
Alerts | All «health risks» have a set «threshold». If the «threshold» is exceeded, an «alert» will be created to notify the Red Cross and other interested parties. | Alerts | Alerts |
Analytics | Transforming data into actionable intelligence with reporting and dashboards. | Analytics | Analytics |
Notification Gateway | Notification gateway receiving and sending text messages and emails. | SMS Proxy | Sms |
Jump to Development on Bounded Contexts