企画書 ・ 要件定義書 最終更新日: 2025/1/16
目次 1. 企画書 ...............................................................................................................................3 2. 要件定義書 .......................................................................................................................4 2.1 機能要件 ........................................................................................................................4 2.1.1 ユーザー管理 ..........................................................................................................4 2.1.2 タスク管理 ..............................................................................................................4 2.1.3 フォロー・フォロワー管理 ....................................................................................4 2.1.4 コメント管理 ..........................................................................................................4 2.1.5 いいね管理 ..............................................................................................................5 2.1.6 チャット管理 ..........................................................................................................5 2.1.7 エントリー管理 ......................................................................................................5 2.1.8 メッセージ管理 ......................................................................................................5 2.1.9 通知管理 .................................................................................................................5 2.1.10 権限.......................................................................................................................5 2.2 非機能要件 ....................................................................................................................6 2.3 UI 要件(Flutter 側) ....................................................................................................6 2.4 外部インターフェース ..................................................................................................6 2.5 制約条件 ........................................................................................................................6 2.6 リスク............................................................................................................................7 2.7 受け入れ基準.................................................................................................................7 2
1. 企画書 作成日 2025/1/14 作成者 むらぴょん 部署 SI 事業部 ・REST API を使用して、とりあえず何か作ってみたかった 背景 ・本来はタスク管理アプリを作成する予定だった ・SNS 風にすればより使いやすくなると考えた ・ユーザーが簡単にタスクの作成・更新・完了できる 目的 ・モバイルアプリ・Web アプリに対応 ・認証やデータ永続化などの実務ベースを盛り込む ・対象:2 人~小・中規模チーム(100 人程度) ・対応端末:iOS・Android・Web ・機能範囲: スコープ ・ユーザー認証(SignUp, Login, OAuth Google、OAuth Microsoft) ・タスク CRUD(Create, Read, Update, Delete) ・タスクの状態管理(未完了/完了) ・プロフィール編集(名前・icon・Email・パスワード・ひとこと) 成果物 ・Flutter アプリ(iOS、Android、Web 対応) ・NestJS バックエンド(Postgres、Typeorm、JWT 認証) 成功条件 ・E2E テストで主要導線が 95%以上成功 (KPI) ・README & ドキュメントを用意し、デプロイ可能な状態 備考 3
2. 要件定義書 2.1 機能要件 2.1.1 ユーザー管理 ⚫ 新規登録(名前、Email + パスワード、Google OAuth、Microsoft OAuth) ⚫ ログイン、ログアウト ⚫ プロフィール編集(名前、Email + パスワード、アイコン) ⚫ アカウント削除 ⚫ ユーザー一覧 ⚫ プロフィール詳細 2.1.2 タスク管理 ⚫ タスク一覧(検索) ⚫ タスク新規投稿(タイトル、説明) ⚫ タスク詳細(未完了 / 完了、いいね、コメント) ⚫ タスク更新(タスク名、概要、作成日) ⚫ タスク削除 ⚫ タスク全削除 2.1.3 フォロー・フォロワー管理 ⚫ フォロー処理 ⚫ フォロー解除 ⚫ フォロー一覧 ⚫ フォロワー一覧 2.1.4 コメント管理 ⚫ コメント一覧(検索) ⚫ コメント投稿 ⚫ コメント更新 ⚫ コメント削除 4
2.1.5 いいね管理 ⚫ いいね付与 ⚫ いいね解除 2.1.6 チャット管理 ⚫ チャットルーム一覧(検索) ⚫ チャットルーム作成 ⚫ チャットルーム(名前) ⚫ チャットルーム削除 2.1.7 エントリー管理 ⚫ チャットルームにユーザー追加 2.1.8 メッセージ管理 ⚫ チャットのメッセージ一覧(検索) ⚫ メッセージ投稿(本文) ⚫ メッセージ更新(本文) ⚫ メッセージ削除 2.1.9 通知管理 ⚫ 通知一覧(名前、内容) ⚫ 通知削除 ⚫ 通知全削除 2.1.10 権限 ⚫ 自身のプロフィール、タスク、コメント、フォロー、メッセージ、通地のみ操作可能。 ⚫ アカウント削除は自身のみ可能。 5
2.2 非機能要件 ⚫ 性能:API レスポンスタイム < 300ms(通常時) ⚫ 信頼性:DB は PostgreSQL ⚫ セキュリティ:JWT 認証、パスワードは bcrypt でハッシュ化 ⚫ 可用性:Docker Compose でローカル起動、Coolify、Cloudflare tunnel 等でデプロイ 可能 ⚫ 拡張性:モジュール単位(Auth, Users, Tasks)で独立 2.3 UI 要件(Flutter 側) ⚫ サインアップ・サインイン画面(Email / パスワード入力 + Google ログインボタン + Microsoft ログインボタン) ⚫ タスク一覧(ListView、チェックマーク) ⚫ プロフィール画面(編集) ⚫ プロフィール編集画面(削除) ⚫ タスク投稿(タスク名 + 概要入力) ⚫ タスク詳細(編集 / 削除) ⚫ タスク編集(タスク名 + 概要 + 作成日入力) ⚫ メッセージ編集(編集 / 削除) 2.4 外部インターフェース ⚫ REST API:/api/auth/*、/api/users/*、/api/tasks/* ⚫ DB:PostgreSQL(users, tasks, task_comments, relationships, favorites, notifications, entries, chats, messages) ⚫ 外部サービス:Google OAuth, Microsoft OAuth 2.5 制約条件 ⚫ 開発言語:Flutter(Dart) 、NestJS(TypeScript) ⚫ インフラ:WSL2(開発環境) 、Coolify / Cloud flare(本番想定) ⚫ 開発工数:1 人(2年以内に MVP 完成) 6
2.6 リスク ⚫ Flutter Web の動作制約(Safari、Edge、Chrome) ⚫ サーバの常時起動問題(Coolify、Cloudflare tunnel) ⚫ Google OAuth、iOS リリース、Android リリースの審査に時間がかかる 2.7 受け入れ基準 ⚫ サインアップやログイン、タスク等の全ての CRUD で E2E テストが成功すること ⚫ 本番環境にデプロイ済みで、ユーザーが実際に操作できること ⚫ 主要機能の手順書もしくはエラーストラップ集が Qiita / Zenn に公開されていること 7