<aside>
</aside>
/study_start/study_end/study_report_時刻sequenceDiagram
participant User
participant Slack
participant RailsAPI
participant DB
participant Next.js
User ->> Slack: /study_start:コマンド送信
Slack ->> RailsAPI: コマンドをPOST
RailsAPI ->> DB: 開始した時間を保存
RailsAPI -->> Slack: 「@〇〇さんが開始しました」メッセージ返信
User ->> Slack: /study_end:コマンド送信
Slack ->> RailsAPI: コマンドをPOST
RailsAPI ->> DB: 終了した時間を保存
RailsAPI -->> Slack: 「@〇〇さんが終了しました!所要時間: XX分YY秒」返信
User ->> Slack: /study_report_期間:期間指定コマンド送信
Slack ->> RailsAPI: コマンドをPOST
RailsAPI ->> DB: 指定期間のレコード取得
DB -->> RailsAPI: レコードデータ返却
RailsAPI -->> Slack: 「合計研究時間: XX時間YY分」返信
User ->> Next.js: 時間指定リクエスト
Next.js -->> RailsAPI: APIリクエスト
RailsAPI ->> DB: リクエストで指定されたレコードを取得
DB -->> RailsAPI: レコードデータを返却
RailsAPI ->> Next.js: 整形したデータを返却
Next.js -->> User:フロントに表示
erDiagram
users ||--o{study_records : has_many
users {
int id PK
string name
string slack_id
datetime created_at
datetime updated_at
}
study_records {
int id PK
int user_id
datetime start_time
datetime end_time
datetime created_at
datetime updated_at
}

