← Back to Blog

Event Modeling a Library System Step by Step

A complete example showing how to visualize and understand any system using Event Modeling

Event Modeling Library Example

Hello Event-Modeler!

This was issue #31 of the Event Modeling & Event Sourcing Newsletter.

I say it all the time, any system can be visualized ( and understood ) by using Event Modeling.

Let´s go through one complete example for a Library, Step by Step.

First, we just think about all the things that could happen in the system. We don´t talk about Technoloty, Infrastructure or anything else - just pure facts that could happen.

Events in the System

Event Modeling is all about information flow, you don´t need Aggregates, Objects and Streams at this point in time. An Event is just something that happened.

Now, Events carry information.

Events Carry Information

The process is easy to understand, customers should be able to borrow books and return them. Of course, there might be more processes - what about late returns? what about notifications? what about penalty fees? what about lost books?

These all are processes we need to talk about, but for now, we just want to understand, how a customer can borrow and return books. One thing at a time.

Now that we know, “what” happens in the system and which information is necessary for that, we can think about the next step.

How does this information get into the system?

How is a customer registered?

We could imagine a simple Screen with two input fields, right?

Customer Registration UI

Same exercise for the book - how do Books get into the system? I´m looking at the “Book registered” Event now.

We could imagine a simple UI, where an Administrator can register new books that are available for borrowing.

Book Registration UI

And now, since we have these books in the system, obviously they need to get activated. How does that happen? Also something an administrator would do.

So we have this list of registered books, and they can be activated one after the other.

Book Activation

So what happens, if the Administrator now clicks on this button? The book gets published.

Book Published

Only published books are available for Borrowing. They are listed on our Libraries Page.

Books Available for Borrowing

To display the list of books available to borrow, we need to know the information from “Book registered” and of course “Book published”. We also see something like a “Logged in”-status. The whole login flow is something we need to talk about, but it´s not important to our borrowing process.

Displaying Available Books

Now the next thing that happens, a Customer gets into the physical library and picks up the book which is already prepared.

We could imagine that the customer gets into the Library, shows the Personal-Id, a Clerk scans the book and hands it out. The whole process of scanning is happening automatically ( visualized using the gear symbol ). We might miss some steps here, that´s something we would need to discuss further.

Book Handout Process

We just model what happens, one step ( or better “Slice” ) after the other.

Complete Library Model

Want to see this model in action? In this Video you see how I use the RTP ( Real Time Prototyping ) in the Miro Event Modeling Toolkit to bring it to life.

This is how you walk through a system step by step to understand the processes in depth.

Do you think this might be helpful to your Teams? I´d be surprised if not.

If you are currently in the process of evaluating Event Modeling, I have this new offer “CTO Call” that is available here. I might save you some time in the evaluation.

The Tooling used to model the System and also run the Prototype is the Event Modeling Toolkit for Miro

Have a nice week!

Best regards,

Martin

Ready to Learn More?

My book “Understanding Eventsourcing” gives you the blueprint. But reading alone will take your team too long.

I can teach your team how to build these blueprints faster and skip the whole trial-and-error phase. Let’s have a chat about how this applies to your project.

Still 2 Team-Spots left for the Event Modeling Workshop this month.

Want to learn how to apply Event Modeling and Event Sourcing in practice?

Follow the Online Course “Implementing Eventsourcing” - comes with a Lifetime Event Modeling Toolkit License.

Start Learning →