This is a high-level mockup of the Acme Inc. backend project. It is a bit contived, but it should give one a fair idea of my current skill level.
Points to note:
- I tried to write it so that the database could be swappable. Here I'd use BigQuery. The reason for that is offers all the benefits of a NOSQL type, without any disadvantages. However, I'm not sure if it's a good idea to use BigQuery for this project. It's also could-native.
- Gizmos and Widgets tables would need to be joined on the Descirption field or the SKU number for de-duping.
- The resulting table db.AcmeTableProducts would be indexed by the ID field (not the unique one, but the one provided by the original tables).
- Two REST endpoints are created, one for single retrieval and one for batch.
- Batch query is constructed on the fly, and in case there's a max limit to what the DB can take in, pagination is an option.
- Functional options are used (I'm a fan). However, they're not protected against bogus entries for the sake of time.
- I was thinking to implement a basic queue and a caching layer, but I learned that caching for SELECT queries is a fool's errand; modern dbs are optimized enough.
- Provided the main table is populated, and the cloud auth is configured, the app should be return valid-ish responses.