modern-clj-web
This project shows my opinionated way to develop Clojure web applications in late 2015.
It embraces Clojure philosophy to compose small libraries over frameworks.
On the frontend it uses ClojureScript with Om and om-tools to reduce some verbosity.
The backend is a Ring web server which exposes REST backend with Mongo as repository,
all wired with component.
It was created from duct template and should follow 12-factor philosophy,
but it's main focus is rather on interactive development with
reloaded workflow
and figwheel.
Developing
To begin developing, start with a REPL.
lein repl
Run go
to initiate and start the system.
user=> (go)
:started
By default this creates a web server at http://localhost:3000.
When you make changes to your source files, use reset
to reload any
modified files and restart the server.
user=> (reset)
:reloading (...)
:started
To develop frontend, start fighweel
on another terminal.
lein figwheel
When you open main page in the browser fighweel
should establish websocket connection and reload any changes in ClojureScript files.
Legal
Copyright © 2015 Piotr Jagielski