This project was my inventory management system before I created the my IMS web app. The functionality was similar: process purchase emails, update data; but everything stayed in Google's Suite of products.
- Gmail - all inventory purchases went to a Gmail email address
- Google Apps Script - I used Apps Script to process the email
- Google Sheets - This was my "database"
This was a fun project with plenty of quirks that met my needs short term. I wanted a quick and "easy" way to track inventory with my vintage reselling business, so this was the product. Gmail -> Apps Script -> Sheets. Each item got a new row and the it's lifecycle was tracked and updated in that row along the way.
- Platform Purchase Email -> Row created, data populated (as best as I could from email data), status set to "Purchased"
- Platform Delivered Email -> Row's status gets updated to "Delivered" and date added
- Manual data manipulation -> I would tag the items based on the row ID, create the item description, and set the price. Status updated to "Processed"
- Photograph -> Every item gets photographed with the tag, statuses updated to "Photographed"
- Listing -> I would list items in curated batches, so I'd get the list of IDs for the batch, add them to a table, and run a separate Apps Script that would then update each row's status to "Posted" and add the assigned date
- Selling -> I created custom transactional emails through Shopify mark items as "Sold" when they were purchased.
- Shipping -> After processing items in either Shopify or Pirate Ship, I would use the transactional email from that event to mark the row as Shipping.
Obviously this project came with a million pit falls, but it kick started my current inventory management system. I could have used different tech stacks with queues and listeners, but why complicate it when it works?