1.要件定義
- そもそも、学習日記とは
簡単に言うと、“セルフタイムマネジメントの基礎”となるものであり、勉強をする前と後に、勉強した「時間」・「内容」・「達成度」などについて記入するだけの記録ノートです。
最低限書く必要があるのは、以下の3点です。
・学習前
1週間の目標
・学習直後
1日ごとの進捗状況。日時、勉強した内容、理解度
・週末など
1週間のまとめ、振り返り
1週間の目標の部分では、Todoリストを準備することが重要らしい。
学習直後の進捗記録はなるべく具体的に書くことが望ましいとのこと。
週末の振り返りは、達成できたこと、できなかったこと、次にやるべきこと、いつかやるべきことなどをリストアップするとGood
以上を踏まえて、ざっと必要なものは
- ユーザー情報(名前・メールアドレス・パスワード)
- 今週の目標
- 毎日の記録(日時、勉強した内容、理解度)
- 週末の振り返り(達成できたこと、できなかったこと)
もっと充実させることはできるのですが、今回は短時間で環境構築からフロント・バック・デプロイの流れを確認するためのプロジェクトなので、いったんはシンプルな実装としておきます。
2. エンティティ(テーブル)とカラム定義
要件定義をもとに必要なテーブルとカラムを定義します。
テーブル名:Users
ユーザー情報を管理するためのテーブル
columnName | description |
---|---|
id(PK) | 自動生成される一意の識別子 |
user_id(FK) | ユーザーの識別子 |
password | ユーザーのパスワード |
ユーザーのメールアドレス |
テーブル名: Goals
目標を管理するためのテーブル。
columnName | description |
---|---|
id (PK) | 自動生成される一意の識別子 |
user_id (FK) | ユーザーの識別子 |
title | 目標のタイトル |
description | 目標の詳細 |
due_date | 締切日(任意) |
status | 状態(例: "未達成", "達成済み") |
created_at | レコードの作成日時 |
updated_at | レコードの更新日時 |
テーブル名: DailyRecords
毎日の学習記録テーブル。
columnName | description |
---|---|
id (PK) | 自動生成される一意の識別子 |
user_id (FK) | ユーザーの識別子 |
date | 記録の日付 |
content | 学習内容や進捗 |
created_at | レコードの作成日時 |
updated_at | レコードの更新日時 |
テーブル名: WeeklyReviews
毎週末の振り返りのテーブル。
columnName | description |
---|---|
id (PK) | 自動生成される一意の識別子 |
user_id (FK) | ユーザーの識別子 |
week_start_date | 振り返り開始日 |
week_end_date | 振り返りの終了日 |
summary | 一週間の学習総括や感想 |
challenges | 課題や改善点 |
achievements | 達成したこと |
created_at | レコードの作成日時 |
updated_at | レコードの更新日時 |
テーブル名:
GoalsテーブルのStatusマスタテーブル
columnName | description |
---|---|
id (PK) | 自動生成される一意の識別子 |
status_id(FK) | ステータスID |
label | ステータス名 |