No internet connection
  1. Home
  2. SOFTWARE
  3. LaundryLog

Event Model

The event model defines how LaundryLog works as an event-sourced system — what users can do, what gets recorded, and what the system shows.
Commands (user intentions)
LogEntry — location, machine type, quantity, unit price, payment method, timestamp
DeleteEntry — entry id (correction case)
StartSession — optional, may be implicit on first entry of the day
Events (facts recorded)
EntryLogged — all fields from LogEntry plus calculated total, session id
EntryDeleted — entry id, timestamp
Read Models (what the UI shows)
Session View — current session total, entries in this session
Day View — all entries for a given day, day total
Report View — entries grouped by date range, totals, suitable for accounting export
Location History — personal list of previously used locations for quick selection
Domain Rules
Total = quantity × unit price (no rounding until display)
Quantity minimum is 1
Price minimum is $0.00 (supplies sometimes free with payment app)
Location is required — cannot log without it
Machine type and payment method are required
Deletion is a soft delete via event, not removal from history

  • 0 replies