/pumpkin

Clojure/conj 2014 demo

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

pumpkin

Demo from my Clojure/conj 2014 talk.

Video. Slides.

Deployed to heroku: pumpkin.

Alt text

A sample dashboard demo written with Sente, Om, and data visualisation libraries D3.js and dimple.js.

It demonstrates how to connect Om and Sente to push new data to our client and how to create data vis components and make them interact with each other. Data visualised comes from GitHub stats of an open source project - no authorisation neccessary but there is an API limit of 60 resource requests per hour.

It's built on top of an awesome leiningen template chestnut - a real life saver!

Development

Start a REPL (in a terminal: lein repl, or from Emacs: open a clj/cljs file in the project, then do M-x cider-jack-in. Make sure CIDER is up to date).

In the REPL do

(run)

The call to (run) does two things, it starts the webserver at port 10555, and also the Figwheel server which takes care of live reloading ClojureScript code and CSS. Give them some time to start.

When you see the line Successfully compiled "resources/public/pumpkin.js" in 15.509 seconds., you're ready to go. Browse to http://localhost:10555 and enjoy.

Deploying to Heroku

This assumes you have a Heroku account, have installed the Heroku toolbelt, and have done a heroku login before.

git init
git add -A
git commit
heroku create
git push heroku master:master
heroku open

Running with Foreman

Heroku uses Foreman to run your app, which uses the Procfile in your repository to figure out which server command to run. Heroku also compiles and runs your code with a Leiningen "production" profile, instead of "dev". To locally simulate what Heroku does you can do:

lein with-profile -dev,+production uberjar && foreman start

Now your app is running at http://localhost:5000 in production mode.

License

Copyright © 2014 Anna Pawlicka

Distributed under the Eclipse Public License.