02cc607e7303f619b2a77b0226447e300f604bf4
- Switch from SSE EventSource to WebSocket client connecting to btcdata's new /api/price/ws endpoint - Add automatic reconnect on connection loss (3s delay) - Update Dockerfile BTCDATA_URL to use btcdata's new Docker port 4101 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
btcprice
Bitcoin price tracker UI. Serves an HTML page with live price updates streamed from btcdata via Server-Sent Events.
Quick Start
# Start btcdata first (provides price data)
cd ../btcdata && make run
# Local dev
make run # starts on port 4000
make tailwind # watch Tailwind CSS (separate terminal)
# Docker (starts both btcprice + btcdata)
docker compose up -d # btcprice on 4041, btcdata on 4101
Environment Variables
| Variable | Default | Description |
|---|---|---|
PORT |
4000 |
HTTP server port |
BTCDATA_URL |
http://localhost:4100 |
btcdata service URL (injected into browser JS) |
How It Works
The server renders an HTML page that includes a vanilla JavaScript EventSource connecting directly to btcdata's SSE endpoint (BTCDATA_URL/api/price/stream). Price updates are rendered client-side with color-coded changes (green up, red down).
Tech Stack
Clojure · Kit · Undertow · Reitit · Hiccup · Tailwind CSS v4
Languages
Python
87.1%
Dockerfile
6.7%
Makefile
4.3%
JavaScript
1.3%
CSS
0.6%