Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Clojure drama in 3 acts
Clojure
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs
resources
src/drama
.env
.gitignore
Procfile
README.md
project.clj

README.md

Clojure drama

A Clojure drama to play alone, in parallel or in group. The plot is in 3 acts :

  • Get some data from the web : here all plays and their characters of a famous writer
  • Question the data
  • Happy End : make a web site to present your results

This project intends to be a gentle way to dive into clojure ecosystem.

You maybe trained your clojure skills on some 4clojure problems but why not just start directly to do something real.

And on the way it will give you the feel of the clojure power : be declarative and concise, stay focused on data and functions.

cascalog , enlive , ring, moustache are the libraries used here.

But most of new comers see clojure as unusual and cryptic. Such expressions like [:div#main :ul :li [:a (h/attr= :href "/")]] or (<- [?name ?sum] (persons ?name ?amount) (co/sum ?amount :> ?sum)) are in fact a concise, elegant ways to express your logic.

This drama is an attempt to lower the entrance barrier of clojure and hope you will enjoy the simplicity of clojure as I do.

A html source transcript is also available http://maxrzepka.github.com/drama/doc.html and also screencasts act 1 act 2 act 3

Act 1 : Scraping with enlive

Fetch all plays of a famous writer along with their characters. Data coming from this web site .

You may consider my other project https://github.com/maxrzepka/clojure-by-example to play with enlive selectors available on heroku.

Act 2 : Querying with cascalog

No need to know Hadoop or map/reduce paradigms to play with cascalog. Just try it on the repl.

Act 3 : Back to the Web with ring, enlive and moustache

Building web app shoud be simple and with clojure it is.

Web app deployed on (cloudfoundry)[http://clj-drama.cloudfoundry.com/]

Usage

Clone it Fork it ... This project is a continuous work-in-progress. Feel free to use it as you like.

To launch the web app on localhost:8080 , just execute lein run

Your comments/questions/contributions are more than welcome.

Something went wrong with that request. Please try again.