We're going to explore how to create event-sourced apps in PHP by creating a simple address book app.

We will be using the Laravel Event Projector library to help us create and handle events.

First, we'll setup our project.

Then, we'll create accounts.

Next, we'll implement contact management.

After that, we'll implement note management.

To finish off, we'll implement contact address management.

The app is done at this point. We may take things further by modifying our views to work well on mobile, moving our read models from database to memory, creating a custom serve command and setting up  CI/CD and Docker.

PS: If you want to join one of the best (general) developer Telegram groups in Nigeria, head on over here. If you're interested in Laravel and you reside in Abuja, there's a WhatsApp group for you.