Below is an example of a Mermaid diagram that shows a high-level context diagram for our event-based reservation system using Wolverine. In this diagram, you can see external actors (like customers, an administrator, payment gateway, etc.) interacting with internal components such as a Reservation Frontend, Reservation Service, and the Wolverine Event Bus responsible for handling events.
flowchart LR
%%External Actors
Customer[Customer]
PaymentGateway[Payment Gateway]
NotificationService[Notification Service]
Administrator[Administrator]
ResourceCatalog[Resource Catalog]
%%Internal System Components
subgraph System [Reservation System]
Frontend[Reservation Frontend]
Service[Reservation Service]
EventBus[Wolverine Event Bus]
end
%%Interactions between External Actors and the System
Customer -->|Creates/Manages Booking| Frontend
Frontend --> Service
Service -->|Publishes Events| EventBus
EventBus -->|Notifies| PaymentGateway
EventBus -->|Notifies| NotificationService
Service -->|Checks Availability| ResourceCatalog
Administrator -->|Manages System| Service
Explanation
External Actors:
- Customer: Initiates reservations by interacting with the frontend.
- Administrator: Manages or oversees the system, including any adjustments and maintenance.
- Payment Gateway & Notification Service: Receive events from the system through the Wolverine Event Bus for payment processing and sending confirmations.
- Resource Catalog: Provides resource availability data.
Internal System Components:
- Reservation Frontend: The user interface through which customers create or manage reservations.
- Reservation Service: Contains the core business logic, managing reservations and enforcing business rules.
- Wolverine Event Bus: Acts as the backbone for routing events to external and internal subscribers, decoupling processing.
This context diagram provides a clear, high-level view of how your event-driven reservation system interacts with all the relevant external entities and processes.