I am trying to figure out a reliable data architecture for a small business that wants to utilize Shopify for their online store.
My current idea is to have a central database (doesn’t matter which, we’ll say Postgres). The business users can create products, services, customers, etc in Shopify. Customers could go to their site and order things.
Then I would have a background process to sync all these things from Shopify to this central database.
Some orders would have to be put in a LIMS system so I would have another background process to sync these orders in the central database with the LIMS system.
Some orders come directly from the LIMS system so another background process to sync these orders to the central database.
All the orders in the db need to be synced to Quickbooks so another background process to sync this.
Concerning Shopify, does this seem like a doable strategy? I’m an experienced programmer, but no experience with Shopify or its APIs.
Also, I’m not really a fan of syncing data sources but…is there a better way?
Obviously I could write an admin ui to let them create things in the central db first and then sync them to Shopify.
But isn’t the whole point of Shopify to make this part easy by providing them a way to create all these things right out of the box?
One of the other things that they want is to run reports against this central database. In theory Shopify could act as the central database, but not sure what reporting would even look with Shopify API.