Would it be possible to add more fields to the game db model and expose them in the UI?
There are numerous things that come to mind, but here are a few ideas:
- Package size: have a table containing all standard/fixed sizes based on platform (for example, "standard Nintendo switch game case", "PS1 long box", "standard 1-disc CD case", etc), and allow entries to pick from one of those or choose a "custom" value for collector's editions and such. Field would contain all 3 dimensions. Could be tied to the platform value, so that it is not possible to select "PS1 long box" for a SNES game). Package/case size would be really helpful for protectors, as there are some box protectors for all sorts of custom sizes (for example jp Bayonetta Climax Edition)
- MSRP/retail price: for each game entry, add a field that indicates it's MSRP. When adding this game to collections, allow automatically selecting this value for the purchase price, or a custom value (like today) for non-retail purchases, discounted purchases, etc.
- Instead of having a fixed set of 3 pictures (front, back, media), allow adding an arbitrary number of pictures to an entry, and have each entry have it's "type", among for example "case front", "case back", "case spline", "game cart", "game CD", "game manual", etc. This would allow us to capture all contents for every release, including collector's editions
- Print run information: a field indicating how many instances of the release were printed. Limited run companies provide this info, and it may be known for retail releases as well in some cases
- Field indicating the type of the game version. Possible values "original release", "port", "remaster", "remake", "DLC" etc
- Field indicating which game series the release is part of. Ideally would include a separate registry containing all game series. Series could potentially include sub-series. Example: Metroid Prime 2 is part of the Metroid Prime series of games which is part of the Metroid series/franchise.
- When adding the price paid for a purchase (when adding it to your collection) allow picking which currency the price is in. It is very normal for me for example to purchase games in at least USD, EUR, GBP and BRL.
- Separate the concepts of a "release" from that of a "game". A game has 1..n releases. Example: "the JP SNES Prince of Persia release is one of the releases of the original Price of Persia game". Alternatively, as an even more complete model, "the JP SNES Prince of Persia release" is "the JP release of the SNES Prince of Persia remake game", and the SNES remake entry would be separate from the "original" entry. Each "game" entry would have at least 1 "release", for simpler/smaller games, but most of the time multiple"releases", for example jp, us, eu. When searching in the platform, we would then search on "games" by default, and each game would present the releases it has. Lastly, a "game" would not have a publisher, only releases would
I could probably come up with a few more ideas on how to add more information to game entries but just wanted to share the more obvious ones and gather feedback.