Shopify’s content management features can be more limiting than an open-ended CMS, so I started the project with a research phase to establish how the existing Fontaine content would fit into Shopify’s schema of products, collections, pages and articles. I then wrote a set of scripts to import the legacy product catalogue and categories, automatically recreating them in Shopify using their various APIs.
The main phase of the project was then to refactor the previous site’s templates and components to fit into the Shopify “Online Store 2.0” theme ecosystem, and give the code a polish along the way to bring it up to date with all that’s happened in the front-end world since 2018.
Shopify’s shipping rate system is a powerful tool but not a natural fit for the sort of diverse and unusual shapes and sizes of the antiques world, so we spent quite a bit of time establishing how these variations could be accounted for so that shipping options and rates would be transparent to customers.
In particular, some of the shipping information we wanted to present to customers wasn’t exposed to Shopify’s template system, but was retrievable via their GraphQL Admin API, so I wrote a proxy microservice for this using Netlify Edge Functions to make authenticated calls on behalf of the front-end and cache the results.