コンテンツにスキップ
Documents for MorningStatusApp
Esc
移動開く⌘Jプレビュー
このページの内容

データ設計書(全体概要)

最終更新: 2026-07-21

1. 概要

MorningStatusApp が管理するデータファイル・エンティティの全体像をまとめた設計書。 各エンティティの詳細設計は個別設計書を参照すること。

ER 図(エンティティ間の関係図)→ ER 図


2. データファイル一覧

プライマリデータ(Vercel Blob + data/ 凍結コピー)

ファイル名 概要 更新方法
members.json 全メンバーのプロフィール・近況・SNS情報。Amebaブログの近況(Member.latestStatus/Member.statusHistory)も専用ファイルを持たずここに格納する(詳細 → Amebaブログ機能 データ設計書 編集 API(PUT /api/members)または手動更新
releases.json 全リリース情報・収録曲トラックリスト sync-discography スクリプト(自動)または手動
playlists.json メンバーが選曲したプレイリスト情報 手動編集後に Vercel Blob へアップロード
units.json ユニット情報(名称・所属メンバー・活動期間) 手動編集後に Vercel Blob へアップロード
radar-chart-timeline-config.json レーダーチャート時系列表示のキーフレーム終端日(keyframeEndDate)設定(詳細 → メンバー関係性マップ レーダーチャート画面設計書 §10-6) 設定UI(PUT /api/radar-chart-timeline-config、デスクトップモード限定)または手動更新

派生データ(Vercel Blob のみ・自動生成)

ファイル名 概要 生成タイミング
member-playlist-index.json memberId キーで選曲楽曲を集約したインデックス playlists.json 更新時(#331 スクリプト)
track-playlist-index.json trackId キーでプレイリスト掲載情報を集約したインデックス playlists.json 更新時(#331 スクリプト)
comparison-index.json 対比ペア一覧(ComparisonPair[] build-comparison-index.ts 実行時
track-comparison-map.json trackId{ pairId, baseTitle } マップ build-comparison-index.ts 実行時

Instagram投稿データ(Vercel Blob のみ・自動生成)

詳細設計 → Instagram投稿機能 データ設計書

ファイルパス 概要 生成タイミング
instagram/{memberId}/posts.json メンバー単位の全投稿メタデータ(InstagramPost[] collect-instagram-posts ワークフロー実行時
instagram/{memberId}/{postId}.jpg キャプチャ済み投稿画像 collect-instagram-posts ワークフロー実行時
instagram/sync-status.json 同期実行状態(InstagramSyncStatus)。同期状況画面向け collect-instagram-posts ワークフロー実行時
instagram/daily-new-posts.json 当日新規取得投稿一覧(DailyNewPost[])。トップ画面向け collect-instagram-posts ワークフロー実行時

Amebaブログ同期状態(Vercel Blob のみ・自動生成)

詳細設計 → Amebaブログ機能 データ設計書

ファイルパス 概要 生成タイミング
ameba/sync-status.json Topページ新着投稿セクションの新着ウィンドウ判定に使う同期ステータス(AmebaSyncStatus sync-members ワークフロー実行時

詳細設計 → 歌詞サイトリンク機能 データ設計書

独立したファイルは持たず、releases.jsonTrack.links[]{ type: 'genius', url } として追記する。


3. エンティティ一覧

エンティティ 格納場所 追加バージョン 詳細設計書
メンバー(Member Vercel Blob(members.json) / data/work/members.json(作業用一時コピー) v0.1.0〜 メンバー データ設計書
リリース(Release Neon(Vercel Postgres)release テーブル v0.2.0〜 リリース データ設計書
メンバー・リリース紐付け(MemberReleaseLink 実行時算出(永続ファイルなし) v0.2.0〜 リリース データ設計書 §5
収録曲(Track Neon(Vercel Postgres)track テーブル v0.5.0 トラックリスト データ設計書
外部リンク(ExternalLink Track.links[] / Release.links[] 内の値型 v0.5.0 トラックリスト データ設計書
プレイリスト(Playlist data/inputs/playlists.json(Vercel Blob 凍結入力) v0.6.0 プレイリスト機能 データ設計書
プレイリスト楽曲(PlaylistEntry data/inputs/playlists.jsonentries[] v0.6.0 プレイリスト機能 データ設計書
対比ペア(ComparisonPair comparison-index.jsonpairs[] v1.1.0 曲対比機能 データ設計書
対比曲(ComparisonTrack comparison-index.jsonpairs[].tracks[] v1.1.0 曲対比機能 データ設計書
ユニット(Unit Vercel Blob(UNITS_BLOB_URL v1.5.0 ユニット一覧機能 データ設計書
会場(Venue Neon(Vercel Postgres) v3.0.0 ライブ・フェス機能 テーブル設計書
ツアー(Tour Neon(Vercel Postgres) v3.0.0 ライブ・フェス機能 テーブル設計書
公演(Live Neon(Vercel Postgres) v3.0.0 ライブ・フェス機能 テーブル設計書
メンバー・公演紐付け(MemberLive Neon(Vercel Postgres) v3.0.0 ライブ・フェス機能 テーブル設計書
都道府県コード変換テーブル(PrefectureCode Neon(Vercel Postgres) v3.0.0 ライブ・フェス機能 テーブル設計書
出身地照合用メンバー(Member、DB) Neon(Vercel Postgres)※出身地照合用 v3.0.0 ライブ・フェス機能 テーブル設計書
セットリスト(Setlist Neon(Vercel Postgres)※将来拡張 ライブ・フェス機能 テーブル設計書
フェス(Festival Neon(Vercel Postgres) v3.9.0 ライブ・フェス機能 テーブル設計書
リリース(DB、Release Neon(Vercel Postgres)※ Blob releases.json の移行先 v4.1.0 リリース データ設計書 §4
収録曲(DB、Track Neon(Vercel Postgres)※ releases.json 内 tracks[] の移行先 v4.1.0 トラックリスト データ設計書
収録曲外部リンク(DB、TrackLink Neon(Vercel Postgres)※ Track.links[] の正規化テーブル v4.1.0 トラックリスト データ設計書
Instagram投稿(InstagramPost instagram/{memberId}/posts.json 内の値型 v3.5.0 Instagram投稿機能 データ設計書
Instagram同期状態(InstagramSyncStatus instagram/sync-status.json v3.5.0 Instagram投稿機能 データ設計書
当日新着投稿(DailyNewPost instagram/daily-new-posts.json 内の値型 v3.5.0 Instagram投稿機能 データ設計書
TikTok投稿(TikTokPost Neon(Vercel Postgres)※ v4.2.3までVercel Blob v4.2.0 TikTok投稿機能 データ設計書
TikTok同期状態(TikTokSyncStatus Neon(Vercel Postgres)※ v4.2.3までVercel Blob v4.2.0 TikTok投稿機能 データ設計書
ラジオ番組(RadioShow Neon(Vercel Postgres) v4.3.0 ラジオオンエア収集 設計書
ラジオ放送回(RadioEpisode Neon(Vercel Postgres) v4.3.0 ラジオオンエア収集 設計書
ラジオ出演メンバー(RadioMember Neon(Vercel Postgres) v4.3.0 ラジオオンエア収集 設計書
ラジオオンエア楽曲(RadioOnairSong Neon(Vercel Postgres) v4.3.0 ラジオオンエア収集 設計書
統合イベント(Event Neon(Vercel Postgres)※ Releases/Members/Lives/Radio/手動登録イベントの統合派生データ v5.0.0 events テーブル定義書
YouTube投稿(YoutubePost Neon(Vercel Postgres) v6.5.0 YouTube投稿一覧機能 データ設計書
メンバー関係性エッジ(MemberRelationship Neon(Vercel Postgres) v8.0.0 メンバー関係性マップ データ設計書
メンバー関係性マップ座標(MemberMapLayout Neon(Vercel Postgres) v8.2.0 メンバー関係性マップ データ設計書
Ameba同期状態(AmebaSyncStatus ameba/sync-status.json v9.8.0 Amebaブログ機能 データ設計書

改訂履歴

更新日 変更内容
1.10 2026-08-06 プライマリデータに radar-chart-timeline-config.json(レーダーチャート時系列表示の終端日設定)を追加。更新方法にAPIエンドポイントパス(/api/radar-chart-timeline-config)を明記(#34)
1.9 2026-07-21 メンバー・リリース データ設計書を新規作成し、エンティティ一覧の詳細設計書列(メンバー・リリース・メンバー・リリース紐付け・リリース(DB))にリンクを追加(#1379)
1.8 2026-07-20 Amebaブログ同期状態セクション・エンティティ(AmebaSyncStatusameba/sync-status.json)を追加(#1387)
1.7 2026-07-19 ラジオ・年表・YouTube・メンバー関係性マップのエンティティを追加。TikTokのデータファイル一覧セクションを削除しエンティティ一覧の格納場所をNeonに是正(実装は#888で移行済み)。Amebaブログデータの格納先をmembers.jsonの概要に追記。エンティティ一覧の一部行に残っていた物理テーブル名(venues等)をPrismaモデル名に是正し、er-diagram.mdxにのみ存在していたフェス・リリース(DB)・収録曲(DB)・収録曲外部リンク(DB)の4行を追加(#1374)
1.6 2026-05-15 TikTok投稿データセクション・エンティティを追加(#887)
1.5 2026-04-29 歌詞リンクデータセクションを追加(#745)
1.4 2026-04-26 Instagram投稿データセクション・エンティティを追加(#715)
1.3 2026-04-11 エンティティ一覧にライブ機能 Neon テーブルを追加(#528)
1.2 2026-03-30 データファイル・エンティティ一覧にユニット一覧機能(#531)の項目を追加(#532)
1.1 2026-03-28 派生データ・エンティティ一覧に曲対比機能(#474)の項目を追加(#489)
1.0 2026-03-21 初版作成

このページは役に立ちましたか?