街灯ポールアーカイブバックエンドテンプレート
ポール在庫、バルブタイプの追跡、メンテナンス履歴
Back4app 上の生産準備完了の街灯ポールアーカイブバックエンド:ポール記録、バルブタイプ追跡、バラストログ、メンテナンス履歴を含みます。ER図、フィールド辞書、JSONスキーマ、APIプレイグラウンド、迅速なセットアップのためのAIエージェントプロンプトを含みます。
街灯アーカイブの重要なポイント
このテンプレートは、ポールレコード、バルブタイプ追跡、バラストログ、メンテナンス履歴を備えた街灯ポールアーカイブのバックエンドを提供し、クルーとコーディネーターが一つの真実のソースを基に作業できるようにします。
- ポール優先レコード — 各ポールを、位置、ステータス、バルブタイプ、バラストログポインタでモデル化し、高速検索を実現します。
- バルブタイプの可視性 — バルブタイプ、ワット数、交換ノートをアーカイブに添付して、スプレッドシートに埋もれないようにします。
- バラストログ履歴 — サービス日、技術者のメモ、フォローアップアクションを含むバラストログを保存します。
- メンテナンストレーサビリティ — ポールにメンテナンス履歴をリンクさせることで、検査、修理、交換の監査が容易になります。
- モバイルおよびウェブアーカイブアクセス — フィールドクルーとオフィススタッフに、ポールアーカイブ用の1つのRESTおよび GraphQL バックエンドを通じてサービスを提供します。
概要: ストリートライトポールアーカイブ
ストリートライトアーカイブのドキュメントが受信トレイにあると、いつでも防御できない発見に対する見逃した添付ファイルが1つある状態になります。顧客は、あなたが約束するETAでそれを感じます。このテンプレートは、ポール、バルブタイプ、バラストログ、およびメンテナンスエントリーを Back4app 上で構築し、監査トレイルを内蔵しているため、ストリートライトアーカイブレビューは防御可能なタイムラインを示すことができます。このスキーマはポール(poleCode、locationName、poleType、status)、バルブタイプ(name、technology、wattage、lifespanHours)、バラストログ(pole、ballastModel、serviceDate、technicianNote)、およびメンテナンスエントリー(pole、actionType、performedAt、outcome)をカバーし、認証およびアーカイブのワークフローが組み込まれています。お好みのフロントエンドに接続して、ポールの履歴を整理された状態に保ちます。
最適:
ストリートライトアーカイブテンプレートで得られるもの
良いストリートライトアーカイブ習慣は、同じフィールド、同じライフサイクル言語、そして毎回同じ監査トレイルという規律のように見えます。
最初にポール、バルブタイプ、バラストログをレビューし、その後スタックカードを開いてSDK特有のノートと統合パターンを確認してください。
コア街灯アーカイブ機能
このハブのすべてのテクノロジーカードは、ポール、バルブタイプ、バラストログ、およびメンテナンスエントリを使用して同じアーカイブスキーマを使用します。
ポール登録
Poleクラスは、poleCode、locationName、poleType、status、およびbulbTypeポインタを格納します。
バルブタイプカタログ
BulbTypeクラスは、名前、技術、ワット数、および寿命時間を保持します。
バラストログトラッキング
BallastLog クラスはポール、バラストモデル、サービス日付、および技術者ノートを記録します。
メンテナンス履歴
MaintenanceEntry クラスはポール、アクションタイプ、実施日時、および結果を保存します。
なぜBack4appで街灯ポールアーカイブバックエンドを構築するのか?
Back4appはポールアーカイブのプリミティブ—ポール、バルブタイプ、バラストログ、メンテナンスエントリ—を提供するので、チームはバックエンドの配管を書くのではなく、検査と履歴に時間を費やすことができます。
- •ポールとバルブの追跡: Poleクラスは、poleCode、locationName、bulbType、statusを1か所に保持します。
- •メンテナンスとバラストの履歴: BallastLogとMaintenanceEntryは、各ポールのサービス日、技術者のノート、成果を保存します。
- •リアルタイム + APIアクセス: 最新のメンテナンス更新のためにLive Queriesを使用し、RESTとGraphQLを通じて同じアーカイブを公開します。
モバイル、ウェブ、フィールドツール全体で1つのバックエンド契約を持つ実用的なポールアーカイブを構築します。
ポールアーカイブのコア利点
ポールの詳細、ランプタイプ、およびサービス履歴を簡単に照会できる街灯アーカイブバックエンド。
より速いポールの検索
ポールコードまたはロケーション名でポールを検索し、切り離されたスプレッドシートを通して並べ替える必要はありません。
バルブタイプの明確さ
各ポールに技術とワット数などのバルブタイプフィールドを付けて、作業員が何をサービスしているかを知ることができます。
バラストログの継続性
サービス日付と技術者のノートを含むバラストログのエントリを保存し、繰り返し発生する問題を把握できるようにします。
添付されたままの履歴
メンテナンスエントリの記録を同じポールにリンクさせ、アーカイブが完全なサービス履歴を保持します。
現場に優しいデータアクセス
すべてのポールアーカイブが必要な検査官、スーパーバイザー、オフィスコーディネーターのために、1つのAPIを使用します。
AIブートストラップワークフロー
単一の構造化プロンプトからアーカイブスキーマと統合計画を生成します。
ストリートライトアーカイブアプリの準備はできましたか?
Back4app AIエージェントにポールアーカイブバックエンドをスキャフォールドさせ、1つのプロンプトからバルブタイプ追跡、バラストログ、およびメンテナンス履歴を生成させます。
無料で開始 — 月あたり50のAIエージェントプロンプト、クレジットカード不要
技術スタック
この街灯ポールアーカイブバックエンドテンプレートに含まれるすべて。
ポールERダイアグラム
街灯ポールアーカイブスキーマのためのエンティティ関係モデル。
ポール、バルブタイプ、バラストログ、およびメンテナンス履歴をカバーするスキーマ。
図のソースを見る
erDiagram
Operator ||--o{ Pole : "assignedOperator"
Operator ||--o{ BulbRecord : "createdBy"
Operator ||--o{ BallastLog : "inspectedBy"
Operator ||--o{ MaintenanceEntry : "performedBy"
Pole ||--o{ BulbRecord : "pole"
Pole ||--o{ BallastLog : "pole"
Pole ||--o{ MaintenanceEntry : "pole"
Operator {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Pole {
String objectId PK
String poleNumber
String locationLabel
String bulbType
Date lastBallastCheckAt
String status
String assignedOperatorId FK
Date createdAt
Date updatedAt
}
BulbRecord {
String objectId PK
String poleId FK
String bulbType
Date installedAt
String notes
String createdById FK
Date createdAt
Date updatedAt
}
BallastLog {
String objectId PK
String poleId FK
Date inspectionDate
String ballastCondition
String actionTaken
String inspectedById FK
Date createdAt
Date updatedAt
}
MaintenanceEntry {
String objectId PK
String poleId FK
Date workDate
String taskType
String summary
Boolean resolved
String performedById FK
Date createdAt
Date updatedAt
}
アーカイブ統合フロー
認証、ポール検索、バルブタイプの更新、バラストログ、メンテナンス履歴の典型的なランタイムフロー。
図のソースを見る
sequenceDiagram
participant User
participant App as Streetlight Pole Archive App
participant Back4app as Back4app Cloud
User->>App: Sign in to review poles
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open pole archive
App->>Back4app: GET /classes/Pole?include=assignedOperator
Back4app-->>App: Pole list with bulbType and status
User->>App: Add bulb record or ballast log
App->>Back4app: POST /classes/BulbRecord
App->>Back4app: POST /classes/BallastLog
Back4app-->>App: Saved record IDs
User->>App: Record maintenance history
App->>Back4app: POST /classes/MaintenanceEntry
Back4app-->>App: Maintenance entry saved
App->>Back4app: Subscribe to live updates for Pole and MaintenanceEntry
Back4app-->>App: Live query changesフィールド辞書
ストリートライトアーカイブスキーマ内のすべてのクラスに対するフィールドレベルの完全なリファレンス。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | Login name for managers and field staff | |
| String | Work email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Access role such as coordinator, inspector, or admin | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7 フィールドが Operator に
セキュリティと権限
ACL と CLP 戦略がポール、バルブタイプ、バラストログ、およびメンテナンス履歴をどのように保護するか。
役割に応じたアーカイブ編集
認可されたコーディネーターまたは技術者のみが、ポール、バラストログ、およびメンテナンスエントリレコードを作成または変更できます。
履歴の整合性
ポールのアーカイブトレイルに保存する前に、バラストとメンテナンスエントリを検証するために Cloud Code を使用します。
スコープ付き読み取りアクセス
地区、クルー、または作業指示によってアーカイブの読み取りを制限し、フィールドユーザーが必要なポールのみを表示できるようにします。
アーカイブスキーマJSON
コピーしてBack4appに入れるか、実装の参考として使用できる生のJSONスキーマ定義。
{
"classes": [
{
"className": "Operator",
"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": "Pole",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"poleNumber": {
"type": "String",
"required": true
},
"locationLabel": {
"type": "String",
"required": true
},
"bulbType": {
"type": "String",
"required": true
},
"lastBallastCheckAt": {
"type": "Date",
"required": false
},
"status": {
"type": "String",
"required": true
},
"assignedOperator": {
"type": "Pointer",
"required": true,
"targetClass": "Operator"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "BulbRecord",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"pole": {
"type": "Pointer",
"required": true,
"targetClass": "Pole"
},
"bulbType": {
"type": "String",
"required": true
},
"installedAt": {
"type": "Date",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdBy": {
"type": "Pointer",
"required": true,
"targetClass": "Operator"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "BallastLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"pole": {
"type": "Pointer",
"required": true,
"targetClass": "Pole"
},
"inspectionDate": {
"type": "Date",
"required": true
},
"ballastCondition": {
"type": "String",
"required": true
},
"actionTaken": {
"type": "String",
"required": true
},
"inspectedBy": {
"type": "Pointer",
"required": true,
"targetClass": "Operator"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "MaintenanceEntry",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"pole": {
"type": "Pointer",
"required": true,
"targetClass": "Pole"
},
"workDate": {
"type": "Date",
"required": true
},
"taskType": {
"type": "String",
"required": true
},
"summary": {
"type": "String",
"required": true
},
"resolved": {
"type": "Boolean",
"required": true
},
"performedBy": {
"type": "Pointer",
"required": true,
"targetClass": "Operator"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AIエージェントで構築
Back4app AIエージェントを使用して、このテンプレートから実際の街灯ポールアーカイブアプリを生成します。フロントエンド、バックエンド、認証、ポール、バルブタイプ、バラストログ、およびメンテナンス履歴フローが含まれます。
Back4app でこの正確なスキーマと動作を持つ街灯ポールアーカイブアプリのバックエンドを作成します。 スキーマ: 1. ユーザー (Back4app ビルトイン使用): ユーザー名、メール、パスワード; objectId, createdAt, updatedAt (システム). 2. ポール: poleCode (String, 必須), locationName (String, 必須), poleType (String, 必須), status (String, 必須), bulbType (BulbTypeへのポインタ, 任意), ballastLog (BallastLogへのポインタ, 任意); objectId, createdAt, updatedAt (システム). 3. BulbType: name (String, 必須), technology (String, 必須), wattage (Number, 必須), lifespanHours (Number, 任意), notes (String, 任意); objectId, createdAt, updatedAt (システム). 4. BallastLog: pole (Poleへのポインタ, 必須), ballastModel (String, 必須), serviceDate (Date, 必須), technicianNote (String, 任意), replaced (Boolean, 必須); objectId, createdAt, updatedAt (システム). 5. MaintenanceEntry: pole (Poleへのポインタ, 必須), actionType (String, 必須), performedAt (Date, 必須), outcome (String, 必須), technicianName (String, 任意); objectId, createdAt, updatedAt (システム). セキュリティ: - 認可されたユーザーのみがポールアーカイブエントリを作成または更新できます。ポールの履歴書き込みを検証するためにクラウドコードを使用してください。 認証: - サインアップ、ログイン、ログアウト。 動作: - ポールのリスト、バルブタイプの詳細確認、バラストログの追加、メンテナンス履歴の追加。 配信: - スキーマ、ACL、CLPを持つ Back4app アプリ; ポール、バルブタイプ、バラストログ、メンテナンス履歴のフロントエンド。
下のボタンを押して、このテンプレートのプロンプトが事前に入力されたエージェントを開きます。
これはテクノロジーサフィックスのない基本プロンプトです。生成されたフロントエンドスタックは後で適応できます。
APIプレイグラウンド
GraphQL エンドポイントを対象に街灯アーカイブスキーマに対してRESTを試してみてください。レスポンスはモックデータを使用し、Back4app アカウントは必要ありません。
このテンプレートと同じスキーマを使用します。
あなたのテクノロジーを選択
各カードを展開して、選択したスタックにPole、BulbType、BallastLogを統合する方法を確認してください。
Flutter ストリートライトアーカイブバックエンド
React ストリートライトアーカイブバックエンド
React ネイティブ ストリートライトアーカイブバックエンド
Next.js ストリートライトアーカイブバックエンド
JavaScript ストリートライトアーカイブバックエンド
Android ストリートライトアーカイブバックエンド
iOS ストリートライトアーカイブバックエンド
Vue ストリートライトアーカイブバックエンド
Angular ストリートライトアーカイブバックエンド
GraphQL ストリートライトアーカイブバックエンド
REST API ストリートライトアーカイブバックエンド
PHP ストリートライトアーカイブバックエンド
.NET ストリートライトアーカイブバックエンド
各テクノロジーで得られるもの
すべてのスタックは同じ街灯アーカイブスキーマとAPI契約を使用します。
統一されたポールアーカイブデータ構造
1つの一貫したスキーマでPole、BulbType、BallastLog、およびMaintenanceEntryを管理します。
現場作業員のためのバルブタイプルックアップ
ポールが開かれたときに、バルブ技術、ワット数、および寿命時間を表示します。
バラストとメンテナンス履歴
サービスノートを同じポールに添付して、フォローアップ作業が簡単に追跡できるようにします。
役割ベースのアーカイブワークフロー
許可とCloud Codeを使用して、コーディネーターのアクションを技術者のアクションから分離します。
REST/GraphQL アクセスをすべてのクライアントに提供
ダッシュボード、モバイルフォーム、およびレポーティングツールを同じアーカイブバックエンドに接続します。
街路灯アーカイブフレームワーク比較
すべてのサポートされている技術間でのセットアップ速度、SDKスタイル、およびAIサポートを比較します。
| フレームワーク | セットアップ時間 | アーカイブの利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | フィールドおよびオフィスのポールアーカイブアプリ用の単一のコードベース。 | 型指定SDK | 全体 | |
| 5分未満 | ポールの在庫とログ用の高速Webダッシュボード。 | 型指定SDK | 全体 | |
| 約3〜7分 | 検査とメンテナンス履歴のためのクロスプラットフォームモバイルアプリ。 | 型指定SDK | 全体 | |
| 迅速な(5分)セットアップ | コーディネーター用のサーバーレンダリングされたアーカイブポータル。 | 型付きSDK | 全体 | |
| 約3~5分 | ポール検索画面用の軽量ウェブ統合。 | 型付きSDK | 全体 | |
| 約5分 | 現場のクルーのためのネイティブAndroidアプリ。 | 型付きSDK | 全体 | |
| 5分未満 | 点検およびサービスノート用のネイティブiOSアプリ。 | 型指定SDK | 全体 | |
| 約3~7分 | アーカイブブラウジング用のReactウェブUI。 | 型指定SDK | 全体 | |
| 迅速な(5分)セットアップ | ポール管理のためのエンタープライズオペレーションコンソール。 | 型指定SDK | 全体 | |
| 2分未満 | ネストされたアーカイブクエリ用の柔軟な GraphQL API。 | GraphQL API | 全体 | |
| クイック(2分)設定 | サービスツールやダッシュボード用の REST API 統合。 | REST API | 全体 | |
| 約3分 | アーカイブポータル用のサーバーサイド PHP バックエンド。 | REST API | 全体 | |
| 約3〜7分 | .NETの運用システム用バックエンド。 | 型付きSDK | 全体 |
セットアップ時間は、このテンプレートスキーマを使用したプロジェクトのブートストラップから最初のPoleまたはMaintenanceEntryクエリまでの予想期間を示します。
よくある質問
このテンプレートを使用して街灯ポールアーカイブバックエンドを構築する際の一般的な質問について。