Skip to content

maxrzepka/drama

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Clojure drama in 3 acts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published