31 · Product domains & Beacon
How we structure Go Past Earth across the domain: product subdomains for apps, API on the main domain, and Beacon as the signage product name.
Canonical deep plan
OAO chapter
31 — Domain surfaces & Beacon ↗
· Markdown
31-DOMAIN-SURFACES-AND-BEACON.md.
This page is the orientation map; OAO has phases, Nginx sketch, and checklists.
Picture
flowchart TB
subgraph APEX["gopastearth.com — MAIN"]
MKT["Marketing · signup"]
API["/api · /auth · /media · webhooks · bridge WS"]
end
subgraph SURF["Product surfaces"]
D["dashboard.* — office OS"]
P["pos.* — POS / mPOS"]
K["kds.* — kitchen"]
B["beacon.* — Beacon Screen players"]
end
subgraph KEEP["Keep as-is"]
S["staging.* all-in-one QA"]
H["dochub.*"]
G["gperep.* Gitea"]
end
D --> API
P --> API
K --> API
B --> API
MKT --> API
Hostname cheat sheet
| Host | Job | Notes |
|---|---|---|
gopastearth.com |
Main domain | All API & shared services + public marketing |
dashboard.gopastearth.com |
Business dashboard | Admin, catalog, inventory, reports, hub, master-admin, Beacon config |
pos.gopastearth.com |
Point of sale | Counter + mobile POS shell |
kds.gopastearth.com |
Kitchen display | Fullscreen kitchen only |
beacon.gopastearth.com |
Beacon Screen | TV / menu board players (was signage player path) |
barcodes.gopastearth.com |
Barcodes | Standalone public UPC/EAN/GTIN lookup (same platform catalog as POS) |
staging.gopastearth.com |
QA all-in-one | Path-based until cutover complete |
Beacon naming
| Where | Say |
|---|---|
| Product / marketing | Beacon |
| Page title | Beacon Screen |
| Dashboard menu | Beacon |
| Code / API (transition) | signage packages & /api/signage/* |
| Player URL target | beacon.gopastearth.com/{tenant}/{display} |
Do not invent a separate nSign stack — Beacon is the product name for the existing signage module (playlist, displays, bridge refresh). See OAO 26.
Rules of the road
- Surfaces call apex for data — they do not each run Express.
- Session cookie
Domain=.gopastearth.comso dashboard → pos stays logged in. - CORS allowlist every product host with credentials.
- Staging keeps path mode for safe QA during migration.
- UI rebrand (Beacon) can land before DNS if URLs still show staging paths.
Phases (short)
| # | Focus |
|---|---|
| 0 | Docs (this + OAO 31) |
| 1 | DNS · TLS · Nginx shells |
| 2 | Cookie domain · CORS · VITE_API_BASE_URL |
| 3 | Host defaults · Beacon labels · admin URL alias |
| 4 | Apex marketing + storefront paths |
| 5 | Prod prefers product hosts; staging stays all-in-one |