This site is a lightweight Node.js app running on Express. It serves static pages, a small JSON API, a Kampala weather proxy, and a realtime message wall via Server-Sent Events (SSE).
Canonical domain: https://bgorc.com (HTTP and non-canonical hosts redirect to HTTPS).
What’s included
- World clocks for New York, UTC, and Kampala.
- Kampala weather with a server proxy at
/api/weather/kampala
(Open-Meteo, no API key). - Realtime Message Wall using SSE: post messages and see them live without refresh.
- Health check endpoint at
/health
. - Canonical HTTPS + HSTS in production.
Tech stack
- Node.js + Express web server
- Static assets from
/public
- SSE for realtime updates (
/api/wall/stream
) - File storage for messages at
data/messages.json
Useful endpoints
Greeting
/api/hello
Weather (JSON)
/api/weather/kampala
Wall (list)
/api/wall
Wall (stream)
/api/wall/stream
Health
/health
Notes
- Weather times are shown in Kampala local time; the “Last observed” timestamp comes from the provider.
- To bypass the backend weather cache, use
/api/weather/kampala?refresh=1
. - Messages are capped to simple text and stored on disk; delete
data/messages.json
to clear.