Commit Graph
10 Commits
Author SHA1 Message Date
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 2c576aff4e Fix Dockerfile base images and add docker-compose
Switch to available base images (temurin-21) since clojure:openjdk-25
and azul/zulu-openjdk-alpine:25 no longer exist. Add docker-compose.yml
for single-command app deployment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 16:55:34 +01:00
magnusandClaude Opus 4.6 201155c0b2 Update Dockerfile with Tailwind build stage and prod database
Add Node.js stage for CSS build, cache Clojure deps in separate layer,
add .dockerignore, and default JDBC_URL to btcprod database.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 16:36:38 +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 bb604b302a Set PORT=4040 in Dockerfile to match EXPOSE
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:30:30 +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