サンプルアプリケーション - イベント管理アプリケーション -
では、さっそくサンプルアプリケーションの作成に入ります。
作成するサンプルの解説
今回作成するサンプルアプリケーションは、イベントの開催日などの情報を登録して参加者を募集する、イベント管理アプリケーションです。このようなサービスは各種ありますが、今回作成する物は比較的シンプルなものです。
前編である本稿では、Google App Engine上でイベントの登録を行えるようになるまでを実装します。基本的なLiftアプリケーションを作成し、Google App Engineで提供されるBigTableをベースとしたDataStoreへ、作成したイベントの情報を登録できるようになるまでが目標です。
今回は解説しませんが、後編では、Googleのアカウント認証を利用して参加登録を行える機能を追加し、TaskQueueによってリマインダーメールを参加者に送付する機能を追加します。
Google App Engine/Java用のLiftプロジェクト作成
サンプルアプリケーション用のLiftプロジェクトを作成します。プロジェクトの作成は、mavenコマンドで行います。MS-DOSプロンプトまたはターミナルを起動し、プロジェクトを作成したいディレクトリに移動します。
mvn archetype:create -U -DarchetypeGroupId=net.liftweb \ -DarchetypeArtifactId=lift-archetype-blank \ -DarchetypeVersion=1.1-M7 \ -DremoteRepositories=http://scala-tools.org/repo-snapshots \ -DgroupId=demo -DartifactId=czeventengine
"mvn archetype:create"コマンドで、Liftのプロジェクトのひな形が生成されます。"-DarchetypeVersion=1.1-M7"とオプションが指定されているので、Lift1.1-M7を基にしたプロジェクトになります。
その他のオプションについては、こちらの『ScalaによるWebアプリケーションフレームワーク「Lift」とは』を参照してください。
リスト2は、Liftプロジェクトのファイル構成です。"mvn archetype:create"コマンドで、この構成のディレクトリが作成されます。太字は、今回作成または修正するファイルです。
czeventengine/
|-- pom.xml
`-- src
`-- main
|-- scala
| |-- bootstrap
| | `-- liftweb
| | `-- Boot.scala -- アプリケーションの設定
| `-- demo -- アプリケーションのパッケージ
| |-- model -- Modelクラスを配置
| | `-- Event.scala
| `-- snippet -- Snippetクラスを配置
| `-- EventSnippet.scala
`-- webapp -- コンテキストルートディレクトリ
|-- WEB-INF
| `-- appengine-web.xml -- GEA/Jの設定ファイル
| `-- web.xml
|-- index.html -- イベント一覧ページのテンプレート
|-- create.html -- 登録ページのテンプレート
|-- eventengine.css -- CSSファイル
`-- templates-hidden -- デフォルトのTemplate
`-- default.html


