Go to file
pavlov346346-source 40b5c146c2 feat: add photos for the 34 training-catalog items that had none
The banquet menu (18 dishes) and extras/supplies/delivery items (16)
in the training catalog were seeded with photo:'', which the catalog
tiles render as a plain red placeholder square. Sourced a real photo
for each item (mostly Pexels, free license, picked and visually
reviewed one by one to avoid mismatches -- several first search hits
were wrong: a live chicken for "chicken caesar salad", a person in
frame, branded bottles/cups) and two AI-generated (banquet-caprese,
banquet-roastbeef). Converted to square 1024x1024 WebP with sharp.

Wires the paths through the actual source of truth: ops/demo/trial-
banquet-data.mjs and trial-extras-data.mjs now set photo to the real
path, then ops/demo/build-trial-*.mjs regenerated public/demo/*.json
and the matching Supabase seed-function migrations, so the client's
static JSON fetch and the server-side company-provisioning function
stay in sync.

Bumped the demo-catalog fetch's own cache-busting query string in
training-catalog.js (and its script-tag/precache version), since it's
fetched by the client with a separate version from the outer script
tags -- the same stale-cache class of bug fixed earlier this session.

Verified: all 34 referenced files resolve (200) and decode as real
1024x1024 images; confirmed via the actual rendered catalog tiles
(#tiles img[src]) that the extras category -- where the user's
red-square screenshot was taken -- now serves the real photo paths.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 17:00:45 +03:00
.github/workflows Remove obsolete database-secret migration workflow 2026-09-22 19:04:39 +08:00
docs Correct support mailbox to support@caterium.ru (#42) 2026-09-21 11:04:06 +03:00
ops feat: add photos for the 34 training-catalog items that had none 2026-09-22 17:00:45 +03:00
public feat: add photos for the 34 training-catalog items that had none 2026-09-22 17:00:45 +03:00
supabase feat: add photos for the 34 training-catalog items that had none 2026-09-22 17:00:45 +03:00
tests Test cached signup policy lookup 2026-09-22 19:25:04 +08:00
.gitattributes Route cloud access through Caterium and vendor login SDK 2026-09-18 19:07:47 +03:00
.gitignore Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00
deploy-trigger.txt ci: verify fresh auth cache on Timeweb 2026-09-12 08:15:01 +03:00
GITHUB-CLOUDFLARE-SETUP.txt docs: mark Cloudflare as verified-production fallback 2026-09-11 09:36:55 +03:00
package-lock.json Restore Caterium schema and switch production to fresh Supabase 2026-09-17 17:30:57 +03:00
package.json fix: stop re-sending every client on each start; drop rejected error-log records 2026-09-21 16:48:16 +03:00
PUSH-TO-GITHUB.bat Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00
README.md docs: make Timeweb production source of truth 2026-09-11 09:36:48 +03:00
TIMEWEB-APP-PLATFORM.md Infra: production branch promotion for app.caterium.ru 2026-09-09 19:09:32 +03:00
UPDATE-FROM-REMOTE-AND-PUSH.bat Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00
wrangler.jsonc Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00

Caterium

Caterium catering SaaS frontend with Supabase backend.

Production

Primary production URL: https://app.caterium.ru

Production frontend is hosted on Timeweb Cloud App Platform:

  • repository: pavlov346346-source/caterium-app
  • branch: production
  • publish directory: public
  • auto deploy: enabled for production

main is the integration branch. GitHub Actions runs the full Caterium QA workflow for each push to main. Only a successful QA run may promote the verified commit to production.

The Cloudflare Worker ancient-sound-04ab is retained only as a fallback. It is not the primary production target and must not replace the Timeweb deployment unless an intentional fallback procedure is being used.

Deploy checks

npm ci
npm audit --audit-level=high
npm run check:deploy
npm run test:e2e

The QA workflow performs these checks automatically. High/critical npm audit findings block promotion.

Cloudflare fallback

Use Cloudflare only as a backup deployment target. Manual fallback deployment is available as:

npm run deploy:cloudflare-backup

When configuring Git-based Cloudflare fallback deployment, use the verified production branch rather than main so the fallback receives the same QA-approved commit as Timeweb.

Backend

Supabase Edge Functions are versioned under supabase/functions/. SQL migration/history files live under ops/sql/. Database DDL changes should be applied as migrations and kept in repository history.

See TIMEWEB-APP-PLATFORM.md for the production hosting checklist.