Put Verbs in your database
summary
Builds a Laravel based event sourced web game and a reusable verbs package that stores actions as events instead of mutating status columns, then projects those events into tables. Shows data migrations for six timestamps and two models, a state object with validation and state-machine guards, tests that prevent duplicate events, and replay-safe notifications; live demo has hiccups but recorded live code exists. Claims easier refactors, simple queries and practical time travel.
AI-written summary · about
chapters (34)
- 0:00Introduction
- 0:41Introducing Daniel
- 1:08Building The Web Game
- 2:04Talking Businessly Podcast
- 2:35No Plans To Merge Podcast
- 2:58Demoing Verbs Package
- 3:10Harry's Request #1
- 3:56Harry's Request #2
- 4:45Migrating Data
- 5:15Break Time
- 5:38Harry's Request #3
- 6:27Creating Interviews
- 7:11Harry's Request #4
- 7:45The Problem With Nouns
- 8:15Understanding Verbs
- 8:56Event Sourcing Benefits
- 9:52Showing Event Data
- 10:46Query Simplicity
- 11:28Time Travel
- 11:57Modular Architecture
- 13:00Live Coding The Solution
- 14:30Implementing Submit Logic
- 15:46Implementing Approve Logic
- 17:10Implementing Reject Logic
- 17:59Transition To Timestamps
- 19:31Implementing Timestamps
- 20:23Adding State Machine Logic
- 21:32Implementing The State Object
- 23:55Debugging State Logic
- 25:30Deleting Bad Tests
- 26:18Scheduling Interviews
- 29:44Preventing Duplicate Events
- 30:39Additional Pro Tips
- 31:21Conclusion
related talks
26mVerbs and Livewire in action
40mEvent Sourcing with Laravel
47mFuture is a thing of the past
36mUsing migrations and fixtures
32mEvent Sourcing in Laravel with EventSauce
42mAdvanced Laravel: Avoid unified data models
28mDaniel Coulbourne :: Flip the Switch Slowly
20mhow to make the management of a league system less traumatic
