Skip to content
This repository has been archived by the owner on Sep 2, 2019. It is now read-only.

requirement

kakaka19 edited this page Jan 19, 2018 · 1 revision

要求/要件

要求定義

  • 入退室処理を自動化したい
  • 誰が参加したかをデータで把握したい
  • 入室中の参加者を確認したい
  • 入退室の結果を通知メールして共有したい
  • 他の機能と連携したい(外部サービスにメールを送ることにより連携できる)

業務要件

  • Raspberry Pi + PaSoRiでUIを提供し、入退室処理を簡易にする
  • 管理者画面から本日の入退室情報一覧を閲覧可能とする
  • データをグラフに表示する
    • 時間帯別の棒グラフなどが必要
  • 退勤時にメールで利用者一覧を通知

機能要件

Raspberry Pi + PaSoRi

  • PaSoRiにタッチして、参加者に目的を選択させて入退室処理する機能が必要
  • PaSoRiにタッチして、ICカードと参加者を登録する機能が必要
  • PaSoRiにタッチした時、音が鳴る機能が必要
  • 重複スキャン防止機能が必要(各ユーザ10分のインターバルが必要?)
  • ラズパイ起動時にアプリケーションがアクティブになる機能が必要

利用者側画面

ICカード登録機能

  • ユーザIDを入力して、タッチして登録を行う
    • USBからタッチ音の設定ができるようにしたい

ICカードでタッチすると入退室記録を残せる

  • タッチして入室すると、画面に入室時刻と名前を表示する
    • 数秒で消えるようにする
  • タッチ忘れもあるので、マニュアル入力機能も欲しい
    • 入退室処理が正常に終了したら、通知音が鳴る

Server

  • 規定時間後に自動退室処理機能が必要
  • 規定時間後に本日の参加者を報告するメールを送信する機能が必要
    • 18時になったら退室処理が完了したメールがくる
  • 自動退出処理(退出タッチのし忘れがあると思われるので)
  • 自動シャットダウン機能
  • 自動init機能

管理者側画面

  • 本日の入退室情報一覧を閲覧できる
  • 入退室情報の修正ができる
  • データをグラフに表示する
    • 時間帯別の棒グラフなどが必要

非機能要件

セキュリティ

  • クロスサイトスクリプティング
    • 対応方針:jsxを使用してエスケープ処理を行う

ちょっと考えておきます

運用

未決定

リリース

未決定だが、開発 + 本番環境でのテストを繰り返せば自然と決まるはず。

技術

開発言語

javascript

HTTP仕様

HTTP2

フロントサイド

  • React.js
  • d3.js
    • グラフ表示に使用する
  • websocket