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:
@@ -0,0 +1,4 @@
|
||||
(ns pmagnus.btcprice.dev-middleware)
|
||||
|
||||
(defn wrap-dev [handler _opts]
|
||||
handler)
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
(ns pmagnus.btcprice.env
|
||||
(:require
|
||||
[clojure.tools.logging :as log]
|
||||
[pmagnus.btcprice.dev-middleware :refer [wrap-dev]]))
|
||||
|
||||
(def defaults
|
||||
{:init (fn [] (log/info "\n-=[btcprice starting...dev/test profile]=-"))
|
||||
:start (fn [] (log/info "\n-=[btcprice started...dev/test profile]=-"))
|
||||
:stop (fn [] (log/info "\n-=[btcprice has shut down]=-"))
|
||||
:middleware wrap-dev
|
||||
:opts {:profile :dev}})
|
||||
Vendored
+48
@@ -0,0 +1,48 @@
|
||||
(ns user
|
||||
(:require
|
||||
[clojure.tools.logging :as log]
|
||||
[integrant.core :as ig]
|
||||
[integrant.repl :refer [go halt reset reset-all set-prep!]]
|
||||
[pmagnus.btcprice.config :as config]))
|
||||
|
||||
(defn dev-prep! []
|
||||
(set-prep!
|
||||
(fn []
|
||||
(-> (config/system-config {:profile :dev})
|
||||
(ig/prep)))))
|
||||
|
||||
(defn test-prep! []
|
||||
(set-prep!
|
||||
(fn []
|
||||
(-> (config/system-config {:profile :test})
|
||||
(ig/prep)))))
|
||||
|
||||
(defn reset-db []
|
||||
(let [sys (or @pmagnus.btcprice.core/system
|
||||
integrant.repl.state/system)]
|
||||
(when-let [mig (:db.sql/migrations sys)]
|
||||
(migratus.core/reset mig)
|
||||
(log/info "Database reset complete"))))
|
||||
|
||||
(defn rollback []
|
||||
(let [sys (or @pmagnus.btcprice.core/system
|
||||
integrant.repl.state/system)]
|
||||
(when-let [mig (:db.sql/migrations sys)]
|
||||
(migratus.core/rollback mig))))
|
||||
|
||||
(defn migrate []
|
||||
(let [sys (or @pmagnus.btcprice.core/system
|
||||
integrant.repl.state/system)]
|
||||
(when-let [mig (:db.sql/migrations sys)]
|
||||
(migratus.core/migrate mig))))
|
||||
|
||||
(defn query-fn []
|
||||
(let [sys (or @pmagnus.btcprice.core/system
|
||||
integrant.repl.state/system)]
|
||||
(:db.sql/query-fn sys)))
|
||||
|
||||
(comment
|
||||
(dev-prep!)
|
||||
(go)
|
||||
(reset)
|
||||
(halt))
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
<configuration>
|
||||
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
<logger name="pmagnus.btcprice" level="DEBUG" />
|
||||
<logger name="org.eclipse.jetty" level="WARN" />
|
||||
<logger name="io.undertow" level="WARN" />
|
||||
<logger name="org.xnio" level="WARN" />
|
||||
</configuration>
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
(ns pmagnus.btcprice.env
|
||||
(:require
|
||||
[clojure.tools.logging :as log]))
|
||||
|
||||
(def defaults
|
||||
{:init (fn [] (log/info "\n-=[btcprice starting]=-"))
|
||||
:start (fn [] (log/info "\n-=[btcprice started successfully]=-"))
|
||||
:stop (fn [] (log/info "\n-=[btcprice has shut down successfully]=-"))
|
||||
:middleware (fn [handler _] handler)
|
||||
:opts {:profile :prod}})
|
||||
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
<configuration>
|
||||
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
<logger name="org.eclipse.jetty" level="WARN" />
|
||||
<logger name="io.undertow" level="WARN" />
|
||||
<logger name="org.xnio" level="WARN" />
|
||||
</configuration>
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
<configuration>
|
||||
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<root level="ERROR">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user