Initial commit: btcdata — BTC data backend service
Split from btcprice monolith. Owns DB, migrations, Binance WebSocket, Kraken OHLC pollers, and exposes a JSON API with SSE price stream. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
(ns pmagnus.btcdata.dev-middleware)
|
||||
|
||||
(defn wrap-dev [handler _opts]
|
||||
handler)
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
(ns pmagnus.btcdata.env
|
||||
(:require
|
||||
[clojure.tools.logging :as log]
|
||||
[pmagnus.btcdata.dev-middleware :refer [wrap-dev]]))
|
||||
|
||||
(def defaults
|
||||
{:init (fn [] (log/info "\n-=[btcdata starting...dev/test profile]=-"))
|
||||
:start (fn [] (log/info "\n-=[btcdata started...dev/test profile]=-"))
|
||||
:stop (fn [] (log/info "\n-=[btcdata has shut down]=-"))
|
||||
:middleware wrap-dev
|
||||
:opts {:profile :dev}})
|
||||
Vendored
+50
@@ -0,0 +1,50 @@
|
||||
(ns user
|
||||
(:require
|
||||
[clojure.tools.logging :as log]
|
||||
[integrant.core :as ig]
|
||||
[integrant.repl :refer [go halt reset reset-all set-prep!]]
|
||||
[integrant.repl.state :as state]
|
||||
[pmagnus.btcdata.config :as config]
|
||||
[pmagnus.btcdata.core]))
|
||||
|
||||
(defn dev-prep! []
|
||||
(set-prep!
|
||||
(fn []
|
||||
(-> (config/system-config {:profile :dev})
|
||||
(ig/expand)))))
|
||||
|
||||
(defn test-prep! []
|
||||
(set-prep!
|
||||
(fn []
|
||||
(-> (config/system-config {:profile :test})
|
||||
(ig/expand)))))
|
||||
|
||||
(defn reset-db []
|
||||
(let [sys (or @pmagnus.btcdata.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.btcdata.core/system
|
||||
integrant.repl.state/system)]
|
||||
(when-let [mig (:db.sql/migrations sys)]
|
||||
(migratus.core/rollback mig))))
|
||||
|
||||
(defn migrate []
|
||||
(let [sys (or @pmagnus.btcdata.core/system
|
||||
integrant.repl.state/system)]
|
||||
(when-let [mig (:db.sql/migrations sys)]
|
||||
(migratus.core/migrate mig))))
|
||||
|
||||
(defn query-fn []
|
||||
(let [sys (or @pmagnus.btcdata.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.btcdata" level="DEBUG" />
|
||||
<logger name="org.eclipse.jetty" level="WARN" />
|
||||
<logger name="io.undertow" level="WARN" />
|
||||
<logger name="org.xnio" level="WARN" />
|
||||
</configuration>
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
(ns pmagnus.btcdata.env
|
||||
(:require
|
||||
[clojure.tools.logging :as log]))
|
||||
|
||||
(def defaults
|
||||
{:init (fn [] (log/info "\n-=[btcdata starting]=-"))
|
||||
:start (fn [] (log/info "\n-=[btcdata started successfully]=-"))
|
||||
:stop (fn [] (log/info "\n-=[btcdata 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
+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>
|
||||
Reference in New Issue
Block a user