A Shopify-style online store for toys and models with automated data aggregation.
Figure Aggregator is a personal learning project that unifies multiple collectible figure retailers into a single storefront. It provides basic quality-of-life features such as browsing, filters, and search functionality, allowing users to easily view products from a variety of stores in one location. Featured items from these stores are also displayed on the homepage.
The frontend is built with React.js, and products are dynamically displayed via Axios calls to the API. It is currently deployed on Netlify.
https://figure-center.netlify.app/
The backend architecture runs on Google Cloud Platform, specifically on Google Kubernetes Engine.
We provision a global static IP and attach it to an HTTPS Load Balancer, which is configured by GKE’s Ingress Controller. Incoming requests hit the Load Balancer, which applies host- and path-based rules to forward traffic to a Service (backed by NEGs/NodePorts) inside the cluster.
That Service routes API calls to Docker-containerized Express.js pods running on GKE. Each pod includes a Cloud SQL Proxy sidecar to maintain the connection to a MySQL (Cloud SQL) instance, allowing the backend to scale up or down without any changes to the database configuration.
A Puppeteer-based scraper runs as a Kubernetes CronJob in GKE, automatically collecting and updating product data in the Cloud SQL database.
Feel free to contact me at:
@Kevin Chen – kevinz.chen@mail.utoronto.ca