📘
研究室の入退室を自動管理するアプリケーションを作成してみた<設計編>
私たちの研究室(Nislab)
アドベントカレンダー 9 日目~
背景
私たちの研究室は情報系の分野に属している。そのため、メンバーが物理的に研究室に集まることは少なく、ほとんどの作業がリモートで行われる。しかし、たまには対面で集まることもあり、その貴重な時間を最大限に活かすことが重要であると考える。
現在のところ、研究室に誰がいるのかを把握する簡単な方法がない(slack で general で聞くことができるがハードルが高い)。
これが、コミュニケーションの活性化にも影響につながっていると考える。
研究室のメンバーがいつ研究室にいるのかを把握できれば、より効率的にコミュニケーションを取り、共同作業を進めることができるのではないかと考える
要件定義
-
自動化:
- メンバーは入退室ボタンを押さずに、研究室にいるだけで自動的に検出する。
-
リアルタイム:
- 誰が存在しているかについてのリアルタイムの更新を提供
-
コスト効率:
- 無料で作成すること
- 開発コストも極小にすること
-
プライバシーとセキュリティ:
- 関係者以外には見れないようにしたい
-
汎用性:
- 自分たちの研究室以外でも使えるように設計を行う
システム設計
Nextjs(typescript)
- web アプリとしては、Nextjs を採用している。アクセスを制限するために basic 認証を採用している
GAS (スプレッドシート)
- スプレッドシートでデータを管理したいため、GAS を使って Web アプリ、ラズベリーサーバからのアクセスを可能にする
- 基本的に無料で利用可能
Raspberry Pi
- 1からサーバを作るとお金のコストも開発コストもかかるため、今回はラズベリーサーバにしている
まとめ
次回は、実装編を行うのでぜひ楽しみに待ってください~
Discussion