Demo Environment Review — Sales-Readiness
stg-*.membervu.com, reconciled against dev). This section reviews the
5-industry sales-demo sandbox — a separate, frozen, pre-loaded environment
(local <slug>.membervu.local:8090 or cloud <slug>.demo.membervu.com). Do not test demo
tenants against staging or vice-versa.
vault/membervu-context/10-Technical/18-Infrastructure/Demo-Reviewer-Guide/ (origin:
demo/docs/ on the demo branch). Markdown twin of this page:
tester-files/05_INSTRUCTIONS/DEMO_ENVIRONMENT_REVIEW_GUIDE.md; status grid:
tester-files/04_TRACKERS/DEMO_REVIEW_TRACKER.md. On any conflict, trust the vault/branch copy.
🆕 First time reviewing? Start with a Detailed Guide
This page is the quick checklist for people who know MemberVu. If you've never used it, open the step-by-step guide for the industry you're reviewing — it explains what everything is, narrates every click, and defines every word.
- MedAlliance Society — Detailed Guide (medical association)
- Metro Chamber of Commerce — Detailed Guide (chamber of commerce)
- Summit Fitness Club — Detailed Guide (fitness · monthly billing)
- Brightpath Alumni Foundation — Detailed Guide (nonprofit / alumni)
- Vista Verde HOA — Detailed Guide (homeowners association)
0 · Before you start
You review a frozen, pre-loaded, browser-only environment: URLs + the credentials below + a browser. You cannot reset, reseed, restart, or run SQL — you verify by clicking through the app.
- Verdict model: every check is PASS / FAIL. Any FAIL ⇒ that tenant is rejected. Record the tenant, screen, and exact symptom. Do not attempt workarounds.
- Data ages. Member expiry dates were seeded relative to the freeze date. Before the drift horizon (≈ freeze + 1 month) the 7-active / 2-expiring / 1-expired spread reads as designed; after it, the 2 "expiring-soon" members lapse and read as expired — expected aging, not a defect. Check the freeze date first.
- Login budget (you can't reset it). Auth limiter ≈ 30 attempts / 15-min window, shared per IP (
NODE_ENV=development), self-healing on a 15-min timer with no on-screen countdown. Authenticate all roles for one tenant before moving on; do NOT retry a failed login — on a 429, wait 15 minutes.
- Summit Fitness tier prices ₱1,500 / ₱2,500 / ₱800 are MONTHLY, not annual (that's why they're lower).
- Brightpath invoice "2025 Patron Gift" = ₱5,000 is the Patron-tier annual dues (₱5,000 = Patron price), not a ₱500 gift.
- Vista Verde AGM is ₱0 / free → it has no payment records, which is correct (a free event creates no payment).
1 · Access
Password for every demo account: Demo123!. Use the admin login for verification (broadest view).
Cloud host suffix differs (e.g. medalliance.demo.membervu.com); logins do not change.
| Tenant | Slug | Admin login | URL (local) |
|---|---|---|---|
| MedAlliance Society | medalliance | admin@medalliance.demo | medalliance.membervu.local:8090 |
| Metro Chamber of Commerce | metrochamber | admin@metrochamber.demo | metrochamber.membervu.local:8090 |
| Summit Fitness Club | summitfit | admin@summitfit.demo | summitfit.membervu.local:8090 |
| Brightpath Alumni Foundation | brightpath | admin@brightpath.demo | brightpath.membervu.local:8090 |
| Vista Verde HOA | vistaverde | admin@vistaverde.demo | vistaverde.membervu.local:8090 |
Other roles per tenant: treasurer@<slug>.demo, events@<slug>.demo (same password).
The items a browser-only reviewer can't see (centavos precision, zero-payment on the free AGM, invoice↔payment↔allocation
parity, monthly-period flag) are the operator's pre-freeze responsibility — confirm the operator ran the
pre-freeze checklist (vault Demo-Reviewer-Guide/00-overview.md → Appendix A).
2 · Per-tenant verification
For each tenant: log in as the admin, work the four checks, mark PASS / FAIL. All four must PASS for the tenant to pass. Navigation shorthand: Tiers = Admin → Membership Types · Members = Admin → Members · Event = Admin → Events → (name) · Invoice = Admin → Billing → Invoices.
2.1 · MedAlliance Society — medalliance (Medical Association · ANNUAL)
| Check | Expected on screen | P/F |
|---|---|---|
| Tiers | Fellow ₱12,000/yr (default) · Associate ₱7,000 · Resident ₱3,000 | ☐ |
| Members | 10 members; 9 active / 1 expired (2 active near expiry); a Fellow opens & reads "Fellow" | ☐ |
| Event | "Annual Clinical Symposium 2025" · Completed/past · ₱2,500 · 4 check-ins · ≈45d before freeze | ☐ |
| Invoice | "2025 Annual Dues — Fellow" · ₱12,000 · Paid · payment ₱12,000 (channel "Simulated") | ☐ |
2.2 · Metro Chamber of Commerce — metrochamber (Chamber · ANNUAL)
| Check | Expected on screen | P/F |
|---|---|---|
| Tiers | Bronze ₱15,000/yr (default) · Silver ₱35,000 · Gold ₱75,000 | ☐ |
| Members | 10 members; 9 active / 1 expired; at least one member with an upcoming expiry (renewal beat) | ☐ |
| Event | "Business Mixer Q4 2025" · Completed/past · ₱1,000 · 5 check-ins · ≈30d before freeze | ☐ |
| Invoice | "2025 Membership — Silver" · ₱35,000 · Paid · payment ₱35,000 | ☐ |
2.3 · Summit Fitness Club — summitfit (Fitness · ⚠️ MONTHLY)
| Check | Expected on screen | P/F |
|---|---|---|
| Tiers | Individual ₱1,500/mo (default) · Family ₱2,500/mo · Student ₱800/mo — MONTHLY (proxy: Admin → Settings → Dues Settings shows "Monthly") | ☐ |
| Members | 10 members; 9 active / 1 expired; the 1 expired member is easy to find (reactivation beat) | ☐ |
| Event | "Summer Shred Bootcamp" · Completed/past · ₱500 · 6 check-ins · ≈20d before freeze | ☐ |
| Invoice | "January Dues — Family" · ₱2,500 · Paid · payment ₱2,500 | ☐ |
⚠️ Trap: the low amounts are MONTHLY — do not flag as suspiciously low.
2.4 · Brightpath Alumni Foundation — brightpath (Nonprofit · ANNUAL, FY June)
| Check | Expected on screen | P/F |
|---|---|---|
| Tiers | Alumnus ₱500/yr (default) · Patron ₱5,000 · Lifetime ₱25,000 | ☐ |
| Members | 10 members; 9 active / 1 expired; a Patron or Lifetime member visible & active | ☐ |
| Event | "Homecoming Gala 2025" · Completed/past · ₱3,500 · 5 check-ins · ≈60d before freeze | ☐ |
| Invoice | "2025 Patron Gift" · ₱5,000 · Paid · payment ₱5,000 — ₱5,000 = PASS; ₱500 = FAIL | ☐ |
⚠️ Trap: "2025 Patron Gift" at ₱5,000 is the Patron-tier dues — not a ₱500 gift. Terminology: the pitch says "pledge", not "dues" (note, don't fail, generic product "dues" labels).
2.5 · Vista Verde HOA — vistaverde (Homeowners Association · ANNUAL)
| Check | Expected on screen | P/F |
|---|---|---|
| Tiers | Standard Unit ₱24,000/yr (default) · Townhouse ₱18,000 — exactly two tiers | ☐ |
| Members | 10 members; 9 active / 1 expired | ☐ |
| Event ("community meeting") | "Annual General Meeting 2025" · Completed/past · ₱0 / Free (not blank, not error) · 6 check-ins · ≈25d before freeze · no payment records (correct) | ☐ |
| Invoice | "2025 Annual Assessment — Standard Unit" · ₱24,000 · Paid · payment ₱24,000 | ☐ |
⚠️ Trap: AGM is free (₱0) → absence of payment records is correct. Terminology: say "community meeting" / "Assessment" (note, don't fail, generic "event"/"dues" labels).
3 · Cross-cutting checks (all tenants)
| Check | Expected | P/F |
|---|---|---|
| Tenant isolation | Member lists differ across tenants — no cross-tenant data bleed | ☐ |
| Branding | Each tenant shows distinct theme/logo (Host-header resolution) | ☐ |
| Payment posture | "Record Payment" stays in-app; no Paynamics redirect fires | ☐ |
A genuine cross-tenant data leak IS a real bug — report it. Shared rate-limiter / global super-admin / one MailHog inbox are shared by design — not bugs.
4 · Sign-off
Record per-tenant PASS/FAIL + the overall verdict on the markdown tracker
(tester-files/04_TRACKERS/DEMO_REVIEW_TRACKER.md), or copy the full sign-off form from
Demo-Reviewer-Guide/SIGNOFF-RECORD.md in the vault.
Overall: all 5 tenants PASS + cross-cutting PASS ⇒ demo is sales-ready (GO). Any FAIL ⇒ NO-GO; file the symptom and route to the demo-environment owner.
Snapshot / freshness
| Field | Value |
|---|---|
| Freeze date | operator-filled in Demo-Reviewer-Guide/00-snapshot.md |
| Drift horizon | ≈ freeze + 1 month (after which the 2 "expiring-soon" per tenant read expired) |
| Reset | Not available to the reviewer. Operator re-seeds + re-freezes to refresh. |
Related: vault Demo-Reviewer-Guide/ (canonical) · Demo-Environment.md (infra/deploy) · live sales scripts demo/scripts/*-demo-script.md (the pitch — a different audience).