今回はDBにMongoDBを使うということで、検索してみたところ、CongoMongoが使いやすそうだったので、少し試しに使ってみたところ、今回の要件はそこまで複雑でないので採用ということに。
参考にしたのはこの辺です。
- ClojureでMongoDBにアクセスしてみる – asakawajunyaの日記
- congomongo: Use MongoDB from Clojure – The Changelog – Open Source moves fast. Keep up.
- aboekhoff/congomongo – GitHub
また、テンプレートエンジンについては、前回はEnliveを利用しようかと思ったんですが、実際に使ってみたところEnliveはスクレイピングしたHTMLからデータを抽出するのに適していて、今回のように既にテンプレート、データは用意されていてコントローラからテンプレート内で利用する変数のハッシュを渡して後はテンプレート側で適当に処理してくれるような軽量なものが望ましかったので、今回は諦めました。
そこで、もう少し検索したところFleetというのがあり、使ってみたところ上記の使い方が出来そうだったのでこっちを使ってみることにしました。
基本的な使い方は公式のページに書いています。
また、今回はCompojureと組み合わせたところ、現バージョンではエラーになるので、下記のページを参考に修正すると正常に動作するようになりました。
Glue Fleet and Compojure Together Using Protocols – No Fluff Just Stuff
ということで、今のところCompojure + CongoMongo + Fleetで開発してみたいと思います。