1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

学習日記アプリ作成(データベース設計編)

Last updated at Posted at 2024-12-10

1.要件定義

  • そもそも、学習日記とは

簡単に言うと、“セルフタイムマネジメントの基礎”となるものであり、勉強をする前と後に、勉強した「時間」・「内容」・「達成度」などについて記入するだけの記録ノートです。

最低限書く必要があるのは、以下の3点です。

・学習前
  1週間の目標
・学習直後
  1日ごとの進捗状況。日時、勉強した内容、理解度
・週末など
  1週間のまとめ、振り返り

1週間の目標の部分では、Todoリストを準備することが重要らしい。
学習直後の進捗記録はなるべく具体的に書くことが望ましいとのこと。
週末の振り返りは、達成できたこと、できなかったこと、次にやるべきこと、いつかやるべきことなどをリストアップするとGood

以上を踏まえて、ざっと必要なものは

  • ユーザー情報(名前・メールアドレス・パスワード)
  • 今週の目標
  • 毎日の記録(日時、勉強した内容、理解度)
  • 週末の振り返り(達成できたこと、できなかったこと)

もっと充実させることはできるのですが、今回は短時間で環境構築からフロント・バック・デプロイの流れを確認するためのプロジェクトなので、いったんはシンプルな実装としておきます。

2. エンティティ(テーブル)とカラム定義

要件定義をもとに必要なテーブルとカラムを定義します。

テーブル名:Users

ユーザー情報を管理するためのテーブル

columnName description
id(PK) 自動生成される一意の識別子
user_id(FK) ユーザーの識別子
password ユーザーのパスワード
email ユーザーのメールアドレス

テーブル名: 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 ステータス名
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?