不動産リスティング
AIエージェントで構築
テンプレート

不動産リストバックエンドテンプレート
スキーマ、地理クエリ & AI ガイド

Back4app 上のプロダクション準備が整った不動産リストバックエンド:リスト、リード、お気に入り、地理クエリ、ER 図、データ辞書、JSON スキーマ、API プレイグラウンド、数分でデプロイするためのワンクリック AI エージェントプロンプト。

主なポイント

このページでは、プロダクション対応の不動産スキーマ、ワンクリックAIプロンプト、選択した技術の段階的なコードを提供します。これにより、バックエンドを構築することなく物件リストアプリを出荷できます。

  1. 数分でデプロイAIエージェントプロンプトを貼り付けて、物件リスト、地理検索、リードキャプチャ、お気に入り機能を備えたアプリを実行できます。
  2. すぐに使える地理クエリProperty.location (GeoPoint) は「私の近くの物件」と地図ベースの検索のために $nearSphere をサポートしています。
  3. Your stack-ネイティブSDK型付きオブジェクト、async/await、オプションのオフラインピン留め、そして新しいリスティングのためのLive Queries。
  4. REST + GraphQL両方のAPIは自動生成され、ステータス、ベッド数、価格でフィルタリングできます。距離または日付でソートします。
  5. 4つのクラス_User (組み込み)、Property、Lead (問い合わせ)、Favorite (保存されたリスティング)。

不動産リスティングバックエンドテンプレートとは?

Back4appは不動産リスティングアプリに最適なバックエンド・アズ・ア・サービス(BaaS)で、管理されたバックエンド、認証、地理クエリ、13以上の技術向けのSDKを提供します。Real Estate Listing Backend Templateは、Back4app上の事前構築されたスキーマで、認証(ユーザー)、リスティング(プロパティ)、問い合わせ(リード)、お気に入りのプロパティ(お気に入り)を含みます。地理クエリ、リードキャプチャ、ワンクリックAIエージェントプロンプトを利用でき、フロントエンドを接続して数分で動作するプロパティリスティングアプリを出荷できます。

最適な用途:

プロパティリスティングアプリ不動産ポータルリードキャプチャ地図ベースの検索MVPの立ち上げBaaSを不動産用に選択するチーム

概要

不動産リスティングアプリには、プロパティのCRUD、地図検索用の地理クエリ、リードキャプチャ(プロパティごとの問い合わせ)、ユーザーのお気に入りが必要です。内部では、認証、位置情報付きのプロパティ(GeoPoint)、プロパティにリンクされたリード、お気に入りとしてユーザーとプロパティをリンクする必要があります。

スキーマ(下のER図を参照)には、ユーザー、プロパティ、リード、お気に入りが含まれています。選択した技術のためのBack4app SDKを使用すると、プロパティ(地理を含む)をクエリし、リードを作成し、お気に入りを管理できます — カスタムAPIレイヤーを作成することなく。

コア不動産リスティング機能

このバックエンドテンプレートには物件リスティング、地理クエリ、リードキャプチャ、お気に入りが含まれています。ステップバイステップの統合のために、以下から技術を選択してください。

物件リスティング

タイトル、価格、住所、位置 (GeoPoint)、ベッド数、バスルーム数、ステータスを持つ物件。ステータス、価格、または地理でリストおよびフィルタリングします。

リードキャプチャ

物件へのリードリンクの名前、メール、電話、メッセージを取得します。リスティング詳細ページからのお問い合わせをキャプチャします。

保存した物件

お気に入りリンクはユーザーと物件を関連付けます。現在のユーザーのお気に入りをリストし、リスティング詳細から追加または削除します。

地理クエリ

Property.location (GeoPoint) は $nearSphere をサポートしています。ポイントの近くの物件を見つけ、距離でソートします。

ユーザーと権限

組み込みの _User; 物件の作成/更新をエージェントに制限します; リストと詳細の公開読み取り。

Back4appで不動産リスティングバックエンドを構築する理由は?

Back4appは、地理クエリとリードキャプチャを備えた準備済みのバックエンドを提供するため、RESTグルーを記述したり、認証を自分で管理したりすることなく、プロパティリスティングアプリを構築できます。

  • ジオクエリとSDK: Property.location (GeoPoint) は $nearSphere をサポートしています; SDK は Property と Lead を型安全に保ちます。
  • リードキャプチャとお気に入り: Lead クラスは物件ごとの問い合わせを保存します; お気に入りはユーザーと物件をリンクして保存されたリスティングを提供します。
  • Live Queries: Property または Favorite の変更を購読して、UI をリアルタイムで更新します。

すべてのスタックに対して同じスキーマとAPI — 後でクライアントを切り替えてもバックエンドを変更する必要はありません。

コアの利点

迅速に出荷し、アプリに集中できる本番環境向けの不動産バックエンド。

迅速に出荷、バックエンドコード不要

REST & GraphQL API と準備されたスキーマ — アプリを接続して開始。

すぐに使えるジオクエリ

$nearSphere を使用してポイント近くの物件を見つけ、距離でソート。

リードキャプチャ

リードクラスは名前、メール、電話、メッセージ、および物件ポインタを保存。

組み込みの認証

ユーザーのサインアップ、ログイン、およびセッション管理; お気に入りとリスト管理を制限。

オフラインで動作

ローカルピン留めにより、物件とお気に入りがオフラインで利用可能になり、再接続時に同期。

数分でデプロイ

AIエージェントを使用して、このテンプレートから不動産アプリを作成およびデプロイ。

試してみる準備はできましたか?

Back4app AIエージェントに不動産リスティングのバックエンドを作成させ、your chosen technology フロントエンドを接続し、デプロイします — すべて単一のプロンプトから。

無料で開始 — 月50件のAIエージェントプロンプト、クレジットカード不要

技術スタック

この不動産リスティングテンプレートを支えるすべてを一目で。

フロントエンド
13以上の技術
バックエンド
Back4app
データベース
MongoDB
認証
認証とアクセス制御
API
REST & GraphQL
デプロイメント
AIエージェント / ダッシュボード

ER図

不動産リスティングデータモデルのためのエンティティ-リレーションシップ図。

図のソースを表示
Mermaid
erDiagram
    _User {
        String objectId PK
        String username
        String email
        String password
        Date createdAt
        Date updatedAt
    }

    Property {
        String objectId PK
        String title
        String description
        Number price
        String address
        GeoPoint location
        Number beds
        Number baths
        Number area
        String propertyType
        String status
        Pointer listedBy FK
        Date createdAt
        Date updatedAt
    }

    Lead {
        String objectId PK
        String name
        String email
        String phone
        String message
        Pointer property FK
        Date createdAt
        Date updatedAt
    }

    Favorite {
        String objectId PK
        Pointer user FK
        Pointer property FK
        Date createdAt
        Date updatedAt
    }

    _User ||--o{ Property : "listedBy"
    _User ||--o{ Favorite : "user"
    Property ||--o{ Lead : "property"
    Property ||--o{ Favorite : "property"

統合フロー

Auth-to-CRUDシーケンス: あなたのアプリがBack4appと通信する方法 — ログイン、プロパティをクエリ(ジオ付き)、リードを作成、お気に入りを管理。

図のソースを表示
Mermaid
sequenceDiagram
  participant User
  participant App as Your App
  participant Back4app as Back4app Cloud

  User->>App: Login
  App->>Back4app: POST /login (username, password)
  Back4app-->>App: Session token
  App-->>User: Logged in

  User->>App: Load properties (and optional geo query)
  App->>Back4app: GET /classes/Property
  Back4app-->>App: List of Property objects
  App-->>User: Show listings

  User->>App: Submit lead or add favorite
  App->>Back4app: POST /classes/Lead or POST /classes/Favorite
  Back4app-->>App: Lead or Favorite (objectId)
  App-->>User: Updated list

データ辞書

スキーマ内のすべてのクラスの完全なフィールドリファレンス。

フィールドタイプ説明必須
objectIdStringAuto-generated unique identifier自動
titleStringListing title
descriptionStringFull listing description
priceNumberAsking or rental price
addressStringStreet address
locationGeoPointLat/lng for geo-queries and map display
bedsNumberNumber of bedrooms
bathsNumberNumber of bathrooms
areaNumberArea in sq ft or sq m
propertyTypeStringe.g. house, apartment, land
statusStringe.g. for_sale, for_rent, sold
listedByPointer<_User>User who created the listing
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

14 フィールドが Property にあります

セキュリティと権限

ACL とクラスレベルの権限がこの不動産スキーマ内のデータをどのように保護するか。

プロパティと公開読み取り

プロパティリストと詳細の公開読み取りを許可し、作成/更新/削除を認証されたユーザー(例:リスティングエージェント)に制限します。

クラスレベルの権限

CLP はクラスごとに作成/読み取り/更新/削除を制限します。リードの作成は公開可能ですが、Favorite と Property の書き込みは通常認証を必要とします。

ポインタベースの関係

_UserにリンクするlistedByプロパティ; Favoriteはユーザーとプロパティをリンクします。必要に応じてCloud Codeを使用して所有権を強制します。

スキーマ (JSON)

生のJSONスキーマ定義 — Back4appアプリにコピーして使用するか、API経由でインポートします。

JSON
{
  "classes": [
    {
      "className": "Property",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "title": {
          "type": "String",
          "required": true
        },
        "description": {
          "type": "String",
          "required": false
        },
        "price": {
          "type": "Number",
          "required": false
        },
        "address": {
          "type": "String",
          "required": false
        },
        "location": {
          "type": "GeoPoint",
          "required": false
        },
        "beds": {
          "type": "Number",
          "required": false
        },
        "baths": {
          "type": "Number",
          "required": false
        },
        "area": {
          "type": "Number",
          "required": false
        },
        "propertyType": {
          "type": "String",
          "required": false
        },
        "status": {
          "type": "String",
          "required": false
        },
        "listedBy": {
          "type": "Pointer",
          "targetClass": "_User",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Lead",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "name": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "phone": {
          "type": "String",
          "required": false
        },
        "message": {
          "type": "String",
          "required": false
        },
        "property": {
          "type": "Pointer",
          "targetClass": "Property",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Favorite",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "user": {
          "type": "Pointer",
          "targetClass": "_User",
          "required": false
        },
        "property": {
          "type": "Pointer",
          "targetClass": "Property",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "_User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

AIエージェントで構築

このテンプレートから実際の不動産リスティングアプリを構築するためにBack4app AIエージェントを使用します: フロントエンド、バックエンド(このスキーマ、認証、地理クエリ、およびAPI)を作成し、デプロイします — 手動設定は不要です。

Back4app AIエージェント
構築の準備ができました
Back4appでこの正確なスキーマと動作で不動産リストアプリを作成してください。

スキーマ:
1. _User(Back4app組み込み): username(String、必須)、email(String、必須)、password(String、必須);objectId、createdAt、updatedAt(システム)。
2. Property: title(String、必須)、description(String)、price(Number)、address(String)、location(GeoPoint)、beds(Number)、baths(Number)、area(Number)、propertyType(String)、status(String;例 for_sale、for_rent、sold)、listedBy(_UserへのPointer);objectId、createdAt、updatedAt(システム)。
3. Lead: name(String、必須)、email(String、必須)、phone(String)、message(String)、property(PropertyへのPointer);objectId、createdAt、updatedAt(システム)。
4. Favorite: user(_UserへのPointer)、property(PropertyへのPointer);objectId、createdAt、updatedAt(システム)。

セキュリティ:
- 認証済みユーザーのみがPropertyとFavoriteの作成/更新/削除ができるようACLを設定;Propertyのリストと詳細は公開読み取り可。Lead作成は公開または認証必須に可能。
- Class-Level Permissionsで認証済みユーザーのみがFavoriteを管理;PropertyとLeadは必要に応じて。

認証:
- サインアップ(username、email、password)とログイン;ログアウト/セッション対応。

動作:
- Property(リスト担当)とFavoriteの完全なCRUD。
- Propertyに紐づくLead(問い合わせ)の作成;物件別または現在のユーザーのリスト別にLeadを一覧。
- ジオクエリ:location(GeoPoint)と$nearSphere、limitでポイント近くの物件を検索。
- status、beds、baths、価格帯、propertyTypeでPropertyをフィルタ。
- オプション:新規リストやお気に入り変更のリアルタイムLive Queries。

成果物:
- 上記スキーマ、ACL、必要なCloud CodeでBack4appアプリを作成。
- フロントエンドを生成してこのバックエンドに接続;アプリをエンドツーエンドで実行可能にデプロイ。

下のボタンを押して、このテンプレートのプロンプトが事前に入力された状態でエージェントを開きます。

これは技術サフィックスのないベースプロンプトです。フロントエンドも生成する技術別プロンプトは、下の技術ページを選択してください。

数分でデプロイ月に50の無料プロンプトクレジットカードは不要

APIプレイグラウンド

不動産スキーマのためにRESTおよびGraphQLエンドポイントを試してください。上記のサンプルデータからのレスポンス — Back4appアカウントは必要ありません。

プレイグラウンドを読み込んでいます…

このテンプレートと同じスキーマを使用します。

各技術で得られるもの

どの技術を選んでも、すべてのガイドとデプロイでこのバックエンドを共有します。

{vertical}のためのマネージドバックエンド

サーバーのメンテナンスなしでバックエンドを簡単に展開・管理。

{vertical}のジオクエリサポート

ユーザーの近くのプロパティを見つけるための位置情報ベースの検索を実行。

{vertical}のユーザー認証

組み込みの認証でユーザーアクセスと役割を安全に管理。

{vertical}の不動産のリアルタイムプロパティ更新

リスティングへの即時更新により、ユーザーは最新のプロパティを確認できます。

{vertical}のリード管理

潜在的な買い手からの問い合わせを効率的に追跡・管理します。

{vertical}のための拡張可能なスキーマ

特定のビジネスニーズに合わせてデータ構造をカスタマイズします。

よくある質問

不動産リスティングバックエンドテンプレートに関する一般的な質問。

Back4appとは何ですか?
不動産リスティングアプリにBack4appを使用する理由は何ですか?
不動産リスティングテンプレートには何が含まれていますか?
データアクセスはどのように制御されますか?
デプロイ後にスキーマを拡張できますか?
ジオクエリを実行するにはどうすればよいですか?

世界中の開発者に信頼されています

アプリの未来を築くコミュニティに参加しましょう

G2 Users Love Us Badge

不動産リスティングアプリを作る準備はできましたか?

数分でプロジェクトを開始できます。クレジットカードは不要です。

技術を選択