Flutterアプリケーション開発概論

【Firestore確認】Firebase Consoleでusers・teams・members・tasksを確認する

43LINE風チームタスク管理アプリを作りながら、ログイン・データベース・権限管理を学ぶ
FlutteriOSAndroidMacOSWindows基礎から学ぶ開発アプリ開発

このページでやること

このページでは、Firebase Consoleを使って、アプリのデータが正しく保存されているか確認します。

確認する場所は、この4つです。

users
teams
teams/{teamId}/members
teams/{teamId}/tasks

コードを書くページではありません。

Firebase Consoleを開いて、保存されたデータを見る練習です。


今日のゴール

アプリで作ったデータが、Firestoreに正しく入っているか確認できるようになります。

新規登録したユーザー
↓
users に保存される

作成したチーム
↓
teams に保存される

追加したメンバー
↓
teams/{teamId}/members に保存される

作成したタスク
↓
teams/{teamId}/tasks に保存される

npmや環境変数は必要?

このページでは、npmは使いません。

環境変数も設定しません。

Firebase Consoleをブラウザで開くだけです。

ブラウザを開く
↓
Firebase Consoleを開く
↓
Firestore Databaseを見る
↓
users・teams・members・tasksを確認する

Step 1:Firebase Consoleを開く

ブラウザで、Firebase Consoleを開きます。

https://console.firebase.google.com/

ログイン画面が出た場合は、Firebaseプロジェクトを作ったGoogleアカウントでログインします。


Step 2:プロジェクトを選ぶ

Firebase Consoleに入ったら、今回のFlutterアプリで使っているプロジェクトを選びます。

Firebase Console
↓
今回のプロジェクトをクリック

プロジェクト名が分からない場合は、Flutter側のこのファイルを見ます。

lib/firebase_options.dart

中に、プロジェクトIDが書かれています。

projectId: 'あなたのプロジェクトID',

Step 3:Firestore Databaseを開く

左メニューから、Firestoreを開きます。

左メニュー
↓
構築
↓
Firestore Database

英語表示の場合は、次の名前です。

Build
↓
Firestore Database

画面中央に、保存されたデータが表示されます。


ここから4つの場所を確認します

確認するのは、次の4つです。

確認場所何のデータか
usersアカウント登録したユーザー
teams作成したチーム
teams/{teamId}/membersチーム参加メンバー
teams/{teamId}/tasksチーム内タスク

1. usersを確認する

Step 4:usersコレクションを開く

Firestore Databaseに入ったら、users を探します。

Firestore Database
↓
users

users が表示されていない場合は、まだユーザー登録ができていない可能性があります。


Step 5:usersの中身を見る

users を開くと、ユーザーごとのドキュメントが表示されます。

users
↓
uid

uid は、Firebase Authenticationで作られるユーザーIDです。

例です。

users/abc123

Step 6:ユーザー情報を確認する

users/{uid} の中に、次のような項目があるか確認します。

displayName
email
department
createdAt
updatedAt

例です。

displayName: 山田 太郎
email: yamada@example.com
department: 開発部
createdAt: 2026年...
updatedAt: 2026年...

最低限、次の3つがあればOKです。

displayName
email
department

usersで見るポイント

項目確認すること
displayName登録した名前になっているか
email登録したメールアドレスになっているか
department入力した所属になっているか
createdAt作成日時が入っているか

2. teamsを確認する

Step 7:teamsコレクションを開く

次に、teams を開きます。

Firestore Database
↓
teams

ここには、作成したチームが保存されています。


Step 8:チームのドキュメントを見る

teams の中には、チームごとのドキュメントがあります。

teams
↓
teamId

例です。

teams/Qw12abcXYZ

この teamId は、自動で作られたチームIDです。


Step 9:チーム情報を確認する

チームの中に、次の項目があるか確認します。

name
createdBy
memberIds
createdAt
updatedAt

例です。

name: 開発チーム
createdBy: 作成者のuid
memberIds: [作成者のuid, 追加メンバーのuid]
createdAt: 2026年...
updatedAt: 2026年...

teamsで見るポイント

項目確認すること
name作成したチーム名になっているか
createdByチーム作成者のuidが入っているか
memberIds参加メンバーのuidが入っているか
createdAt作成日時が入っているか
updatedAt更新日時が入っているか

Step 10:memberIdsを確認する

特に大事なのが memberIds です。

memberIds: [uid1, uid2, uid3]

このアプリでは、トーク一覧で参加中チームだけを表示するために、memberIds を使っています。

.where('memberIds', arrayContains: uid)

つまり、追加された人のチーム一覧に表示されない場合は、まず memberIds を確認します。


3. membersを確認する

Step 11:チームの中のmembersを開く

teams/{teamId} の中に、members があります。

Firestore Database
↓
teams
↓
作成したteamId
↓
members

ここには、そのチームに参加しているメンバーが保存されています。


Step 12:membersの中身を見る

members の中には、ユーザーごとのドキュメントがあります。

members
↓
uid

例です。

teams/Qw12abcXYZ/members/abc123

このドキュメントIDは、基本的にユーザーの uid です。


Step 13:メンバー情報を確認する

members/{uid} の中に、次の項目があるか確認します。

uid
email
displayName
role
joinedAt
updatedAt

例です。

uid: abc123
email: yamada@example.com
displayName: 山田 太郎
role: owner
joinedAt: 2026年...
updatedAt: 2026年...

updatedAt は、権限変更をした場合に入っていればOKです。


membersで見るポイント

項目確認すること
uidユーザーIDが入っているか
emailメールアドレスが入っているか
displayName名前が入っているか
role権限が入っているか
joinedAt参加日時が入っているか

Step 14:roleを確認する

role は、チーム内の権限です。

入る値は、この4つです。

owner
admin
member
viewer

意味はこうです。

role意味
ownerオーナー
admin管理者
memberメンバー
viewer閲覧者

チーム作成者は、基本的に owner になっているはずです。

role: owner

メールで追加した人は、選んだ権限になっているか確認します。

role: admin
role: member
role: viewer

4. tasksを確認する

Step 15:チームの中のtasksを開く

次に、チーム内のタスクを確認します。

Firestore Database
↓
teams
↓
作成したteamId
↓
tasks

ここには、そのチームのタスクが保存されています。


Step 16:tasksの中身を見る

tasks の中には、タスクごとのドキュメントがあります。

tasks
↓
taskId

例です。

teams/Qw12abcXYZ/tasks/task001

taskId は、Firestoreが自動で作ったIDです。


Step 17:タスク情報を確認する

tasks/{taskId} の中に、次の項目があるか確認します。

title
description
assigneeEmail
assigneeId
priority
status
createdBy
createdAt
updatedAt

例です。

title: ログイン画面を作る
description: メールログイン画面を実装する
assigneeEmail: sato@example.com
assigneeId:
priority: normal
status: todo
createdBy: 作成者のuid
createdAt: 2026年...
updatedAt: 2026年...

tasksで見るポイント

項目確認すること
titleタスク名が入っているか
description説明が入っているか
assigneeEmail担当者メールが入っているか
priority優先度が入っているか
statusステータスが入っているか
createdBy作成者のuidが入っているか
createdAt作成日時が入っているか
updatedAt更新日時が入っているか

Step 18:statusを確認する

status は、タスクの状態です。

入る値は、この3つです。

todo
doing
done

意味はこうです。

status表示
todo未対応
doing進行中
done完了

アプリ画面では、日本語に変換して表示しています。


Step 19:priorityを確認する

priority は、タスクの優先度です。

入る値は、この3つです。

low
normal
high

意味はこうです。

priority表示
low優先度:低
normal優先度:中
high優先度:高

Firestoreには英語で保存します。

画面では日本語で表示します。


よく使う確認ルート

ユーザー登録を確認したいとき

Firestore Database
↓
users
↓
自分のuid

見る項目:

displayName
email
department

チーム作成を確認したいとき

Firestore Database
↓
teams
↓
作成したteamId

見る項目:

name
createdBy
memberIds

チームメンバーを確認したいとき

Firestore Database
↓
teams
↓
作成したteamId
↓
members

見る項目:

displayName
email
role

タスクを確認したいとき

Firestore Database
↓
teams
↓
作成したteamId
↓
tasks

見る項目:

title
status
priority
assigneeEmail

データ構造の全体像

このアプリのFirestore構造は、最終的にこうなります。

users
└── {uid}
    ├── displayName
    ├── email
    ├── department
    ├── createdAt
    └── updatedAt

teams
└── {teamId}
    ├── name
    ├── createdBy
    ├── memberIds
    ├── createdAt
    ├── updatedAt
    │
    ├── members
    │   └── {uid}
    │       ├── uid
    │       ├── email
    │       ├── displayName
    │       ├── role
    │       ├── joinedAt
    │       └── updatedAt
    │
    └── tasks
        └── {taskId}
            ├── title
            ├── description
            ├── assigneeEmail
            ├── assigneeId
            ├── priority
            ├── status
            ├── createdBy
            ├── createdAt
            └── updatedAt

この形を見て、どこに何が入るかを理解できればOKです。


よくあるトラブルと確認場所

困ったこと確認する場所
ログインできるが名前が出ないusers/{uid}
チーム一覧に表示されないteams/{teamId}/memberIds
メンバー一覧に表示されないteams/{teamId}/members/{uid}
権限が効かないmembers/{uid}/role
タスクが表示されないteams/{teamId}/tasks
ステータス表示がおかしいtasks/{taskId}/status
優先度表示がおかしいtasks/{taskId}/priority

permission-denied が出たとき

アプリで次のエラーが出た場合です。

permission-denied

開発中だけ、Firestore Rulesを確認します。

rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

これは学習用です。

本番公開では使わないでください。

本番では、ログインユーザーやチームメンバーだけが読めるようにします。


Firebase Consoleで手動編集するときの注意

Firebase Consoleでは、直接データを編集できます。

ただし、次の点に注意してください。

roleは owner / admin / member / viewer のどれか
statusは todo / doing / done のどれか
priorityは low / normal / high のどれか
memberIdsにはuidを入れる

文字を間違えると、アプリ側で正しく判定できません。

悪い例です。

role: 管理者
status: 完了
priority: 高

良い例です。

role: admin
status: done
priority: high

保存は英語。

表示は日本語。

このルールを守ります。


最短作業まとめ

読むのが大変な人は、ここだけ見てください。

1. Firebase Consoleを開く

https://console.firebase.google.com/

2. Firestore Databaseを開く

Build
↓
Firestore Database

3. ユーザーを見る

users/{uid}

4. チームを見る

teams/{teamId}

5. メンバーを見る

teams/{teamId}/members/{uid}

6. タスクを見る

teams/{teamId}/tasks/{taskId}

7. 英語データで保存されているか確認

role: owner / admin / member / viewer
status: todo / doing / done
priority: low / normal / high

チェックリスト

□ Firebase Consoleを開いた
□ 今回のプロジェクトを選んだ
□ Firestore Databaseを開いた
□ usersを確認した
□ displayNameを確認した
□ emailを確認した
□ teamsを確認した
□ nameを確認した
□ memberIdsを確認した
□ teams/{teamId}/membersを確認した
□ roleを確認した
□ teams/{teamId}/tasksを確認した
□ titleを確認した
□ statusを確認した
□ priorityを確認した
□ 保存は英語、表示は日本語のルールを確認した

ミニ確認問題

Q1. ユーザー情報はFirestoreのどこに保存しますか?

回答

次の場所です。

users/{uid}

Q2. チーム情報はどこに保存しますか?

回答

次の場所です。

teams/{teamId}

Q3. チームメンバー情報はどこに保存しますか?

回答

次の場所です。

teams/{teamId}/members/{uid}

Q4. タスク情報はどこに保存しますか?

回答

次の場所です。

teams/{teamId}/tasks/{taskId}

Q5. status は日本語で保存しますか?

回答

日本語では保存しません。

Firestoreには英語で保存します。

todo
doing
done

画面では日本語に変換して表示します。


このページのまとめ

  • Firebase ConsoleでFirestoreの中身を確認できる。
  • users には登録ユーザー情報が入る。
  • teams にはチーム情報が入る。
  • teams/{teamId}/members には参加メンバーが入る。
  • teams/{teamId}/tasks にはタスクが入る。
  • memberIds はチーム一覧表示に重要。
  • rolestatuspriority は英語で保存する。
  • 画面では日本語に変換して表示する。
  • このページではnpmや環境変数は不要。

次のページでやること

次のページでは、Firestore Security Rulesの基本を作ります。

開発用の全許可ルールから、本番に近い安全なルールへ少しずつ変更していきます。

教材トップへ戻る