Considerations
- Use stream API for real time updates
- Support MsSQl for final grade
- Single timestamp for entire insert into
ApiLogandLaundryLog machinesmay have a collision. If a machine is replaced in a room, both theroom_idandsticker_numberwill be the same.- Solve using
last_seentimestamp and add constraint to block collisions.
- Solve using
- 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.