コンテナレンタルアプリバックエンドテンプレート
ContainerCodeとヤードのドロップオフ管理
Back4app上の生産準備が整ったコンテナレンタルバックエンドで、containerCode、isoSize、状態レポート、ドロップオフ場所の管理が可能。ER図、データ辞書、JSONスキーマ、APIサンドボックス、および迅速なブートストラップのためのAIエージェントプロンプトを含みます。
コンテナレンタルの要点
このテンプレートには、containerCode、isoSize、状態報告、およびドロップオフ場所を備えたコンテナレンタルバックエンドが含まれており、デスクスタッフが手動での追跡を減らしながらユニットを見積もり、予約し、検査し、発送することができます。
- コードとサイズによるコンテナ在庫 — 各コンテナをcontainerCode、isoSize、状態、およびステータスでモデル化し、スタッフが20GP、40GP、または40HCユニットを適切な予約にマッチさせることができるようにします。
- ユニットに関連付けられた状態報告 — コンテナにConditionReportエントリを添付し、ピックアップまたは返却前にreportDate、conditionNotes、およびphotosUrlをキャプチャします。
- ドロップオフ場所の管理 — 予約記録をDropOffLocationに関連付けて、配送チームが各コンテナの送付先を把握できるようにします。
- ロールに応じた操作 — 顧客の予約アクションとスタッフの更新を、予約および ConditionReport レコードで分離します。
- Web およびモバイル向けの 1 つのバックエンド — データモデルを重複させることなく、REST または GraphQL 経由でレンタルデスク、スタッフ、顧客にサービスを提供します。
概要: コンテナレンタルアプリ
コンテナレンタルにおける可用性は変動する対象です: メンテナンスウィンドウ、遅れている返却、および複数の資産を結びつけるバンドル。小さな遅延が急速に重なります。Back4app 上の Container、Booking、ConditionReport、および DropOffLocation を使用して、コンテナレンタルの可用性、価格フック、および実行記録を 1 つの一貫したバックエンドにエンコードします。このスキーマは、User(ユーザー名、メール、パスワード、ロール)、Container(コンテナコード、ISO サイズ、状態、ステータス、所有者)、Booking(予約番号、コンテナ、顧客、ドロップオフロケーション、ピックアップ日、返却日、配送状況)、ConditionReport(コンテナ、検査官、報告日、状態ノート、写真のURL)、および DropOffLocation(ロケーション名、住所1、都市、地域、国、緯度、経度、営業時間)をカバーし、認証、予約管理、およびレンタルワークフローを組み込んでいます。好みのフロントエンドを接続して、迅速に出荷してください。
最適:
このコンテナレンタルバックエンドの構成
コンテナレンタルチームは、日常業務が退屈になると勝利します:予測可能な記録、明らかな所有権、小さな問題がインシデントになる前のアラート。
コンテナ、予約、および状態報告をMVPスコープのチェックリストとして使用します:モデル化されていない場合、スプレッドシートの workaround になります。
コンテナレンタルアプリの機能
このハブ内のすべてのテクノロジーカードは、User、Container、ConditionReport、DropOffLocation、およびBookingを使用して、同じコンテナレンタルバックエンドスキーマを利用しています。
コンテナ在庫
コンテナクラスはcontainerCode、isoSize、condition、status、ownerを格納します。
予約ワークフロー
予約クラスは顧客、コンテナ、ドロップオフ場所、ピックアップ日、返却日、および配達状況をリンクします。
受取時および返却時の状態レポート
ConditionReportクラスはreportDate、conditionNotes、およびphotosUrlをキャプチャします。
ドロップオフ場所管理
DropOffLocationクラスはlocationName、addressLine1、city、region、country、geoLat、geoLng、およびopenHoursを保存します。
なぜBack4appでコンテナレンタルのバックエンドを構築するのか?
Back4appは、あなたのチームがサーバーのメンテナンスではなくレンタルに集中できるように、コンテナ、予約、検査、位置情報のプリミティブを提供します。
- •コンテナと予約レコードを一か所に: コンテナおよび予約クラスは、containerCode、isoSize、status、pickupDateを整列させます。
- •資産に結びついたコンディションレポート: ConditionReportエントリは、実際のコンテナポインタに対してconditionNotes、photosUrl、reportDateをキャプチャします。
- •ライブ位置情報とステータス更新: Live Queriesを使用して予約の変更を行いながら、RESTとGraphQLをすべてのクライアントに対して利用可能に保ちます。
すべてのプラットフォームを横断する単一のバックエンド契約で、コンテナレンタルワークフローを迅速に構築および反復します。
コンテナレンタルアプリの利点
可用性、点検、および配達ポイントを整理するコンテナレンタルバックエンド。
利用可能なユニットのより迅速な見積もり
インベントリロジックを再構築するのではなく、Container containerCode、isoSize、およびstatusフィールドから始めます。
より安全な引き渡しと返品チェック
各ConditionReportをContainerに結び付けて、reportDateとconditionNotesがピックアップと返品の際にスタッフに見えるようにします。
明確な dispatch 計画
Booking dropOffLocation と pickupDate の詳細を使用して、各コンテナが行く必要のある場所を確認します。
スタッフと顧客のための役割ベースのアクセス
ACL/CLPを使用して、顧客が自分のBookingエントリを表示できるようにし、スタッフがContainerとConditionReportの更新を管理します。
問い合わせ可能なレンタル履歴
各予約、報告、およびドロップオフ場所をParseに保存し、デスクがスプレッドシートのマージなしでコンテナの経路を確認できるようにします。
AI支援のブートストラップワークフロー
構造化されたプロンプトを使用して、バックエンドの足場と統合ガイダンスを迅速に生成します。
コンテナレンタルアプリを開始する準備はできましたか?
Back4app AIエージェントにコンテナレンタルバックエンドの足場を作成させ、containerCode、isoSize、状態レポート、及びドロップオフ地点を1つのプロンプトから生成します。
無料で始められます — 月50件のAIエージェントプロンプト、クレジットカード不要
コンテナレンタル技術スタック
このコンテナレンタルバックエンドテンプレートに含まれているすべて。
コンテナ関係マップ
コンテナレンタルバックエンドスキーマのエンティティリレーションシップモデル。
ユーザー、コンテナ、条件報告、ドロップオフ場所、予約をカバーするスキーマ。
ダイアグラムソースを表示
erDiagram
User ||--o{ Container : "owner"
User ||--o{ ConditionReport : "inspector"
User ||--o{ Booking : "customer"
Container ||--o{ ConditionReport : "inspected"
Container ||--o{ Booking : "reserved"
DropOffLocation ||--o{ Booking : "drop-off"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Container {
String objectId PK
String containerCode
String isoSize
String condition
String status
String ownerId FK
Date createdAt
Date updatedAt
}
ConditionReport {
String objectId PK
String containerId FK
String inspectorId FK
Date reportDate
String conditionNotes
String photosUrl
Date createdAt
Date updatedAt
}
DropOffLocation {
String objectId PK
String locationName
String addressLine1
String city
String region
String country
Number geoLat
Number geoLng
String openHours
Date createdAt
Date updatedAt
}
Booking {
String objectId PK
String bookingNumber
String containerId FK
String customerId FK
String dropOffLocationId FK
Date pickupDate
Date returnDate
String deliveryStatus
Date createdAt
Date updatedAt
}
コンテナアプリのフロー
認証、コンテナのブラウジング、予約作成、状態報告、ドロップオフ場所の更新の典型的な実行フロー。
ダイアグラムソースを表示
sequenceDiagram
participant User
participant App as Shipping Container Rental App
participant Back4app as Back4app Cloud
User->>App: Sign in
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Browse ISO sizes and container status
App->>Back4app: GET /classes/Container?include=owner&order=-updatedAt
Back4app-->>App: Container list
User->>App: Review condition report
App->>Back4app: GET /classes/ConditionReport?include=container,inspector
Back4app-->>App: Inspection notes and photos URL
User->>App: Schedule a drop-off booking
App->>Back4app: POST /classes/Booking
Back4app-->>App: Booking number and delivery status
App->>Back4app: GET /classes/DropOffLocation?order=city
Back4app-->>App: Drop-off locations
opt Live updates for desk staff
App->>Back4app: Subscribe to Booking and Container changes
Back4app-->>App: Booking status changed
endフィールドガイド
コンテナレンタルスキーマ内のすべてのクラスに対する完全なフィールドレベルの参照。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., staff, owner, customer) | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7フィールドをUserで
アクセスルールと権限
ACLおよびCLP戦略がユーザー、コンテナ、予約、状態レポート、ドロップオフ場所をどのように保護するか。
顧客の予約範囲
顧客は自分の予約エントリを作成および表示できますが、スタッフはコンテナおよびドロップオフ場所の記録を管理します。
検査の完全性
認可されたレンタルデスクスタッフのみがコンテナに関連する状態レポートエントリを作成または修正するべきです。
位置と資産の可視性
スコープ付き読み取りを使用して、関係のないレンタルを公開することなく、正しいチームがコンテナの空き状況、予約状況、及び返却指示を確認できるようにします。
JSONスキーマ
Back4appにコピーする準備ができた生のJSONスキーマ定義、または実装の参考として使用。
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Container",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"containerCode": {
"type": "String",
"required": true
},
"isoSize": {
"type": "String",
"required": true
},
"condition": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ConditionReport",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"container": {
"type": "Pointer",
"required": true,
"targetClass": "Container"
},
"inspector": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"reportDate": {
"type": "Date",
"required": true
},
"conditionNotes": {
"type": "String",
"required": true
},
"photosUrl": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "DropOffLocation",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"locationName": {
"type": "String",
"required": true
},
"addressLine1": {
"type": "String",
"required": true
},
"city": {
"type": "String",
"required": true
},
"region": {
"type": "String",
"required": true
},
"country": {
"type": "String",
"required": true
},
"geoLat": {
"type": "Number",
"required": false
},
"geoLng": {
"type": "Number",
"required": false
},
"openHours": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Booking",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"bookingNumber": {
"type": "String",
"required": true
},
"container": {
"type": "Pointer",
"required": true,
"targetClass": "Container"
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"dropOffLocation": {
"type": "Pointer",
"required": true,
"targetClass": "DropOffLocation"
},
"pickupDate": {
"type": "Date",
"required": true
},
"returnDate": {
"type": "Date",
"required": false
},
"deliveryStatus": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AIエージェントで構築
Back4app AIエージェントを使用して、このテンプレートからリアルなコンテナレンタルアプリを生成します。フロントエンド、バックエンド、認証、コンテナ、予約、検査、および返却フローを含みます。
Back4app上にこの正確なスキーマと動作で安全なコンテナレンタルアプリのバックエンドを作成します。 スキーマ: 1. ユーザー(Back4appのビルトインを使用):ユーザー名、メール、パスワード、役割;objectId、createdAt、updatedAt(システム)。 2. コンテナ:containerCode(String、必須)、isoSize(String、必須)、condition(String、必須)、status(String、必須)、owner(ユーザーへのポインタ、必須);objectId、createdAt、updatedAt(システム)。 3. ConditionReport:container(コンテナへのポインタ、必須)、inspector(ユーザーへのポインタ、必須)、reportDate(Date、必須)、conditionNotes(String、必須)、photosUrl(String、任意);objectId、createdAt、updatedAt(システム)。 4. DropOffLocation:locationName(String、必須)、addressLine1(String、必須)、city(String、必須)、region(String、必須)、country(String、必須)、geoLat(Number、任意)、geoLng(Number、任意)、openHours(String、任意);objectId、createdAt、updatedAt(システム)。 5. Booking:bookingNumber(String、必須)、container(コンテナへのポインタ、必須)、customer(ユーザーへのポインタ、必須)、dropOffLocation(ドロップオフ位置へのポインタ、必須)、pickupDate(Date、必須)、returnDate(Date、任意)、deliveryStatus(String、必須);objectId、createdAt、updatedAt(システム)。 セキュリティ: - スタッフはコンテナ、状態レポート、およびドロップオフ位置を作成および更新できます。 - オーナーは自身のコンテナと予約を表示できます。 - カスタマーは利用可能なコンテナの予約を作成し、自身のbookingNumbersおよびdeliveryStatusを表示できます。 - 状態レポートはスタッフと対応するコンテナのオーナーに表示されるべきです。 認証: - サインアップ、ログイン、ログアウト。 動作: - isoSizeおよびstatusでコンテナをリストします。 - 検査後に状態レポートを作成します。 - 選択されたドロップオフ位置に紐付けられた予約を作成します。 - 配送状況と位置の詳細をカスタマーに表示します。 提供: - Back4appアプリとスキーマ、ACL、CLP;コンテナ在庫、状態レポート、予約管理、およびドロップオフ位置選択のためのフロントエンド。
下のボタンを押して、このテンプレートプロンプトが自動入力された状態でエージェントを開いてください。
これは技術の接尾辞なしでの基本プロンプトです。生成されたフロントエンドスタックは後で適応できます。
APIサンドボックス
RESTおよびGraphQLエンドポイントをコンテナレンタルスキーマに対して試してみてください。レスポンスはモックデータを使用し、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用しています。
テクノロジーを選択
各カードを展開して、選択したスタックにContainer、Booking、ConditionReportを統合する方法を確認してください。
Flutter コンテナレンタルバックエンド
React コンテナレンタルバックエンド
React ネイティブ コンテナレンタルバックエンド
Next.js コンテナレンタルバックエンド
JavaScript コンテナレンタルバックエンド
Android コンテナレンタルバックエンド
iOS コンテナレンタルバックエンド
Vue コンテナレンタルバックエンド
Angular コンテナレンタルバックエンド
GraphQL コンテナレンタルバックエンド
REST API コンテナレンタルバックエンド
PHP コンテナレンタルバックエンド
.NET コンテナレンタルバックエンド
すべてのテクノロジーで得られるもの
すべてのスタックは同じコンテナレンタルバックエンドスキーマとAPI契約を使用します。
統一された コンテナレンタル 在庫構造
一貫したスキーマでコンテナ、予約、状態レポートを追跡します。
コンテナレンタル のISOサイズログ
各コンテナをコード、サイズ、状態、ステータスで特定します。
コンテナレンタル の状態報告
ピックアップ前または返却後に検査ノートと写真を記録します。
コンテナレンタルでの返却場所の管理
各予約に関連付けられた配達サイトと返却指示を保持します。
コンテナレンタルフレームワークの比較
すべてのサポートされている技術にわたって、セットアップ速度、SDKスタイル、およびAIサポートを比較します。
| フレームワーク | セットアップ時間 | コンテナレンタルの利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルおよびウェブ用のコンテナレンタルのための単一のコードベース。 | タイプ付きSDK | フル | |
| 5分未満 | レンタルデスクスタッフのための高速ウェブダッシュボード。 | タイプ付きSDK | フル | |
| ~3〜7分 | ヤードおよび配車チーム向けのクロスプラットフォームモバイルアプリ。 | Typed SDK | フル | |
| 迅速なセットアップ(5分) | 予約および在庫確認のためのサーバーレンダリングウェブアプリ。 | Typed SDK | フル | |
| ~3〜5分 | レンタル業務向けの軽量ウェブ統合。 | Typed SDK | フル | |
| 約5分 | ネイティブ Android アプリでの庭の検査とドロップオフキャプチャ。 | 入力されたSDK | フル | |
| 5分未満 | ネイティブ iOS アプリでの現場スタッフと現地予約確認。 | 入力されたSDK | フル | |
| 約3〜7分 | React 的なウェブUIでコンテナの可用性とレポート。 | 入力されたSDK | フル | |
| 迅速な(5分)セットアップ | 複数のデポによるレンタルチーム向けのエンタープライズWebアプリ。 | 入力されたSDK | フル | |
| 2分未満 | ネストされたコンテナと予約ビューのための柔軟なGraphQL API。 | GraphQL API | フル | |
| 迅速な(2分)セットアップ | 配送および在庫画面用のREST API統合。 | REST API | フル | |
| 約3分 | レンタル業務のためのサーバーサイドPHPバックエンド。 | REST API | フル | |
| ~3~7分 | .NETの企業向けコンテナレンタルワークフロー。 | 入力されたSDK | フル |
セットアップ時間は、プロジェクトのブートストラップから最初のコンテナまたは予約クエリをこのテンプレートスキーマを使用して行うまでの予想される期間を反映しています。
コンテナレンタルに関する質問
このテンプレートを使用してコンテナレンタルバックエンドを構築する際の一般的な質問。