d67897aa177581caa4dbd086fb07bff794dbea14
- Resolved persistent 'SyntaxError: Unexpected token class' by refactoring 'MediaState' and 'UI' classes in MediaManager.html to standard ES5 function constructors. - Resolved 'SyntaxError: Unexpected identifier src' by rewriting 'createCard' to use 'document.createElement' instead of template strings for dynamic media elements. - Consolidated script tags in MediaManager.html to prevent Apps Script parser merge issues. - Updated docs/ARCHITECTURE.md and MEMORY.md to formally document client-side constraints (No ES6 classes, strict DOM manipulation for media). - Note: Google Drive video animate-on-hover functionality is implemented but currently pending verification/fix.
Product Inventory Management
This project integrates Google Sheets with Shopify to manage product inventory, photos, and metadata. It uses Google Apps Script to synchronize data between a "master" Google Sheet and your Shopify store.
Overview
The system allows you to:
- Manage product details (SKUs, titles, descriptions) in a Google Sheet.
- Automatically upload product photos from Google Drive to Shopify.
- specific triggers (
onEdit,onOpen) to sync changes to Shopify in real-time or on-demand. - Handle rate limiting and concurrency using a custom queue system.
- Handle rate limiting and concurrency using a custom queue system.
- Monitor and troubleshoot background processes via a custom side panel.
- Automated Sales Sync: Periodically check Shopify for recent sales and mark items as "sold" in the sheet.
- Manual Reconciliation: Backfill sales data for a specific time range via menu command.
- Status Workflow Automation: Automatically update Shopify status and inventory based on the sheet's "status" column (e.g., "Sold" -> Active, 0 Qty).
- Integrated Media Manager: A dedicated sidebar for managing product photos, including Google Drive integration and live Shopify syncing.
Prerequisites
- Node.js: managed via
fnm(Fast Node Manager) - Google Clasp: for pushing code to Apps Script
- Google Cloud Project: tied to the Apps Script container
Quick Start
-
Install Dependencies
npm install -
Build Project
npm run build -
Deploy to Apps Script
npm run deploy
Testing
Run unit tests using Jest:
npm test
```bash
npm test
Code Quality Enforcement
This project uses Husky to enforce code quality locally.
- Pre-commit Hook: Runs tests on changed files before every commit.
- Coverage Requirement: Modified files must maintain 80% code coverage. Commits will be blocked if this threshold is not met.
Project Structure
src/: Source code (TypeScript)src/config.ts: Configuration loading from Sheetssrc/global.ts: Entry points for Apps Scriptsrc/shopifyApi.ts: Shopify Admin API wrappersrc/onEditQueue.ts: Concurrency management
For more details, see:
Description
Languages
TypeScript
70.8%
HTML
28.8%
JavaScript
0.3%
PowerShell
0.1%