Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Considerations

  • Use stream API for real time updates
  • Support MsSQl for final grade
  • Single timestamp for entire insert into ApiLog and LaundryLog
  • machines may have a collision. If a machine is replaced in a room, both the room_id and sticker_number will be the same.
    • Solve using last_seen timestamp and add constraint to block collisions.
  • Create views for rooms and locations dynamically.

Machine state transitions

A machine follows usually follows a cycle of state changes. The cycle looks like pressStart => running => idle => pressStart. An important note, when the machine completes and moves to the idle state, opening the door moves it to the pressStart state even if it was never emptied. This means someone can leave their laundry inside the machine after opening the door and it will be seen as free. Fixing this problem is out of the project’s scope.

2026-02-06 10:26:48 • commit: b3fc7f7