Hardware Checkout - fuseumass/dashboard GitHub Wiki
Reasoning
For hardware checkout, we have a bunch of hardware items in our system that we want to checkout to our users. In order to do this, we created a new model called hardware checkout which basically creates an object that ties a user to a specific hardware item. See relational database below
Relational Database Sketch

Model
There are two models in the hardware registration system. One is the hardware item and the other one is the hardware_checkout.
Hardware Item
Represents a basic hardware item that has a category, count, and many other attributes (see image above).
Hardware Checkout
A checkout represents when an attendee checks out an item. A checkout is tied to a user and a hardware item. Every time a checkout is made, the count of the hardware item decreases by one. Only available hardware items can be checked out. When an item is returned the hardware_checkout object on our database is simply deleted.