doc-site
Developer guide

Developer guide

Where to start when changing the ASC storefront code, and which repository owns each kind of change.

The storefront is split across two git repositories that are checked out together. asc-shopify-src holds the build tooling and the React and JavaScript source. Its theme submodule, asc-shopify-theme, holds the Shopify theme that Shopify deploys. Most changes touch the theme, and every change to src/ also produces files in the theme.

Choose the right place

ChangeRepositoryPath
Liquid sections, snippets, templates, theme settingsasc-shopify-themetheme/sections/, theme/snippets/, theme/templates/, theme/config/
Hand-written theme JavaScript, such as maps, camp lists and filtersasc-shopify-themetheme/assets/*.js
Booking form, cart click handlers, shared CSS and Tailwindasc-shopify-srcsrc/, then rebuild into theme/assets/
Saved children or membership pass useasc-api-membership-passSeparate repository
Orders into Zoho, emails, club search, camp swapsasc-api-src-zoho-integrationSeparate repository
Zap triggersZapierZapier dashboard
Zoho workflow functionsZoho CRMZoho settings. Record copies in misc/deluge-scripts/
Content, products, metafield valuesShopify AdminNot code. See Operations

Do not edit google-cloud-api/. It is the previous membership pass service and is no longer deployed. See Legacy and unused code.

Pages in this section

PageRead it when
Repository mapYou need to find where something lives
Local developmentYou are setting up or running the project
Releasing a changeYou are ready to commit, review or deploy
Theme structureYou are changing Liquid, layouts or theme JavaScript
Booking formYou are changing the React booking form
Cart and membership passYou are changing the cart page or pass behaviour
Common changesYou want the steps for a routine change
TestingYou need to check a change before release

Before your first change

Read Releasing a change. Two parts of the release process cause most mistakes. Theme editor saves arrive on theme main as bot commits at any time, and built bundles must be committed in the theme repository separately from the source.

Read Catalogue model. Most bugs reported as "a camp is missing" are data, not code.

On this page