~/talk

Put Verbs in your database

Talkat Laracon AU 2023 · on Thursday, 2023-11-16· at 16:15· [laravel, databases]
slides:none on file

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

  1. 0:00Introduction
  2. 0:41Introducing Daniel
  3. 1:08Building The Web Game
  4. 2:04Talking Businessly Podcast
  5. 2:35No Plans To Merge Podcast
  6. 2:58Demoing Verbs Package
  7. 3:10Harry's Request #1
  8. 3:56Harry's Request #2
  9. 4:45Migrating Data
  10. 5:15Break Time
  11. 5:38Harry's Request #3
  12. 6:27Creating Interviews
  13. 7:11Harry's Request #4
  14. 7:45The Problem With Nouns
  15. 8:15Understanding Verbs
  16. 8:56Event Sourcing Benefits
  17. 9:52Showing Event Data
  18. 10:46Query Simplicity
  19. 11:28Time Travel
  20. 11:57Modular Architecture
  21. 13:00Live Coding The Solution
  22. 14:30Implementing Submit Logic
  23. 15:46Implementing Approve Logic
  24. 17:10Implementing Reject Logic
  25. 17:59Transition To Timestamps
  26. 19:31Implementing Timestamps
  27. 20:23Adding State Machine Logic
  28. 21:32Implementing The State Object
  29. 23:55Debugging State Logic
  30. 25:30Deleting Bad Tests
  31. 26:18Scheduling Interviews
  32. 29:44Preventing Duplicate Events
  33. 30:39Additional Pro Tips
  34. 31:21Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.