AppSheet ChatGPTを使って簡単に作成

今回はChatGPTを活用して、ゼロからアプリを作ってみようと思います。

アプリを作成する際に、難しく感じがちなテーブル設計(スプレッドシートの項目整理)も、ChatGPT+AppSheetの予測機能で、良い感じに仕上げてくれます。

また、作成時に必要となりがちなテストデータの作成も、ChatGPTが準備してくれるので効率的に開発を進められます。

早速、始めていきます。

まず、お題は。。。特に考えていなかったのですが、「不動産情報を管理するアプリ」にしたいと思います。

別記事でデザイン帳票の作成記事を書こうと思っているので、その前段のアプリ作成です。

テーブル設計(スプレッドシート作成)

大手サイトの力を拝借

まずは、不動産情報の大手サイトにいって、情報のまとまりが良い感じのサイトをみつけます。

(不動産に限らず、どの業界でも大手サイトはデータベース設計のプロフェッショナルがシステム化済みのため、きれいなデータ構成になっているはずです。)

大手サイトの画像ファイル

ChatGPTにテーブル設計を依頼

取得した画像のキャプチャをChatGPTに画像ファイルを渡して、テーブル設計をお願いします。

今回は、以下のプロンプトでテーブル設計をお願いしてみました。

この画像の情報を帳票出力するシステムを作成予定です。
テーブル設計をしてください。

その結果、以下のように回答を返してくれます。

すでにAppSheetの開発経験をお持ちの方は、各テーブルの主キーをもとに、Refの関連に誤っている箇所がないか見てもいいです。

今回は、簡単に作成するをモットーにしていますので、ChatGPTの結果をそのまま採用します。

以下、スキップして大丈夫ですが、今回のテーブル設計を念のため載せておきます。

1. 物件情報テーブル(Property)
カラム名データ型説明
PropertyIDINT (主キー)物件ID
NameVARCHAR物件名
CompanyIDINT (外部キー)管理会社ID
RentDECIMAL(10,2)賃料
ManagementFeeDECIMAL(10,2)管理費
DepositDECIMAL(10,2)敷金
KeyMoneyDECIMAL(10,2)礼金
FloorPlanVARCHAR間取り
AreaDECIMAL(5,2)専有面積 (m²)
BuildingTypeVARCHAR構造
FloorVARCHAR階数 (例: 5/10階)
YearBuiltYEAR築年月
NearestStationVARCHAR最寄駅情報
AvailableDateDATE入居可能日
RemarksTEXT備考

2. アクセス情報テーブル(Access)
カラム名データ型説明
AccessIDINT (主キー)アクセスID
PropertyIDINT (外部キー)物件ID
StationNameVARCHAR駅名
WalkTimeINT駅からの徒歩時間(分)

3. 設備情報テーブル(Amenities)
カラム名データ型説明
AmenityIDINT (主キー)設備ID
PropertyIDINT (外部キー)物件ID
AmenityNameVARCHAR設備名

4. 管理会社情報テーブル(ManagementCompany)
カラム名データ型説明
CompanyIDINT (主キー)会社ID
CompanyNameVARCHAR会社名
ContactNumberVARCHAR電話番号
OperatingHoursVARCHAR営業時間
5. 契約情報テーブル(Contract)
カラム名データ型説明
ContractIDINT (主キー)契約ID
PropertyIDINT (外部キー)物件ID
ContractTypeVARCHAR契約条件
AdditionalCostsDECIMAL(10,2)その他費用

スプレッドシートを準備しやすい形に整形

ChatGPTが回答したままのテーブル設計では、AppSheetへの転記が煩雑なため、スプレッドシートに貼りやすい形に整形もかねて、テストデータの作成をお願いをします。

上記のテストデータを作成してください。
データのヘッダは日本語にしてください。
物件IDが3つになるようなデータにしてください。

ChatGPTが返してくれた結果です。

1. 物件情報テーブル
物件ID物件名管理会社ID賃料管理費敷金礼金間取り専有面積構造階数築年最寄駅入居可能日備考
1パインステージ白金高輪 502号室208,0005,000208,000208,0001LDK37.44鉄筋コン5/10階2024年白金高輪駅 徒歩3分2024-11-29詳細はお問い合わせください
2グリーンヒルズ代々木 203号室175,0008,000175,000175,0002DK45.00木造2/5階2020年代々木駅 徒歩5分即入居可能ファミリー向け
3スカイビュー新宿 1508号室350,00012,000700,00003LDK85.00SRC15/20階2018年新宿駅 徒歩7分2024-12-15ペット可、高層階

2. アクセス情報テーブル
アクセスID物件ID駅名徒歩時間(分)
11白金高輪駅3
21泉岳寺駅8
32代々木駅5
43新宿駅7

3. 設備情報テーブル
設備ID物件ID設備名
11バストイレ別
21エアコン
31オートロック
42システムキッチン
52フローリング
62宅配ボックス
73バルコニー
83追い焚き機能
93ペット相談可

4. 管理会社情報テーブル
会社ID会社名電話番号営業時間
1アパマンショップ東陽町店 (株)大田ハウス0120-549-333AM10:00〜PM7:00
2住まいサポート代々木店03-1234-5678AM9:30〜PM6:30
3高層タワー管理株式会社03-9876-5432AM10:00〜PM8:00

5. 契約情報テーブル
契約ID物件ID契約条件その他費用
11仲介19,870円
22直接契約15,500円
33仲介25,000円

AppSheetのスプレッドシートを作成

テーブル設計の最後になります。上記の結果を元にスプレッドシートを作成していきます。

Googleドライブに「db」(なんでも大丈夫です)というスプレッドシートを作成します。

ChatGPTが作成してくれたデータを、ヘッダーも含めて値をコピーし、スプレッドシートに「値のみ貼り付け」で貼り付けを行います。

また、シート名をテーブル名に変更します。

同じようにテーブル数分、スプレッドシートへコピーしていきます。

以上で、テーブル設計は完了です。ここで作成したスプレッドシートを元に、AppSheetを作成していきます。

AppSheet作成

ここからはAppSheetの作成を行っていきます。

アプリの新規作成

「Start with existing data」からアプリを作成します。

アプリ名を入力して「Choose your data」で、次の画面へ移動します。

「Google Sheets」を選んで、作成したスプレッドシートを選択します。

少し待つと。。。

アプリが作成されました!

作成したアプリを開くと、以下のような画面が表示されます。

  • データ:AppSheetのアプリはデータを元に構築されます。今回でいうと初めに指定した「db」スプレッドシートになります。この情報を利用してアプリを作成します。
  • ビュー:アプリ内でデータを表示するためのインターフェースです。ユーザーはビューを通じてデータを確認、入力、編集できます。
  • アクション:ユーザーがアプリ内で行う操作を簡略化または自動化するための機能です。イメージ的にはボタンを押したときの動きになります。
  • オートメーション:繰り返し行う業務を自動化するための機能です。今回は使いません。

AppSheetのデータを更新

データを開くと、先ほど作成したテーブルのうち「物件情報」のみが表示されています。そのため、それ以外のテーブルの取り込みを行います。

データの「+」ボタンを押します。

既に選択したスプレッドシートの以下を押して、取込を行います。

  • Add Table “アクセス情報”
  • Add Table “設備情報”
  • Add Table “管理会社情報”
  • Add Table “契約情報”

Create a new table の設定で、以下のallowedは「Update」「Adds」「Deletes」を選びます。

すべてのスプレッドシートを取り込むと、以下のようにデータに表示されます。

テーブル関連の整理

テーブルを追加したら、テーブル間の関連を整理していきます。正しいテーブルの関連を定義することで、複雑なデータ構造でも効率的に管理できるアプリを作成できます。

今回の「物件情報」と「設備情報」での設定を説明します。

  • 物件情報テーブル: 各物件の基本情報を管理。
  • 設備情報テーブル: 各物件に関連する設備情報を管理。

となっています。そのため、設備情報の物件IDをRefに変更します。

今のスプレッドシートのデータは、以下の状態となっています。物件(パインステージ白金高輪)と設備(バストイレ別、エアコン、オートロック)がリンクづけられるようにしていきます。

具体的には、以下のように設備情報テーブルの物件IDのタイプを「Ref」に変更します。

この設定により、物件(下記ではパインステージ白金高輪)に、設備が3つ(バストイレ別、エアコン、オートロック)紐づいた状態になります。

画面で見ると、以下のような状態になります。

元のスプレッドシートと比較すると分かりやすいかと思います。

同じように、以下のテーブルについても物件IDのRef設定を行っていきます。

  • アクセス情報
  • 契約情報

また物件と管理会社もリレーションを設定します。

  • 管理会社情報

完成

以上により、不動産情報管理をするアプリの作成ができました。

もちろん、もっと使いやすくすることは出来ますが、ChatGPTとAppSheetを使って作成するのはここまでです。

10分~20分くらいで出来ました。

補足

リレーション(Refタイプ)について

少しだけ補足いたします。

テーブルのリレーションを設定するにあたって、必要となるものが「Ref」になります。

Ref(リファレンス)は、AppSheet内で異なるテーブルを関連付けるためのデータ型です。これは、データの一貫性を保ち、テーブル間の関係を簡単に管理するために使用されます。

Refの一番の役割は、テーブル間のリレーションシップの構築です。

Refは、1つのテーブルの行を他のテーブルの行と結び付けます。リレーショナルデータベースの「外部キー(Foreign Key)」に似ています。

それにより、あるテーブルのレコードから、関連する他のテーブルのデータを簡単に参照・操作できます。

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です