summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Barksdale <amatus@amatus.name>2016-11-25 10:46:06 -0600
committerDavid Barksdale <amatus@amatus.name>2016-11-25 15:45:17 -0600
commit53284a2f5d22d15cd7851fd0f06a53ea1df0c280 (patch)
treed9831c1d6f1187611b16fb2028e9ab9882dfc017
parent475f9f3ac7688e58505690d420cafe6ae8bb8b5f (diff)
Starting point for hoplon app
-rw-r--r--.gitignore2
-rw-r--r--boot.properties2
-rw-r--r--build.boot51
-rw-r--r--src/app/core.clj8
-rw-r--r--src/app/handler.clj18
-rw-r--r--src/app/rpc.cljs6
-rw-r--r--src/index.cljs.hl10
7 files changed, 97 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..73e4863
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+target/
+sdb.db
diff --git a/boot.properties b/boot.properties
new file mode 100644
index 0000000..14de5ae
--- /dev/null
+++ b/boot.properties
@@ -0,0 +1,2 @@
+BOOT_CLOJURE_VERSION=1.7.0
+BOOT_VERSION=2.6.0
diff --git a/build.boot b/build.boot
new file mode 100644
index 0000000..8653396
--- /dev/null
+++ b/build.boot
@@ -0,0 +1,51 @@
+(set-env!
+ :dependencies '[[adzerk/boot-cljs "1.7.228-2"]
+ [adzerk/boot-cljs-repl "0.3.3"]
+ [com.cemerick/piggieback "0.2.1" :scope "test"]
+ [compojure "1.5.1"]
+ [hoplon/castra "3.0.0-alpha5"]
+ [hoplon "6.0.0-alpha17"]
+ [org.clojure/clojure "1.7.0"]
+ [org.clojure/clojurescript "1.7.170"]
+ [org.clojure/tools.nrepl "0.2.12" :scope "test"]
+ [pandeiro/boot-http "0.7.6"]
+ [ring "1.5.0"]
+ [ring/ring-defaults "0.3.0-beta1"]
+ [simpledb "0.1.4"]
+ [weasel "0.7.0" :scope "test"]]
+ :source-paths #{"src"}
+ :resource-paths #{"assets"})
+
+(require
+ '[adzerk.boot-cljs :refer [cljs]]
+ '[adzerk.boot-cljs-repl :refer [cljs-repl start-repl]]
+ '[hoplon.boot-hoplon :refer [hoplon prerender]]
+ '[pandeiro.boot-http :refer [serve]])
+
+(deftask dev
+ "Build tankputer for local development."
+ []
+ (comp
+ (watch)
+ (speak)
+ (hoplon)
+ (cljs-repl)
+ (cljs)
+ (serve
+ :handler 'app.handler/app
+ :reload true
+ :port 8000)))
+
+(deftask prod
+ "Build tankputer for production deployment."
+ []
+ (comp
+ (hoplon)
+ (cljs :optimizations :advanced)
+ (prerender)
+ (aot :all true)
+ (uber)
+ (jar :main 'app.core :file "tankputer.jar")
+ (target :dir #{"target"})))
+
+;; vim: set expandtab ts=2 sw=2 filetype=clojure :
diff --git a/src/app/core.clj b/src/app/core.clj
new file mode 100644
index 0000000..42ad0d1
--- /dev/null
+++ b/src/app/core.clj
@@ -0,0 +1,8 @@
+(ns app.core
+ (:gen-class)
+ (:require [app.handler :refer [app]]
+ [ring.adapter.jetty :refer [run-jetty]]))
+
+(defn -main
+ [& args]
+ (run-jetty app {:port 80}))
diff --git a/src/app/handler.clj b/src/app/handler.clj
new file mode 100644
index 0000000..eb0c2a3
--- /dev/null
+++ b/src/app/handler.clj
@@ -0,0 +1,18 @@
+(ns app.handler
+ (:require [castra.middleware :as castra]
+ [compojure.core :as c]
+ [compojure.route :as route]
+ [ring.middleware.defaults :as d]
+ [ring.util.response :as response]
+ [simpledb.core :as db]))
+
+(c/defroutes app-routes
+ (c/GET "/" req (response/content-type (response/resource-response "index.html") "text/html"))
+ (route/resources "/" {:root ""}))
+
+(def app
+ (-> app-routes
+ (castra/wrap-castra 'app.api)
+ (d/wrap-defaults d/api-defaults)))
+
+(db/init)
diff --git a/src/app/rpc.cljs b/src/app/rpc.cljs
new file mode 100644
index 0000000..7edbc4c
--- /dev/null
+++ b/src/app/rpc.cljs
@@ -0,0 +1,6 @@
+(ns app.rpc
+ (:require-macros
+ [javelin.core :refer [defc defc=]])
+ (:require
+ [javelin.core]
+ [castra.core :refer [mkremote]]))
diff --git a/src/index.cljs.hl b/src/index.cljs.hl
new file mode 100644
index 0000000..c8be06d
--- /dev/null
+++ b/src/index.cljs.hl
@@ -0,0 +1,10 @@
+(page "index.html"
+ (:require [app.rpc :as rpc]))
+
+(html
+ (head
+ (title "Tankputer"))
+ (body
+ (h1 "Tankputer")))
+
+;; vim: set expandtab ts=2 sw=2 filetype=clojure :