以下が、RemoteBuddy(リモート作業仲間マッチングサービス)のチーム共有用仕様書です。
RemoteBuddy 仕様書
1. 目的
RemoteBuddyは、在宅勤務や勉強を一人で行うユーザーのための「仮想作業仲間」マッチングサービスです。
ポモドーロタイマーやチャットを活用し、集中力の維持・孤独感の解消・作業の習慣化をサポートします。
2. 主要機能
2.1 ユーザー向け機能
機能カテゴリ 機能名 説明
会員登録 SNS連携 or メール 匿名登録OK。簡単なプロフィール設定が可能
作業ルーム作成 タグ・目的を設定 例:「朝活」「もくもく会」など、自由にルームを作成可能
作業ルーム参加 検索&参加 タグ・時間帯からルームを検索し、すぐに参加
ポモドーロタイマー 25分集中+5分休憩 集中作業を自然なリズムでサポート
雑談チャット テキストチャット 声出し不要。気軽に雑談や進捗報告ができる
進捗記録 日ごとの作業ログ 自分の作業履歴を確認し、習慣化やモチベーション維持に活用
2.2 管理者向け機能
不適切ルーム/チャットの監視・削除
通報対応・ユーザーブロック機能
ユーザー活動ログの分析・統計
3. 画面構成(主要ページ)
画面名 概要
トップページ サービス紹介、ログイン/新規登録導線
ダッシュボード おすすめルーム表示、自分の作業履歴の一部表示
ルーム検索画面 タグ・時間帯でルームを検索し参加可能
作業ルーム画面 タイマー表示、チャット、進捗記録などを統合
進捗ログ画面 自分の過去の作業履歴をカレンダーやグラフで表示
プロフィール編集 匿名での名前やタグ設定、通知設定などを編集可能
管理者ダッシュボード ユーザー通報対応、ルーム・チャット管理
4. 使用技術
項目 技術候補
フロントエンド Vue.js / Nuxt 3 または React
バックエンド Firebase Functions または Supabase
リアルタイム通信 WebSocket + WebRTC(将来的に音声にも対応可能)
データベース Firestore または Supabase
認証・管理 Firebase Auth / Supabase Auth
デプロイ Vercel / Netlify(小規模MVPに適した構成)
必要であれば、この仕様書をもとにUIワイヤーフレームやプロジェクト管理用のタスク分解もご提供可能です。お気軽にお知らせください!
内容を確認し、修正点があれば修正してもらいましょう。
AIによって作成された仕様書は、プロジェクトメンバーと共有するためにGitHubのWikiに保存しておくのがおすすめです。WikiはGitHubリポジトリ内で管理でき、バージョン管理や共同編集が可能です。
まずはこのアプリのリポジトリを作成します。
GItHubのダッシュボードから新規のリポジトリを作成しましょう。

リポジトリ名を入力して新規リポジトリを作成します。

wikiを選択します。

「Create the first page」で新規作成画面を開きます。

GitHub Wikiでは、マークダウン形式で記述します。AIに以下のようなプロンプトを使って変換を依頼します。
作成した仕様書をコードブロックのマークダウン形式にして下さい。
以下のようにタイトルを「仕様書」とし、作成してもらったマークダウンを貼り付け、「Save page」ボタンで保存します。

以下のように作成されました。

GitHub Wikiに保存しておくことで、開発チームとの情報共有や履歴管理が簡単になります。
機能仕様を作成しよう
次に仕様書に基づいて機能仕様を作成します。
機能仕様とは、仕様書で示された主要機能について、より詳細な挙動や画面遷移、入力・出力の条件などを明確に記述したドキュメントです。
開発者が実装を行う際の「設計図」として活用され、認識のズレを防ぐ役割も担います。
仕様書に記載された「主要機能」に基づいて、以下のようにAIに依頼しましょう。
主要機能の詳細な機能仕様を作成して下さい
- AIからの回答例を見る
-
# RemoteBuddy 主要機能 詳細仕様
---
## 1. 会員登録機能
- **目的**
ユーザーがサービスを利用するためのアカウントを作成・管理できる。
- **機能詳細**
- SNS連携(Google、Twitterなど)による簡単ログイン
- メールアドレス登録による匿名またはニックネームでの登録も可能
- プロフィール設定(名前(匿名可)、自己紹介、興味タグ)
- パスワードリセット・アカウント削除機能
- **入力**
- SNS認証トークン または メールアドレス+パスワード
- プロフィール情報(任意)
- **出力**
- ユーザーID発行
- 認証状態の保持(JWTなど)
- **UI要素**
- ログイン画面、登録フォーム、プロフィール編集画面
---
## 2. 作業ルーム作成機能
- **目的**
ユーザーが作業目的に合った仮想作業スペースを作成できる。
- **機能詳細**
- ルーム名入力
- カテゴリタグ(複数選択可)
- ルームの公開設定(公開・非公開)
- 開始時間・終了時間の設定(予約制の場合)
- 参加人数の上限設定(オプション)
- **入力**
- ルーム名、タグ、公開範囲、開始/終了時間、参加人数制限
- **出力**
- ルームID発行
- 作成完了通知
- **UI要素**
- 作業ルーム作成フォーム、確認ダイアログ
- **制約**
- 予約開始時刻は現在時刻以降のみ可能
- タグは事前登録済みカテゴリに限定も可
---
## 3. 作業ルーム参加機能
- **目的**
作業仲間を見つけ、作業ルームに参加して共同作業できる。
- **機能詳細**
- ルーム一覧・検索機能(タグ・時間帯などで絞り込み)
- リアルタイム参加または予約参加の選択
- 参加者リスト表示
- 退出機能
- **入力**
- 検索条件(タグ、時間帯)
- 参加申請アクション
- **出力**
- 参加完了通知
- 参加中のユーザーリスト更新
- **UI要素**
- ルーム検索画面、参加ボタン、参加中表示
- **制約**
- 参加人数上限に達している場合は参加不可
---
## 4. ポモドーロタイマー機能
- **目的**
集中と休憩をリズムよく繰り返し、効率的に作業できるようにする。
- **機能詳細**
- 25分の集中タイマー開始
- タイマー終了後、自動で5分の休憩タイマーに切り替え
- タイマーの一時停止・再開・リセット可能
- タイマー状態の共有(ルーム内の全参加者に同期)
- **入力**
- タイマー開始・停止操作
- タイマーリセット操作
- **出力**
- 残り時間表示
- タイマー状態同期情報(リアルタイム)
- **UI要素**
- 大きなタイマー表示、開始・停止ボタン
- **制約**
- すべての参加者のタイマー状態はリアルタイム同期を保つ
---
## 5. 雑談チャット機能
- **目的**
作業中の軽いコミュニケーションで孤独感を和らげる。
- **機能詳細**
- テキストチャットのみ(音声・映像はオプション)
- 発言ごとにタイムスタンプ表示
- 通報・ブロック機能による不快ユーザー対策
- チャット履歴は一定期間保存
- **入力**
- ユーザー発言テキスト
- **出力**
- チャットメッセージ表示(全参加者に同期)
- **UI要素**
- チャット入力フォーム、メッセージ一覧
- **制約**
- 不適切発言は通報可能
---
## 6. 進捗記録機能
- **目的**
日々の作業内容や時間を記録し、自己管理やモチベーション維持に役立てる。
- **機能詳細**
- 作業終了時に作業内容入力フォーム表示
- 作業時間・内容のログ保存
- 過去の進捗をカレンダーやグラフで閲覧可能
- 有料プランで詳細分析・エクスポート対応
- **入力**
- 作業内容テキスト、作業時間(自動取得または手動入力)
- **出力**
- 日別・週別・月別の作業記録表示
- **UI要素**
- 進捗入力画面、履歴閲覧画面
- **制約**
- ログは本人のみ閲覧可能
---
GitHub Wikiの「New page」ボタンをクリックし、新規作成ページを開きましょう。

「機能仕様」というタイトルで新規ページを作成し、上記のマークダウンを貼り付けて保存しましょう。マークダウンでAIからの回答が作成されなければ、先ほどと同様にマークダウン形式に変換してもらいましょう。

非機能要件を作成しよう
次に主要機能の非機能要件を作成します。
非機能要件とはアプリケーションの「機能以外の要件」を指します。
たとえば以下のような内容が該当します。
- セキュリティ要件(ログイン管理、暗号化など)
- パフォーマンス要件(レスポンスタイム、同時アクセス数)
- 信頼性(バックアップ、障害対応)
- ユーザビリティ(操作性、アクセシビリティ)
これらはユーザー体験に大きく影響し、品質の土台となる部分です。
以下のように依頼すると、仕様書や機能仕様を踏まえた非機能要件を提案してくれます。
主要機能の非機能要件を作成して下さい
- AIからの回答例を見る
-
# RemoteBuddy 主要機能 非機能要件
---
## 1. 会員登録機能
- **セキュリティ**
- パスワードはハッシュ化して保存すること
- SNS認証はOAuth 2.0に準拠
- 不正ログイン防止のため、多要素認証導入を検討
- **パフォーマンス**
- 登録処理は3秒以内に完了すること
- **可用性**
- 99.9%以上の稼働率を目指す
- **ユーザビリティ**
- 登録フォームはスマホ・PCの両方で快適に操作可能
---
## 2. 作業ルーム作成機能
- **パフォーマンス**
- ルーム作成処理は2秒以内に完了すること
- **スケーラビリティ**
- 同時に1000件以上のルーム作成リクエストに対応可能
- **可用性**
- 24時間稼働、メンテナンスは夜間に実施
- **ユーザビリティ**
- 作成フォームは入力補助(タグ候補表示など)を実装
---
## 3. 作業ルーム参加機能
- **リアルタイム性**
- 参加・退出情報は1秒以内に他の参加者に反映
- **スケーラビリティ**
- 1ルームあたり最大50人の同時参加を想定
- **可用性**
- 通信障害時のリトライ機能を搭載
- **セキュリティ**
- 参加者の認証状態を厳密に管理し、不正アクセスを防止
---
## 4. ポモドーロタイマー機能
- **正確性**
- タイマーの誤差は1秒以内に収めること
- **同期性**
- 全参加者のタイマー状態は1秒以内に同期されること
- **耐障害性**
- ネットワーク断時にもローカルで動作継続可能
- **ユーザビリティ**
- タイマー操作は直感的でシンプルに
---
## 5. 雑談チャット機能
- **リアルタイム性**
- メッセージ送信後1秒以内に表示されること
- **スケーラビリティ**
- 1ルームあたり過去1週間分のメッセージを保存、最大1000件保持
- **セキュリティ**
- メッセージは暗号化通信(TLS)を使用
- **モデレーション**
- 不適切発言の自動検知と通報機能を実装
---
## 6. 進捗記録機能
- **データ整合性**
- 作業ログは確実に保存され、消失がないよう冗長化
- **プライバシー**
- 作業ログは本人のみ閲覧可能な設計とし、外部に漏れないこと
- **パフォーマンス**
- 過去ログの読み込みは3秒以内
- **拡張性**
- 将来的な分析機能追加に対応できるデータ設計
---
GitHub Wikiに「非機能要件」というタイトルのページを作成し、マークダウンを貼り付けて保存します。

これまでに作成した3つのドキュメントをまとめてGitHub Wikiに保存することで、プロジェクトの基盤が完成します。開発チームやクライアントとこれらの文書を共有することで、誤解のないスムーズな開発が実現します。
仕様書、機能仕様、非機能要件を作成しよう
カリキュラムのプロンプトを参考に、仕様書、機能仕様、非機能要件を作成しましょう。
作成した各ドキュメントはwikiに保存しましょう。