このブログについて

このブログは、id:essaサブアカウントで作成されています。Amrita2の開発を中心に、主として技術的な話題を扱う予定です。

日本Rubyカンファレンス2006のスピーカーとしてお招きいただいているので、当面は、「カウンセリング予約システム」というシステム(後述)の開発とそれに関する話題が中心になると思います。

カウンセリング予約システム

私は、これから業務でごく小規模のWebアプリケーションを作成する予定です。せっかくですから、Ruby on Railsで作成し、その模様をここでレポートして行きたいと思います。

業務の背景、概略

私の勤務先では、最近、産業カウンセラーの資格を取得した者がいて、試験的にカウンセリングを行なうことになりました。そこで次のことが問題になりました。

  1. オフィスや社員の作業場所が分散している
  2. できればカウンセリングを行なっていることを、他の社員に知られたくないという要望がある
  3. カウンセラーが兼務なので、カウンセリングを実施できる時間が不定期になってしまう

カウンセリングは健常者も対象としているので、本来は、受けることを恥ずかしがるものではないのですが、開始まもないこともあって「カウンセリングを受ける=病気」というマイナスの見方をする人も少なくありません。その為、現状では「知られたくない」という要望にも多少は配慮する必要があります。

そこで、カウンセリングの予約業務をWebアプリとして開発して対応することになりました。

現状では、カウンセラーが一人でクライアントもごく少ないので、メールや電話で連絡を取れば充分対応できる範囲です。これを業務として、無理にシステム化する必然性はありません。しかし、ちょうど私が、Railsで実運用できる試験的なシステムを開発したいと思っていて、規模や要件がちょうどいいので、RailsでWebアプリとして開発してみることにしました。

業務の概略、要件

基本的な流れは以下の通りです。

  • カウンセラーが空き時間(カウンセリング可能な時間)を登録する
  • 希望者が空き時間から予約を行なう
  • カウンセラーは、予約の一覧を予約者の情報とともに見ることができる
  • 一般ユーザは、予約済みの時間は見ることができるが、誰が予約したのかはわからない
  • 予約者は自分の予約した時間を見ることができる

できれば、以下の機能を実装したいと考えています。

  • カウンセラーとクライアントに予約の成立をメールで通知する
  • スケジュールをGoogle Calender等で表示させる(カウンセラー、クライアント、全社員それぞれ)
  • 予約の成立をRSS配信

開発の副次的目的

  • 私自身が、Railsの現時点の機能を学習、確認する為
  • このシステムは、Amrita2のサンプルや検証用としても使用する予定
  • Railsを社内に教育する必要が出た時に、実働サンプルとしたい

最初は、ERbを使って普通に作りますが、後からテンプレートをAmrita2化する予定です。

うまく行けば、規模的に、ちょうどよいサイズのRailsのサンプルプログラムになると思います。