Installation
- Node.js reports version 22.12 or newer and both dependency installation commands finish without
npm ERR! npm run config:validate -- .env.developmentpassesnpm run config:validate -- .env.productionpasses- The first administrator and business are created at
/sign-in - Logo, business details, country, currency and timezone are configured
Firebase and security
- The Firebase CLI active project matches
.firebaserc FUNCTIONS_REGIONmatches bothVITE_FIREBASE_FUNCTIONS_REGIONvalues- Firestore rules, Storage rules and indexes show a recent publish time
- Core Functions appear in Firebase Console
- Administrator access works as expected
- Customers cannot access administration or another customer account
- A billing budget and alert recipients are configured
Hosting
- The production environment uses the published HTTPS address
- The host builds with Node.js 22.12 or newer,
npm run buildand output folderdist - The deployed hostname is listed in Firebase Authentication Authorized domains
- The customer ordering page and
/adminopen directly and survive a browser refresh
Ordering
- A manual collection order appears under Orders
- Delivery orders and fees calculate correctly when delivery is enabled
- Location selection appears on the saved order when multiple locations are enabled
- Products appear only at their selected locations
- Coupons can be enabled and disabled from Coupons
- Country phone picker and Firebase Phone Authentication work on the deployed domain
- An order can progress from placed to completed
Notifications and optional integrations
- Core deployment succeeds with no optional secrets
- Browser new-order alerts appear after permission is granted
- Yoco sandbox success, cancellation, failure and webhook are tested when enabled
- Stripe sandbox success, cancellation, failure and webhook are tested when enabled
- PayPal sandbox success, cancellation and webhook capture are tested when enabled
- Paystack test success, cancellation and webhook verification are tested when enabled
- WhatsApp sends only enabled alerts when configured
- Ordering succeeds when every optional integration is disabled
Final checks
npm test,npm run typecheckandnpm run buildpass- The browser console has no unexpected errors during a complete order
- Privacy, terms, refund, contact and fulfilment information suit the business and country
- The business owner controls Firebase, hosting and provider account recovery details