Files
where_woof/docs/where-woof-flow.mmd
Sam Rolfe ad8ee626fa Add where-woof.com flow maps: Mermaid + Archify interactive HTML
- docs/where-woof-flow.mmd (flowchart) + PNG/SVG renders
- docs/diagrams/where-woof-flow.html (Archify interactive, showcase quality,
  validated 9/9, no overflow 1440-2048px)
- docs/where-woof-archify.json spec + ARCHITECTURE.md maps section
- Published to maps.lab.audasmedia.com.au/where_woof/docs/
(secret-scan skip: SVG color hex false positive)
2026-09-06 18:10:52 +10:00

32 lines
1.1 KiB
Plaintext

flowchart LR
subgraph Public["where-woof.com — public"]
U[Finder\nscans QR/NFC] --> T["GET /t/:code\npublic tag page"]
T -->|geolocation + fingerprint| SCAN["POST /t/:code/scan"]
T -->|finders number| FB["POST /t/:code/contact"]
O[Order /order\nStripe Payment Link] --> BUY[Stripe Checkout]
C[Contact /contact] --> MAIL[SMTP SES]
end
subgraph Core["Go frontend .13:3020"]
SCAN --> GATE{"shouldAlert\ngates"}
GATE -->|paid sub + SMS pool + caps| REC[record scan]
GATE -->|pass| SMS[SMSGlobal HTTP]
FB -->|dedupe| SMS2[SMSGlobal HTTP]
end
subgraph Admin["admin.where-woof.com — Laravel/Filament .13:3031"]
A[Staff manage\nusers/tags/orders/plans] --> PG
WH["POST /webhooks/stripe"] -->|events| ORD[orders.status + tag transitions]
end
subgraph Data["Postgres .13:5434"]
PG[(wherewoof DB\nusers tags scans\norders plans billing_events)]
end
SMS -->|SMS alert + map link| OWNER[Owner phone]
SMS2 -->|finder number| OWNER2[Owner phone]
BUY -->|"checkout.session.completed"| WH
MAIL -->|"hello@where-woof.com"| INBOX[Inbox]
REC --> PG
PG --> A
PG --> ORD