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>
This commit is contained in:
2026-02-17 14:50:42 +01:00
co-authored by Claude Opus 4.6
commit f7b571f670
38 changed files with 1756 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
(ns pmagnus.btcprice.core-test
(:require
[clojure.test :refer [deftest is]]))
(deftest app-loads-test
(is (= 1 1)))
+21
View File
@@ -0,0 +1,21 @@
(ns pmagnus.btcprice.test-utils
(:require
[integrant.core :as ig]
[integrant.repl.state :as state]
[pmagnus.btcprice.config :as config]
[pmagnus.btcprice.core :as core]))
(defn system-state []
(or @core/system state/system))
(defn system-fixture []
(fn [f]
(let [system (-> (config/system-config {:profile :test})
(ig/prep)
(ig/init))]
(reset! core/system system)
(try
(f)
(finally
(ig/halt! system)
(reset! core/system nil))))))
@@ -0,0 +1,13 @@
(ns pmagnus.btcprice.web.request-test
(:require
[clojure.test :refer [deftest is use-fixtures]]
[pmagnus.btcprice.test-utils :as tu]))
(use-fixtures :once (tu/system-fixture))
(deftest health-request-test
(let [sys (tu/system-state)
app (get sys :handler/ring)]
(when app
(let [resp (app {:request-method :get :uri "/api/health"})]
(is (= 200 (:status resp)))))))