Commit Graph
13 Commits
Author SHA1 Message Date
magnusandClaude Opus 4.6 32a1509482 Proxy btcdata WebSocket through btcprice for remote access
Browser can't reach the LAN-only btcdata WebSocket when accessing
btcprice remotely (Tailscale/Cloudflare Tunnel). Add a /ws/price
proxy route that relays btcdata frames to the browser so only
btcprice needs to be reachable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 13:43:05 +01:00
magnusandClaude Opus 4.6 6afaa228c3 Safelist text-2xl and mt-1 Tailwind classes for larger currency prices
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 14:52:10 +01:00
magnusandClaude Opus 4.6 5c1a080831 Add EUR/DKK rate display support and run-docker Makefile target
Safelist Tailwind classes for currency rate HTML fragments from btcdata
WebSocket. Add make run-docker target that connects to Docker btcdata
on port 4101.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 14:28:17 +01:00
magnusandClaude Opus 4.6 397d9f7b5c Split data layer into btcdata service
Remove DB, Binance WebSocket, and Kraken pollers from btcprice.
UI now uses vanilla EventSource connecting to btcdata for live
price updates. btcprice is now a pure UI service with no database.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 20:07:48 +01:00
magnusandClaude Opus 4.6 c688846a26 Add Kraken daily OHLC poller with database storage
Polls Kraken API for 1-day BTC/USD candles aligned to 00:01 UTC,
mirroring the existing hourly poller pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:53:50 +01:00
magnusandClaude Opus 4.6 30aa52cdc7 Schedule Kraken OHLC polls at HH:01 UTC instead of fixed 5-min interval
Hourly candles only finalize on the hour, so polling every 5 minutes
was wasteful. Now the poller sleeps until 1 minute past each hour,
fetches immediately on first run when no data exists, and logs time
to next fetch on startup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:40:36 +01:00
magnusandClaude Opus 4.6 553dac3069 Add Kraken hourly OHLC poller with database storage
Fetches Bitcoin hourly candles from the Kraken public REST API
and upserts them into a kraken_hour table on a 5-minute poll interval,
following the existing Integrant component pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:32:55 +01:00
magnusandClaude Opus 4.6 8169796eb9 Color price green/red based on direction, fix SSE middleware error
Show price in green when rising, red when falling. Use Tailwind
classes with a safelist comment so JIT includes them. Remove
middleware from SSE route to prevent "response already started" error.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 16:32:40 +01:00
magnusandClaude Opus 4.6 08793c5099 Switch price updates from HTMX polling to SSE
Replace 2s polling with Server-Sent Events for instant price updates.
Write directly to Undertow exchange output stream to ensure proper
flushing, since the Ring adapter buffers InputStream bodies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 16:09:47 +01:00
magnusandClaude Opus 4.6 a50256a042 Add real-time BTC price feed via Binance WebSocket
Connect to Binance trade stream, persist prices to binance_price table
(throttled to every 5s), and live-update the home page via HTMX polling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:51:10 +01:00
magnusandClaude Opus 4.6 5f4800ccc0 Simplify DB connection config to single JDBC_URL for all profiles
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:27:32 +01:00
magnusandClaude Opus 4.6 5c5834e497 Use .env for database config, upgrade integrant/repl to 0.5.0
Load .env vars via Makefile, use #env JDBC_URL for all profiles in
system.edn, switch ig/prep to ig/expand, and add missing namespace
requires in core.clj to match elprice project conventions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:03:41 +01:00
magnusandClaude Opus 4.6 f7b571f670 Initial project setup: Clojure Kit web app for BTC price tracking
Kit framework with Undertow, Reitit routing, Hiccup + HTMX templating,
Tailwind CSS v4, PostgreSQL (empty database), and mobile-first index page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:50:42 +01:00