Evento

Live Demo

This is not a video. The todo application below is a real RECQ system — an event-sourced Aggregate, Projector, Projection, Saga, Observer, Service and Invoker running against a live Evento Server. Use the app, then open the GUI and watch the same system from the inside.

Two windows into one system

The application

A collaborative todo-list app. Every button click becomes a Command, every change an Event in the store, every screen a Query against a Projection — with live updates pushed as the Projector materializes them.

Open demo.eventoframework.com

The GUI

The Evento GUI attached to the same server: browse the payload and component catalog, the application graph recovered from source, message flows and live telemetry.

login: guest · password: evento-demo (read-only)

Open gui.eventoframework.com

The demo environment resets every 4 hours — anything you create is wiped, so experiment freely.

Explore the source, component by component

The complete application is open source in the evento-todo repository. Each RECQ component maps to one plain Java class:

A taste of the code

The Projector — events become read models

@Projector(version = 1)
public class TodoListProjector {

    @EventHandler
    void on(TodoListTodoCheckedEvent event, QueryGateway queryGateway) {
        // Materialize the read model — and notify live viewers
        var todo = repository.findById(event.getTodoIdentifier()).orElseThrow();
        todo.setChecked(true);
        repository.save(todo);
    }
}

The Saga — events coordinate the system

@Saga(version = 1)
public class ErpTodoListActivityRegistrationSaga {

    @SagaEventHandler(init = true, associationProperty = "identifier")
    public SagaState on(TodoListCreatedEvent event) { /* start tracking */ }

    @SagaEventHandler(associationProperty = "identifier")
    public SagaState on(TodoListTodoCheckedEvent event,
                        CommandGateway commandGateway) {
        if (event.isLastTodo()) {
            commandGateway.sendAndWait(new ErpUserActivityRegisterCommand(...));
        }
    }
}

Notice what is absent: no message-broker configuration, no retry plumbing, no hand-written topology. The component annotations are the architecture — and the GUI’s application graph is derived from exactly this code.

What the demo deployment looks like

The demo you are using is itself a textbook RECQ deployment:

  • evento-server — Message Gateway + System State Store (event store on Postgres).
  • evento-todo — one bundle hosting all seven component types.
  • Evento GUI — attached to the server, visualizing the live system.
  • Fronted by a reverse proxy, rate-limited, and reset every 4 hours.

The whole stack is a single Docker Compose file — the same one documented in the quickstart.

The live todo demo running on demo.eventoframework.com

Do you find Evento Framework and RECQ Architectures interesting?

Evento Framework is FREE and Open Source. You can always support the project by giving a star on GitHub or contributing to the code base.