Main page
Contents:

Recently visited pages:

Admin Module

The admin module consist of several components, hosted on Microsoft Azure:

Admin Module Asp.Net Core webapp Azure function app Azure function app Azure   Service   Bus Admin   UI Calculator Event   Store Model   Cache Automatic   importer Give   for   Good   administrator Donor giveforgood.world uses uses

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