要求、および機能概要 - Wakame-Order/register-system GitHub Wiki

##要望 新入生の履修登録を助ける

##要求 ユーザの時間割の管理を簡単にする。また、ほかのユーザや友達の履修登録状況から授業をレコメンデーションして、どの授業を取るか判断する助けにする。

##要件 ###機能要件(必須)

  • システム開発者は該当する学期の授業を事前にスクレイピングを行ってデータベースに保存する。(例, 火1 Academic English Speaking)
  • 学籍番号とパスワードを使ったログイン
    • システム開発者はパスワードを閲覧しても解読はできないようにする。
  • ユーザの時間割をwebsystemより取得
    • システム開発者はログインした時点でユーザーが登録している授業を取得して保存する。
  • 時間割の管理機能
    • ログインユーザは自身の時間割を閲覧できる。ログインユーザーは時間割に表示されている授業をクリックすることで詳細が観れる。
      • ログインユーザは時間割のプライベート化ができる。時間割の表示を非公開にした場合は登録している友達にのみ時間割が公開される。
  • 友達表示機能 : ログインユーザーは友達になっているユーザを登録された時間順に表示する。友達を選択するとその人の時間割が表示される。
  • 友達検索機能
    • 学籍番号による友達の検索 : ログインユーザによって友達、または時間割が公開状態のユーザが検索された場合は該当ユーザの時間割を表示する。非公開のユーザが選択された場合にはコンタクト送信のダイアログが表示
  • 友達登録機能
    • 友達にコンタクトを送信 : ログインユーザが他人の時間割を表示している場合にはコンタクトを送ることが可能になる。
    • コンタクトを承認 : ログインユーザは未処理のコンタクトがある場合にはバッジによって通知表示される。
  • 友達削除機能
    • 友達から削除(論理削除を行い,相手には通知されない)
  • プロフィール管理機能
    • プロフィールの登録
      • プロフィールは学籍番号から判断できる範囲に加えて性別のみを入力可能
      • プロフィールの公開設定 : デフォルトでは公開されている。
    • プロフィールの編集機能
      • プロフィールを編集して保存する(性別)
      • プロフィールの公開設定
  • 授業のレコメンデーション
    • 同じ学科の人の傾向を分析してレコメンデーション //自分の時間割の画面で学科の人がとっている授業が表示される。
    • 友達の傾向を分析してレコメンデーション //自分の時間割の画面で友達に登録されているユーザからおすすめの授業を表示。
    • 時間割を分析してレコメンデーション //[推測]時間割の傾向はおそらく1限を取るかどうか。授業に属性をもたせてその属性を評価。曜日ごとの評価?

##機能要件(future)

  • 時間割のexport
    • csvフォーマットによるexport
    • その他のフォーマットのサポート
  • social連携
    • twitterの連携
    • facebookの連携
  • ユーザへの通知
    • トップ画面にてほかのuserによるお知らせを表示(例 明日さるやまでイベントします)
  • プロフィールの充実
  • chat機能
    • 友達に登録してあるユーザとchat

###非機能要件

  • AWSにてサーバーを管理する。
  • Railsによる開発
  • githubによるプロジェクト管理
  • webで公開
  • データベースmysql

##リリース目標 4月11日~4月25日