A Practical Introduction to Event Sourcing and CQRS