🐾

  1. VSB registry · vsbhk.org.hk

  2. AFCD «Vet Clinics List» · pets.gov.hk

GET /api/clinics?q=<keyword>&categories=<ids>
GET /api/clinics/<clinic-id>
GET /api/vets?q=<keyword>
GET /api/categories
GET /api/stats

┌──────────┐    ┌────────────────────────────┐    ┌────────────┐
│ Browser  │───▶│  Cloudflare Pages (CDN)    │───▶│ Cloudflare │
│  (you)   │    │  ┌──────────────────────┐  │    │     D1     │
└──────────┘    │  │ public/ static       │  │    │  (SQLite)  │
                │  │   index.html, app.js │  │    │  hkvet     │
                │  └──────────────────────┘  │    └─────▲──────┘
                │  ┌──────────────────────┐  │          │
                │  │ functions/* (workers)│──┼──────────┘
                │  │  /api/clinics/* etc. │  │
                │  │  /clinics/[id] (SSR) │  │
                │  └──────────────────────┘  │     ┌─────────────┐
                └────────────────────────────┘     │ vsbhk.org.hk │
                                                   │ pets.gov.hk  │
                  ┌──────────────────────────┐     │ google maps  │
                  │ Cloudflare Worker (cron) │────▶│              │
                  │ Mondays 11:00 HKT        │     └──────────────┘
                  └──────────────────────────┘

  • Cloudflare Pages

  • Cloudflare Pages Functions

  • Cloudflare D1

  • Google Maps JavaScript API + Geocoding API