Author's Description:
概要
理想的な書籍管理システムが欲しいため、また前々から考えていた、汎用性がある理想的なデータブラウザを実現するため作成した。
データブラウザについては下図が当初想定していた画面である。しかし、データ詳細部分の設計が間に合わなかったので、このアプリケーションでは実装されていない。

XHTML、PHP、symfony(Webアプリケーションフレームワーク)、Ext JS(RIAの為のJavaScriptライブラリ)を使用して作成した。
背景
本棚というテーマは私が非常に興味を持っていたので採用した。日頃、知識を得る上で書籍は私にとって不可欠な物だった。しかし、その運用には問題があった。ある事柄を復習しようとするとき、それについてどの書籍を読んだのか忘れてしまうのだ。また、書籍に関するメモを散乱させてしまい、復習に必要以上に時間がかかってしまっていた。メディアマーカーやブクログ、読書メーターなどのウェブサービスはあったが、私にとって使いにくく、また書籍の特定ページに結びつけたメモを取ると言うことが難しかった。よってこのウェブサービスを作成した。
創造物

全体説明
前述したデータブラウザの設計に則って作成した。このウェブサービスでは、書籍に状態(読了、読書中など)、場所、タグ、レートを付けることが可能である。タグはもちろん、状態と場所についてはユーザが任意に追加することが出来る。
左上のフォルダツリーで状態と場所を、左下のタグクラウドでタグを選択し、特定のデータのみを右側のデータ一覧に表示させることが出来る。データ一覧の上部にあるSearchを使い、キーワードで絞り込むことも可能である。
書籍の登録
少し面白い案があったので、それを採用し実装した。書籍の登録には、左上にあるAdd New Booksを押して出てきたウィンドウを使用する。その名の通り、複数の本を同時に追加出来る。
方法としては、まずキーワードで本を検索し(複数回可能)、表示された本の中から追加したい本の一番右にあるボタンを押していく。

追加したい本全てについて行ったら、ウィンドウのAdd Booksというタブを選択する。ここには先ほどボタンを押した本が登録されている。ここでレーティング、場所、状態、タグを入力する。タブキーを押せば次の項目に移動するので、キーボードから手を離さずに全ての入力作業が行える。そして、全て入力し終わったら登録ボタンを押す。

スピーディーな登録作業が行えるようにしたつもりだ。しかし、書籍の検索についてはタイトルや著者名で絞り込んだり、ソートを実装したかったが間に合わなかった。
メモの登録
本のタイトルを押すとページ数とそれに関するメモを入力する画面が表示される。しかし悲しいことに未実装である。

感想
登録書籍一覧で本のサムネイルを表示させたりもしたかったが、時間が間に合わず断念した。今度は二週間ではなく、長期休みのようにもっと長い期間で、もっと一日あたりの時間をとって計画的に作成してみたいと思った。
今回、汎用的なデータブラウザということを念頭に置いて作ったが、状態や読書など書籍に特有な仕様を作ってしまった。しかし、これが悪いとも限らない。様々なデータを扱う上で、何処を特化するか、そして何処を汎用化するか。目的を忘れずにこれからも突き詰めていきたい。


Got something constructive to say?