Event Sourcing

Raccoon is implemented using event-sourcing. This means that instead of storing only the current state, all changes are persisted. For example, creating an order is recorded as an event and so are all later edits, like setting a billing customer or creating and adding a shipment. For every event, date, time and user are recorded.

Events

This brings great gains and possibilities.

Audit Log

As every change is recorded, the editing history of every entity in the system is stored and can be reviewed. It is always very clear when and by whom a shipment or order has been created, changed, picked up and delivered. This enables answering customers’ questions precisely on when and where a shipment has been delivered.

Replayability

Events can be replayed partially. This makes it possible to restore past states of the application, which can be very useful for review and learning purposes. For example, trainees can be exposed to a tricky real world situation before they

By adding a revert action for every event, undo and redo functionality can be implemented quite easily.

Analytics

It opens up great possibilities for analytics.