aiueo49 / my_discord_bot

0 stars 0 forks source link

READMEの提出 #11

Closed aiueo49 closed 10 months ago

aiueo49 commented 10 months ago

お世話になります。 49期北島です。

READMEを提出いたします。 ご確認ください。

ky0613 commented 10 months ago

ご提出ありがとうございます。 以下コメントになります。


aiueo49 commented 10 months ago

コメントありがとうございます。 修正を行いましたのでご確認ください。


機能面が大きくまとめられているため、細分化してどのような機能が必要か確認しましょう。

細分化してみました。 OAuth2.0を使ったログイン機能の実装はMVPリリース時にあったほうが良い気もしています。

MVPリリース時に作っていたいもの

Discordチャンネルへの入退出をトリガーとした学習記録機能

  1. Discord Botの実装
    • Discord APIを使用したBotの作成
    • チャンネル入退出時のイベントを監視する機能の実装
  2. 学習時間の記録
    • ユーザーごとの学習時間を記録するデータベースの設計(ユーザーID、ニックネーム、入室時間、退室時間、学習時間)
    • 入室時、ユーザーIDとニックネームを取得する機能の実装
    • 入退出時のタイムスタンプを取得する機能の実装
    • 入退室時間の差を計算し、差を学習時間として算出する機能の実装
  3. botによるチャットの表示
    • 入退室時に定型文を自動で表示する機能の実装
    • 入室時(例)「(ユーザー名)さん、おはようございます。今日も頑張りましょう」
    • 退室時(例)「(ユーザー名)さん、お疲れ様でした。学習時間は〇〇時間〇〇分〇〇秒です」

学習記録を表でまとめたWebページ

  1. 学習時間の集計
    • ユーザーごとの学習時間を集計し、合計時間を算出する機能の実装
  2. Webページの作成
    • ユーザーごとの学習時間を表示するWebページの作成
    • 各ユーザーの学習時間を表形式で表示する機能の実装
    • その日の学習時間の合計を表示
    • 毎日の学習時間をカレンダー形式で表示
    • 毎週の合計がカレンダーの1カラムとして存在(週ごとの学習時間の表示)
    • 今までの累積時間の表示

本リリースまでに作っていたいもの

Discordの認証機能を用いたユーザーのログイン

  1. Discord OAuth2.0の実装
    • DiscordのOAuth2.0を利用したログイン機能の実装
    • ユーザーとDiscordアカウントの関連付け
  2. ユーザーデータの管理
    • ログインユーザーの情報を管理するデータベースの設計
    • ユーザー情報の保存、管理、表示機能の実装

学習記録の詳細画面(日毎)

  1. 日毎の学習記録の表示
    • カレンダー形式の任意の日を選択すると詳細画面に遷移する機能の実装
    • 詳細画面には、以下を表示する。
    • RUNTEQカリキュラムの何を勉強したか
    • カリキュラム以外の勉強の場合を考慮し「チーム開発」や「イベント」「書籍」などの選択肢も用意する
    • 言語は何を勉強したか
      • カリキュラムはこちらで既に言語を割り当てておく。ユーザーの自主的な学習についてはカスタムできるような機能を実装
      • 円グラフ、もしくはGithubのような横向きの棒グラフで実装

※詳細画面を作成せず、代えてカレンダー上の日付にホバーした時に吹き出しのような形式で以上の内容を表示させるほうが、ページ遷移を伴わない分ユーザーの負担は減るのでこちらを採用する可能性あり。


Discordの入退室がトリガーになっている場合、雑談などで勉強時間に入らないものは除外できるようにするといいと思いました

ありがとうございます。 雑談などで勉強時間に入らないチャンネルを除外するという意味でしたら実装可能かと思われます。

そうではなく、チャンネル内で雑談などが始まったらそれを検知して学習時間から除外するという仕組みでしたら、自然言語処理や音声解析APIをBotに持たせることで実装できそうではありますが相当な技術力が求められそうです。


以上、よろしくお願いいたします。

tmtkzk0823 commented 10 months ago

ご説明ありがとうございます。 私からもコメントさせていただきます。

OAuth2.0を使ったログイン機能の実装はMVPリリース時にあったほうが良い気もしています。

学習した記録をユーザーごとに記録するのであれば、アプリ側でどのユーザーの記録かを判別する必要があるので、新規登録、ログインはMVP時に必須かと思いました。

aiueo49 commented 10 months ago

お返事ありがとうございます。

学習した記録をユーザーごとに記録するのであれば、アプリ側でどのユーザーの記録かを判別する必要があるので、新規登録、ログインはMVP時に必須かと思いました。

また、上記細分化した記述をREADMEのMVPリリースまでに作っていたいもの、本リリースまでに作っていたいものの項目に追記していただいてもよろしいでしょうか?

対応いたしましたのでREADMEをご確認ください。

kenchasonakai commented 10 months ago

LGTMです! 次の課題に進んでください!