All Projects → pjagielski → modern-clj-web

pjagielski / modern-clj-web

Licence: EPL-1.0 license
Clojure web development - state of the art

Programming Languages

clojure
4091 projects
HTML
75241 projects

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].