大学ボランティア案件マッチングシステム

目次
システム概要
大学ボランティアセンターが行う、学生と地域のボランティア案件を効果的にマッチングするためのWebシステム。
- 開発期間:2025年1月~2月(20日)
- 使用技術:Java、JSP、Servlet、Oracle DB、Eclipse、Tomcat8、HTML/CSS
- 開発手法:ウォーターフォールモデル(要件定義 → 基本設計 → 詳細設計 → 実装 → テスト → 運用)

2名体制で私はバックエンド、もう一人はフロントエンドを担当いたしました
システム導入の目的・背景
従来の掲示板チラシによる案件告知は業務負担が大きく、効率化が求められたため、Webシステム化による業務効率化・情報一元管理を目指した。
- 案件情報・応募受付のオンライン化
- 職員の管理業務負担を軽減
- 学生の利便性向上(Web上で案件確認・応募)
抱えていた課題と解決策
課題
- 案件情報が掲示板に限定され、確認が不便
- 問い合わせや紙の応募手続きによる業務負担
- 応募情報管理の非効率性
解決策
- Webシステムで案件情報の登録・検索・応募を完結
- 応募情報・案件情報のデータベースによる一元管理
- オンライン化による問い合わせ軽減

簡単に言うとセンターでの応対と掲示板でしかボランティア案件を見れなくて不便だったということです。
実装機能の概要
管理者機能
- ログイン機能(ユーザ名・パスワード認証)
- 案件登録機能(必須情報登録、非公開情報管理)
- 案件一覧・検索・CSV出力機能(期間・地域・テーマ別)
- 応募者管理機能(応募情報の一覧表示)
- 案件編集機能(ステータス管理:募集中・締切・中止・完了)
学生ユーザー機能
- 案件閲覧機能(一覧・詳細表示)
- 案件応募機能(応募フォーム送信後、完了通知メール送信)

個人的には実績を確認できるマイページや、メッセージボックスもつけたかったですが納期との相談でした。
画面設計
ログイン画面

管理者がログインするためのログイン画面です。この画面を見るのは管理者だけです。

案件一覧画面

管理者が案件を検索・閲覧することができます。絞り込み検索はアコーディオンにし、なるべく一画面に件数が表示されること、この画面で管理者が案件の状態や応募者数をすぐに把握できることを意識しました。キーワード検索で担当者名や連絡先、地域名からも検索できます。

案件登録画面

案件登録画面では当然バリテーションが設定されています。

応募一覧画面

案件一覧画面と見た目が似てる応募一覧画面ですが、こちらは応募者情報が検索・閲覧できます。ボランティアセンターは応募者とのやり取りを電話やメールで円滑に行いたいので連絡先がすぐ確認できるのと、ステータスは状態からプルダウンメニューで変更できます。(AJAX)

案件編集画面

案件情報を編集したいときはこちらから編集ができます。ID固定で変更不可です。

案件一覧画面(ユーザー)

ユーザーが案件一覧を見る場合の画面がこちらになります。管理者用と違って、チラシの画像が掲載されていたり、カーソルを乗せるとホバリングして楽しく見れるようになっています。クリックすると詳細に遷移されます。デザイン的にはカテゴリはバッジ表示にしたり、CSSリセットをしたりするなどデザイン的に改良の余地がまだあります。

案件詳細画面

案件名を押下すると遷移するページです。今回は納期的に画面数を最小限にするために応募フォームがこの画面の下部に設置されています。内容を確認して下部から申請してねって感じです。


申請すると確認メールが入力したアドレスに届きます。APIはJakartaMailを利用しました。

システムで設計・開発した主な画面の概要は以下の通り。
| 画面名 | 説明 | 利用者 |
|---|---|---|
| ログイン画面 | ユーザID・パスワードで認証を行う | 管理者 |
| 案件登録画面 | 管理者が新しい案件を登録する画面(案件情報、非公開の代表者情報等を入力) | 管理者 |
| 案件一覧画面(管理者側) | 案件の一覧表示・検索・削除が可能 | 管理者 |
| 応募一覧画面 | 応募者の情報を一覧表示する画面 | 管理者 |
| 案件編集画面 | 登録済み案件の内容を編集・更新する画面 | 管理者 |
| 案件一覧画面(ユーザ側) | 案件の一覧表示(案件名、地域、日時、テーマ、期間、募集状況) | ユーザ(学生) |
| 案件詳細画面 | 案件詳細を表示し、応募可能な画面(応募後、確認メール送信) | ユーザ(学生)、管理者(管理者は追加情報閲覧可能) |
データベース設計(テーブル概要)
| テーブル名 | 説明 | 利用者 |
|---|---|---|
| ADMIN_TABLE | 管理者情報を格納(認証情報) | 管理者 |
| PROJECT_TABLE | 案件情報を格納(非公開情報含む) | 管理者(案件情報はユーザも閲覧可) |
| USER_TABLE | ユーザ(学生)情報を格納 | 管理者、ユーザ |
| APPLICATION_TABLE | 応募情報(ユーザの応募状況)を格納 | 管理者、ユーザ(応募時) |
| M_CODE | 権限や分類などのマスタデータを格納 | 管理者 |
開発時の工夫点・アピールポイント
- ウォーターフォールモデルで計画的かつ確実な工程管理を実施。
- 管理業務負荷軽減と学生の利便性を意識したUI設計。
- Javaを採用し、保守性や拡張性を考慮。
- Oracle DBを用いて案件情報・応募情報を安定的に管理。
成果・得られたスキル
- 要件定義、基本設計、詳細設計を通じて、ユーザーの課題抽出・解決提案能力を習得。
- MVCアーキテクチャを活用し、JavaによるWebアプリケーション開発スキルを習得。
- データベース設計および管理機能を通じて、情報管理の実務的ノウハウを獲得。
- JakartaMailAPIの利用スキルを習得。

初めてのGitHubでの共同開発、お客様との要件定義と打ち合わせでした。
チームコミュニケーションや要件定義や設計に関することに経験的に苦は感じませんでした。が、提案したいことや、技術的にやれることがあっても納期やチームあってこその実現だと感じました。そこのジレンマが最大の学びだったように感じます。

2009年那覇でホームレスになるも沖縄の方々に助けられ、2010年からNPOで地域密着で困窮支援。2016-2024年まで株式会社FM那覇代表取締役。沖縄の支援団体情報ポータルサイト「カケハシオキナワ」設立運営。防災士。コンサル・エンジニア。


