# 概要 - スクリーン、データベース、レイアウト設定、ユースケース

ユーザーチャット機能テンプレートを使用して、アプリ内のユーザー間のメッセージ会話を管理および開始するための3つのスクリーンをアプリに追加します。このテンプレートには、アプリ内からメッセージングを通じて会話を容易にするためのすべての適切なデータベースプロパティと関係が備わっています。

## スクリーン概要

📚 **インストラクションスクリーン**

クイックなヒント、ヘルプドキュメント、および関連するテンプレートを使用して、テンプレートの概要を素早く把握します。*このスクリーンはいつでも削除できます。*

### ユーザースクリーン

🧾 **会話リスト**

ユーザーはこのスクリーンからすべての進行中および過去の会話をプレビューし、会話を選択して別のスクリーンに移動して会話を続けることができます。

💬 **チャットスクリーン**

このシンプルなスクリーンは、他のほとんどのチャットアプリケーションが2人の間の会話を表示する方法で会話を表示します。

➕ **新しいチャットモデル**

全ユーザーのリストから1対1でチャットする相手を選択します。

## データベース概要

ユーザーチャット機能テンプレートにはサンプルデータが含まれたデータベースが付属しています。各Adaloデータベースにはコレクションが含まれ、各コレクションには関連するプロパティが付属しています。コレクション間の必要な関係も設定されています。

{% hint style="info" %}
**データベースに関する重要な注意:**

もしFeature Templateからコレクションまたはプロパティを**削除**すると、アプリの機能に影響を及ぼす可能性があります。

もしFeature Templateにコレクションまたはプロパティを**追加**すると、アプリの機能に影響はありません。
{% endhint %}

以下は含まれるコレクションとそれらのプロパティの概要です。コレクション名は太字で表示され、説明が含まれます。プロパティには、名前、プロパティタイプ（角かっこ内）、および説明が含まれます。

### 基本的なコレクションとプロパティ

#### 👥 **ユーザー**

ユーザーコレクションはすべてのAdaloアプリに自動的に付属しています。このコレクションには、アプリを使用するすべてのユーザーに関連する情報が格納されます。この情報は、ユーザーがアプリを使用するためにサインアップする際に最初に収集されます。

* Email \[テキスト] — ユーザーのメールアドレス。
* Password \[暗号化] — 誰にも見えないユーザーのパスワード。管理者を含め、誰にも見えません。
* Username \[テキスト] — ユーザーが設定するユーザー名。
* Full Name \[テキスト] — ユーザーの名字と名前。サインアップ時に収集されます。
* Messages Received \[一対多の関係] — この関連フィールドは、1人のユーザーが多くのメッセージを受信できることを示していますが、受信した各メッセージは1人のユーザーにのみ属することができます。
* Profile Photo \[画像] — ユーザーのプロフィール写真。サインアップ時には自動的に収集されませんが、サインアップフォームを介して収集できます。
* Messages Sent \[一対多の関係] — この関連フィールドは、1人のユーザーが多くのメッセージを送信できることを示していますが、1人のユーザーは多くのユーザーにメッセージを送信することはできません。
* 会話 \[多対多の関係] — このリレーションフィールドは、多くのユーザーが多くの会話に属することができ、多くの会話が多くのユーザーに属することができることを示しています。
* 友達 \[多対多の関係] — このリレーションフィールドは、各ユーザーが多くのユーザーと友達であることを示しており、他のユーザーも同じ友達を持つことができます。

#### 📣 会話

会話コレクションには、会話を構成するメッセージ群に関する情報が含まれています。

* 名前 \[テキスト] — 行われている会話の一意の識別子。この場合、チャットでの2人の個人の名前です。
* メッセージ \[一対多の関係] — 1つの会話に多くのメッセージが含まれることを示すリレーションフィールドですが、それらのメッセージは1つの会話にのみ属することができます。
* ユーザー \[多対多の関係] — 多くのユーザーがさまざまな会話に属することを示すリレーションフィールドですが、同じ会話には2人のユーザーしか属することができません。

#### 💬 メッセージ

メッセージコレクションには、アプリ内でユーザー間に送信されるすべてのメッセージに関する情報が含まれています。

* テキスト \[テキスト] — 1人のユーザーから別のユーザーに送信されるメッセージの本文。
* 送信者 \[多対一の関係] — 多くのメッセージが1人のユーザーに属することを示すリレーションフィールドで、各メッセージには1人の送信者しかいません。
* 受信者 \[多対一の関係] — 多くのメッセージが1人のユーザーに受信されることを示すリレーションフィールドで、各メッセージは1人の受信者にのみ属します。
* 会話 \[多対一の関係] — 多くのメッセージが1つの会話に属することを示すリレーションフィールドですが、各メッセージはその1つの会話に固有です。
* 画像 \[画像] — このプロパティは、メッセージと一緒に送信される画像を保持します。

## レイアウト設定

「ブラウズクラス機能テンプレート」の各画面は、レスポンシブデザインを使用して作成されています。画面はどのデバイスやタブレットでも見栄えがします。

ほとんどの画面はカスタムレイアウトで設計されています。画面に新しいコンポーネントを追加すると、他の画面サイズに影響を与える場合があります。

### レイアウトの概要

異なる画面サイズのレイアウトを表示または編集するには、画面タイトルをクリックしてドロップダウンを表示します。

<figure><img src="https://797861279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4EFNSNZLMs5AZ70x2P33%2Fuploads%2Fgit-blob-0a98b0144050234aedd2b5e3fb1441156412f400%2FLayoutOverview1.png?alt=media" alt="" width="311"><figcaption></figcaption></figure>

このテンプレートのデフォルトビューはデスクトップです。ビルダーで1つの画面のサイズを変更しても、キャンバス上の他の画面のサイズは変更されません。

#### 非表示コンポーネント

<figure><img src="https://797861279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4EFNSNZLMs5AZ70x2P33%2Fuploads%2Fgit-blob-0c0c6290c48169cd05f8be4e76ce60f303a0cad0%2FLayoutoverview2.png?alt=media" alt="" width="476"><figcaption></figcaption></figure>

各ビューには、デスクトップでは表示されないがモバイルでは表示されるコンポーネントがある場合があります。これらは左側パネルでグレーアウトされ、アイコンで示されています。

どのデバイスコンポーネントが表示されているかを確認する別の方法は、こちらのレイアウトタブです：

<figure><img src="https://797861279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4EFNSNZLMs5AZ70x2P33%2Fuploads%2Fgit-blob-2bbea52ddce833a1d274220fbf1f4148195cd901%2FLayoutoverview3.png?alt=media" alt="" width="540"><figcaption></figcaption></figure>

#### カスタムレイアウト

<figure><img src="https://797861279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4EFNSNZLMs5AZ70x2P33%2Fuploads%2Fgit-blob-5b867757643ee4aa22bb0c83ad9a711eabdb00f8%2FLayoutoverview4.png?alt=media" alt="" width="347"><figcaption></figcaption></figure>

一部のコンポーネントには、画面サイズに基づいたカスタムレイアウトが付属しています。これらの設定を表示するには、レイアウトタブを確認し、カスタムレイアウト設定までスクロールしてください。

## 使用例

* ピクルボールクラブメンバー同士が会話するためのチャット体験。
* 教師が保護者や生徒とコミュニケーションを取るためのメッセージング体験。
* ランドロードがテナントと会話するための会話機能。
* その他多くの用途！
