Admin Module
The admin module consist of several components, hosted on Microsoft Azure:
Technical Implementation
The admin module is built around an event-sourced architecture, ensuring that all changes to financial and meta state are recorded as discrete events. This approach provides a complete audit trail and supports advanced features such as branching and scenario testing.
- Event Sourcing:
- All state changes are captured as events, which are persisted in an event store.
- The event store supports branching, enabling isolated test scenarios and snapshot management.
- Model Aggregation:
- Domain models aggregate events to compute the current state at any position in the event stream.
- The Calculator service processes the event stream to derive model values.
- Model Caching:
- A model cache stores computed model states at specific event positions, reducing redundant calculations and improving performance.
- User Interfaces:
- The ‘Admin UI’ web application allows administrators to perform all necessary actions for conversion day and other operational tasks.
- The website provides a user-friendly interface for making donations and viewing donation data.
- Automated Import:
- The auto importer module ingests donation and charity data, converting them into events for processing by the admin module.
This architecture enables robust auditing, flexible scenario management, and efficient state computation for the Give for Good platform.
By J.W. Morsink