OpenLate — Restaurants by Operating Hours

Run Deploy Instructions

← Back to outcome

Run & Deploy — OpenLate

Local Development

cd delivery-package/open-late-restaurants/app
node server.js

Open http://localhost:3851 in a browser.

For GPS testing without a phone, use audit coordinates:

http://localhost:3851/?lat=45.7833&lon=-108.5007

(Billings, MT example)

Phone Access (Same Wi‑Fi)

  1. Start the server on your computer (see above).
  2. Note the Phone URL printed in the terminal, e.g. http://192.168.1.42:3851.
  3. Open that URL on your phone.
  4. Allow location when prompted.

Deploy to Static Hosting

Upload the entire app/ folder to Netlify, Vercel, GitHub Pages, or any static host.

Important: Geolocation in browsers requires HTTPS on production domains. Localhost and LAN HTTP work for development.

Netlify (example)

cd delivery-package/open-late-restaurants/app
npx netlify deploy --prod --dir .

Smoke Test Checklist

  • [ ] App loads on phone browser
  • [ ] Location permission prompt appears
  • [ ] City name updates in header after GPS
  • [ ] Restaurant groups populate with counts
  • [ ] Open Late / 24 Hours sections appear when applicable
  • [ ] Directions link opens Google Maps
  • [ ] Manual city search works
  • [ ] Filters and sort update the lists

Verification

With server running:

node delivery-package/open-late-restaurants/scripts/run-verification.mjs

Environment

  • Node.js 18+
  • Port 3851 (override with PORT=8080 node server.js)
  • Outbound HTTPS to overpass-api.de and nominatim.openstreetmap.org