研究室用のWebシステムを作った

Web開発

私は大学の研究室でリーダーをやっています。リーダーと言うと格好良く意識が高いようなイメージをもつかもしれませんが、要はミーティングの出席を管理したり教室を抑える申請を出したり、学内発表スケジュールを連絡したりと地味な事務的な仕事がほとんどです。

しかし、私はスケジュール管理は苦手であり誰が出席していたかなんていちいち覚えてられないのです!

なんと言うことであろうか、リーダー or 管理者としての資質なさ…

そこで、管理を円滑に行うWebシステムを作りました。

背景

研究室のメンバーが増加し、いつもの教室の定員を超えてしまったため毎週空いている教室を予約するなどの作業が必要になりました。同時に、教室の場所を告知する必要があり発表者をローテーションで振り分けて連絡するなどの事務作業が多くなっていました。

そこで、これらを自動で行うWebシステムの開発に踏み切りました。成績評定に関わる出席情報を自分で管理するのは心許ないのでこれもシステムに任せることにしました。

しかしWebを使った出席は、不正出席が可能であり信頼性に欠けると言う話も上がっていたためある程度の不正対策も同時に行うことにしました。

作ったWebシステムがこちら

ホームスクリーン

ホームスクリーンにはお知らせが表示されます。またお知らせの重要度によって色分けができます。締め切り日などの超重要なお知らせは赤になり注意を喚起します。

ミーティングページ

ミーティングページは予定されているミーティングと過去のミーティングが表示されます。この画面でキャンパス、教室などの場所や時間、発表担当者を確認できます。

またWooclapやSlidoなどのインタラクティブ発表用の外部サービスリンクもここからアクセスできます。

マイページ

マイページでは自分の出席率が確認できます。出席は成績評定にも関わるので記録もれがないかなどが確認できます。

出席率が低下するとバーが赤色になると同時に警告のメッセージが表示されます。

出席機能

Labo Portal Webの出席システムは基本的に記録ようですが不正はできないようになっています笑 もちろん、不正を試みる人はいませんでしたが。

Adminユーザーはミーティングの出席用QRコードをスクリーンに表示します。それを各自のスマートフォンでスキャンすると出席用フォームにアクセスできると言う仕組みです。

QRのリンクにアクセスすると左のような画面になります。そこにログイン名 (この研究室内で割り当てられてるユニーク な名前)を入力して送信します。

このような出席システムだと、友達の分まで出席と回答する邪な人がいるかもしれません。いわゆる代弁と言うやつですね。しかし、心配無用。同じIPから複数の出席は提出できないようになってます。

大学によるかもしれませんが、DHCPサーバーにより端末に固有のIPが振られる環境下では確実な対策になります。

もしかすると、IPチェックだけではWi-FiをOFFにしてモバイル回線に切り替える人が出るかもしれません。モバイル回線に切り替えるとIPアドレスが変わります。しかし、このWebシステムはブラウザに固有トークンを記録して検証をしています。

以上、非常に厳しすぎる出席システムでした笑

リーダー向け (Admin向け)機能

ミーティングの作成と告知

Adminユーザーはミーティングを作成できます。開始時間やキャンパス、教室番号などを入力します。また、発表担当のメンバー名をここに記入します。

このフォームに記入された情報は上述したミーティングページに表示されます。しかし、Webページに載せただけでは見落とす人が必ず出ますしWebシステム導入前はSlackチャンネルにメッセージを送っていました。

このメッセージ作成はついつい忘れたりと連絡が行き届かないことがありましたが…↑のスクリーンショットの下部にあるチェックボックスに注目ください。こちらにチェックを入れると自動でメッセージを作成しSlackに投稿します。

これで連絡・告知を忘れることはありません。

出席メンバーの確認とステータス 登録

各ミーティングの出席者を一覧で表示することができます。ここで、誰が出席したかを確認すると同時に研究発表を行ったのかなどのステータスを記録することができます。

また、不正な出席などが万が一あった場合は出席を取り消すこともできます。

ちょっとした機能

環境変数に絵文字をセットするとNavigation BarのBrand Logoが変化します。必ずしも必要な機能ではありませんが、クリスマスが近づいたらツリーの絵文字にしたりなど季節感を意識する効果はあったかもしれません笑

ソースやDemo

こちらのWebシステムは全てソースを公開しています。簡単にさくっと実装なので、自由に組み換えて使ってください。Githubページからは1 clickでHeroku Deployも可能です。

コメント

タイトルとURLをコピーしました