Setup.io core Shopify app

OAuth-ready Shopify install flow, Neon persistence, and bundle generation.

This foundation links a Shopify store, stores the resulting access token in Postgres, and sends installed merchants into a dedicated in-app home with their current bundle status.

Missing environment variables: SHOPIFY_API_KEY, SHOPIFY_API_SECRET

Callback URL: /api/shopify/callback. Successful installs now land on /app.

OAuth routes

  • GET /api/shopify/install validates the shop and redirects to Shopify OAuth.
  • GET /api/shopify/callback verifies state and HMAC, exchanges the code, and upserts the shop record.

Database schema

  • shops stores the Shopify domain and access token.
  • streamers stores Twitch handles and raw Twitch metadata.
  • bundles stores generated bundle payloads and lifecycle status.

Bundle preview

Complete Streamer Desk Bundle

Status: complete

monitor27" Creator MonitorSetup Display$329.00
keyboardMechanical TKL KeyboardSwitchForge$139.00
mouseWireless Precision MouseSwitchForge$89.00
desk matExtended RGB Desk MatGlow Desk$39.00
lampStreaming Light BarGlow Desk$59.00

Missing categories: None

Total price: $655.00

Environment checklist

  • DATABASE_URL for Neon Postgres
  • SHOPIFY_API_KEY from the Shopify app
  • SHOPIFY_API_SECRET from the Shopify app
  • SHOPIFY_APP_URL set to the public app URL
  • SHOPIFY_SCOPES such as read_products,write_products

Shopify CLI can pull the TOML config later with npm run shopify:link -- --client-id <id>.