蒸留所樽在庫バックエンドテンプレート
プルーフログ、エンジェルシェアトラッキング、樽の履歴
Back4app 上の蒸留所樽在庫バックエンドは、プルーフログ、エンジェルシェアトラッキング、樽の履歴が含まれています。ERダイアグラム、データ辞書、JSONスキーマ、APIプレイグラウンド、迅速なブートストラップのためのAIエージェントプロンプトが含まれています。
主なポイント
このテンプレートは、証明ログ、天使の分け前追跡、および樽の履歴を持つ蒸留所樽在庫バックエンドを提供するため、マネージャーや現場スタッフが樽記録を整合させることができます。
- 監査可能な証明ログ — 特定の樽に結び付けられた読み取り時間、証明値、およびノートテキストを持つすべてのCaskProofLogを保存します。
- 樽ごとの天使の分け前追跡 — 樽ごとのAngelShareReadingエントリーをキャッチし、収縮が時間とともに可視化されるようにします。
- 一つのビューでの樽履歴 — 樽の移動、移転、検査にBarrelHistoryイベントを接続して、クリーンなタイムラインを作成します。
- ロール認識アクセス — ACLとCLPルールを使用して樽記録を保護しながら、コーディネーターと現場スタッフが適切なクラスを更新できるようにします。
蒸留所樽在庫テンプレートとは?
蒸留所の補充がReactの場合、常に遅れて注文しています。構造化された使用ログは、棚が空になる前に需要を可視化します。小さな遅れが重なります。このテンプレートは、デフォルトで追跡可能性が必要な蒸留所チームのために、組み込みの認証とBack4appに対するリアルタイムクエリを備えた蒸留所、樽、樽証明ログ、バレル履歴、エンジェルシェア読み取りをモデル化しています。スキーマは、ユーザー(ユーザー名、メール、パスワード)、蒸留所(名前、場所、タイムゾーン)、樽(蒸留所、樽番号、スピリットタイプ、充填日、充填証明、状態)、樽証明ログ(樽、記録者、証明値、読み取り日時、メモ)、バレル履歴(樽、イベントタイプ、イベント日時、発生場所、移動場所、メモ)、エンジェルシェア読み取り(樽、読み取り日時、蒸発ガロン、推定損失パーセント、天候メモ)を含み、認証と監査対応のトラッキングが組み込まれています。好みのフロントエンドを接続して、迅速に出荷しましょう。
最適:
蒸留所バックエンドの概要
信頼できる蒸留所の運営は、先週の火曜日に何が起こったかを説明できます。それが宝探しを必要とする場合、そのシステムはボトルネックです。
まず、Distillery、Cask、およびCaskProofLogをレビューし、次にSDK特有のノートや統合パターンを見るためにスタックカードを開いてください。
コア蒸留所カスク機能
このハブ内のすべての技術カードは、蒸留所、樽、樽証明ログ、樽履歴、およびAngelShareReadingを使用して同じ蒸留所樽在庫スキーマを使用しています。
蒸留所プロファイル管理
蒸留所は各サイトの名前、場所、タイムゾーンを保存します。
樽の登録とステータス
樽は蒸留所、樽番号、スピリットタイプ、充填日、充填度数、そしてステータスをリンクします。
度数ログキャプチャ
CaskProofLogは樽、ログ作成者、度数値、取得時、メモを記録します。
エンジェルシェアの監視
AngelShareReadingは、蒸発ガロン、推定損失パーセント、天候ノートを追跡します。
樽履歴のタイムライン
BarrelHistoryは、樽、イベントタイプ、イベント日時、発生場所、および移動先をリンクします。
Back4appで蒸留所の樽在庫バックエンドをなぜ構築するのか?
Back4appは、カスク、プルーフ、および履歴のプリミティブを提供するため、チームはカスタムAPIの維持ではなく、在庫の正確さに集中できます。
- •カスクと証明構造: Caskクラスは充填証明、ステータス、および蒸留所のリンクを固定し、CaskProofLogは各読み取りを保存します。
- •エンジェルシェアの可視性: AngelShareReadingは、各樽記録に付随する蒸発および損失の推定、天候のメモを保持します。
- •リアルタイム + APIの柔軟性: すべてのクライアントのためにRESTとGraphQLを利用可能にしながら、樽の履歴変更にLive Queriesを使用します。
すべてのプラットフォームで1つのバックエンド契約を介してカスク在庫ワークフローを迅速に構築および反復します。
コアの利点
証明、損失、履歴データを簡単に照会・確認できる蒸留所のバックエンド。
迅速な樽設定
すべてのフィールドをゼロから設計するのではなく、完全な蒸留所と樽のスキーマから始めます。
可読性のある証明トレイル
CaskProofLogレコードを使用して、誰が証明を記録したか、いつ記録したか、どの値を入力したかを表示します。
常に可視の損失追跡
AngelShareReading値を保存し、蒸発と推定損失が各樽に結び付けられるようにします。
明確な樽の動きの履歴
BarrelHistoryを使用して、各樽の移動、転送、および検査イベントを保存します。
クエリ可能な在庫データ
バレル番号、ステータス、および読み取り日でフィルタリングして、スプレッドシートに蒸留所のワークフローを平坦化することなく。
AIブートストラップワークフロー
1つの構造化されたプロンプトで迅速にバックエンドの骨組みと統合ガイダンスを生成します。
在庫アプリを立ち上げる準備はできていますか?
Back4app AIエージェントに蒸留所のバレル在庫バックエンドを構築させ、1つのプロンプトから証明書ログ、エンジェルシェア、およびバレル履歴のフローを生成します。
スタートは無料 — 50 AIエージェントのプロンプト/月、クレジットカードは不要
技術スタック
このディスティラリー樽在庫バックエンドテンプレートに含まれるすべて。
ER図
蒸留所の樽在庫スキーマのエンティティ関係モデル。
蒸留所、樽、証明ログ、樽の履歴、エンジェルシェアの読み取りを網羅したスキーマ。
図のソースを表示
erDiagram
User ||--o{ Cask : "assignedTo"
User ||--o{ ProofLog : "loggedBy"
User ||--o{ BarrelHistory : "recordedBy"
User ||--o{ AngelShareEntry : "loggedBy"
Cask ||--o{ ProofLog : "cask"
Cask ||--o{ BarrelHistory : "cask"
Cask ||--o{ AngelShareEntry : "cask"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Cask {
String objectId PK
String caskCode
String distillateType
Date fillDate
Number fillProof
String location
String status
String assignedToId FK
Date createdAt
Date updatedAt
}
ProofLog {
String objectId PK
String caskId FK
String loggedById FK
Date sampleDate
Number sampleProof
Number volumeGallons
String notes
Date createdAt
Date updatedAt
}
BarrelHistory {
String objectId PK
String caskId FK
String eventType
Date eventDate
String recordedById FK
String fromLocation
String toLocation
String details
Date createdAt
Date updatedAt
}
AngelShareEntry {
String objectId PK
String caskId FK
String loggedById FK
Date measuredOn
Number expectedGallons
Number actualGallons
Number lossGallons
String environment
Date createdAt
Date updatedAt
}
統合フロー
認証、樽の検索、証明の記録、樽の履歴の更新、エンジェルシェアの読み取りの典型的な実行フロー。
図のソースを表示
sequenceDiagram
participant User
participant App as Distillery Cask Inventory App
participant Back4app as Back4app Cloud
User->>App: Sign in to the inventory console
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Review cask list
App->>Back4app: GET /classes/Cask?include=assignedTo&order=-updatedAt
Back4app-->>App: Cask records
User->>App: Add a proof reading
App->>Back4app: POST /classes/ProofLog
Back4app-->>App: ProofLog objectId
User->>App: Record angel's share and barrel movement
App->>Back4app: POST /classes/AngelShareEntry
App->>Back4app: POST /classes/BarrelHistory
Back4app-->>App: Updated cask history
App->>Back4app: Live query for cask status changes
Back4app-->>App: Change eventデータ辞書
蒸留所樽スキーマ内の各クラスに対するフルフィールドレベルのリファレンス。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| 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., manager, coordinator, field_staff) | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7 フィールド User
セキュリティおよび権限
ACL と CLP 戦略が樽、証明ログ、樽の履歴、およびエンジェルシェアの読み取りをどのように保護するか。
ユーザーの所有権ルール
割り当てられたスタッフユーザーのみが自分のプロフィールを更新できます; 身元記録は樽の操作とは別に保持されます。
カスク記録の整合性
承認されたロールのみがカスク記録を作成または閉じ、監査安全な履歴エントリを追加できるようにCloud Codeを使用します。
スコープログアクセス
マネージャーが蒸留所全体のデータを確認できるように読み取りと書き込みを制限し、現場スタッフは自分に割り当てられたカスクのみを扱います。
スキーマ(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": "Cask",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"caskCode": {
"type": "String",
"required": true
},
"distillateType": {
"type": "String",
"required": true
},
"fillDate": {
"type": "Date",
"required": true
},
"fillProof": {
"type": "Number",
"required": true
},
"location": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"assignedTo": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ProofLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"cask": {
"type": "Pointer",
"required": true,
"targetClass": "Cask"
},
"loggedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"sampleDate": {
"type": "Date",
"required": true
},
"sampleProof": {
"type": "Number",
"required": true
},
"volumeGallons": {
"type": "Number",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "BarrelHistory",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"cask": {
"type": "Pointer",
"required": true,
"targetClass": "Cask"
},
"eventType": {
"type": "String",
"required": true
},
"eventDate": {
"type": "Date",
"required": true
},
"recordedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"fromLocation": {
"type": "String",
"required": false
},
"toLocation": {
"type": "String",
"required": false
},
"details": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AngelShareEntry",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"cask": {
"type": "Pointer",
"required": true,
"targetClass": "Cask"
},
"loggedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"measuredOn": {
"type": "Date",
"required": true
},
"expectedGallons": {
"type": "Number",
"required": true
},
"actualGallons": {
"type": "Number",
"required": true
},
"lossGallons": {
"type": "Number",
"required": true
},
"environment": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AIエージェントで構築
Back4app AIエージェントを使用して、このテンプレートから実際の蒸留所カスク在庫アプリを生成します。フロントエンド、バックエンド、認証、証明書ログ、樽の履歴、エンジェルシェアフローを含みます。
Back4app上にこの正確なスキーマと動作で蒸留所樽在庫アプリバックエンドを作成します。 スキーマ: 1. ユーザー(Back4app 内蔵使用):ユーザー名、メール、パスワード;objectId、createdAt、updatedAt(システム)。 2. 蒸留所:名前(文字列、必須)、場所(文字列、必須)、タイムゾーン(文字列、必須);objectId、createdAt、updatedAt(システム)。 3. 樽:蒸留所(蒸留所へのポインタ、必須)、樽番号(文字列、必須、ユニーク)、精神タイプ(文字列、必須)、充填日(日時、必須)、充填証明(数字、必須)、ステータス(文字列、必須);objectId、createdAt、updatedAt(システム)。 4. 樽証明ログ:樽(樽へのポインタ、必須)、記録者(ユーザーへのポインタ、必須)、証明値(数字、必須)、読取日時(日時、必須)、ノート(文字列);objectId、createdAt、updatedAt(システム)。 5. 樽履歴:樽(樽へのポインタ、必須)、イベントタイプ(文字列、必須)、イベント日時(日時、必須)、出発地(文字列)、到着地(文字列)、ノート(文字列);objectId、createdAt、updatedAt(システム)。 6. エンジェルシェア読取:樽(樽へのポインタ、必須)、読取日時(日時、必須)、蒸発ガロン(数字、必須)、推定損失率(数字、必須)、天候ノート(文字列);objectId、createdAt、updatedAt(システム)。 セキュリティ: - 割り当てられたスタッフユーザーのみが自分のプロフィールを更新できます。クラウドコードとACL/CLPを使用して樽記録と監査フィールドを保護してください。 認証: - サインアップ、ログイン、ログアウト。 動作: - 樽をリスト、証明ログを追加、エンジェルシェア読取を記録、樽履歴イベントを追加します。 配信: - スキーマ、ACL、CLPを持つBack4appアプリ;蒸留所プロフィール、樽在庫、証明ログ、樽履歴、エンジェルシェア読取のフロントエンド。
以下のボタンを押して、このテンプレートプロンプトで事前に入力されたエージェントを開いてください。
これは、テクノロジーのサフィックスなしの基本プロンプトです。その後、生成されたフロントエンドスタックを適応できます。
APIプレイグラウンド
蒸留所の樽在庫スキーマに対して、RESTとGraphQLエンドポイントを試してください。レスポンスにはモックデータが使用され、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用しています。
技術を選択してください
各カードを展開して、選択したスタックとDistillery、Cask、CaskProofLogを統合する方法を確認してください。
Flutter蒸留所の樽バックエンド
React蒸留所の樽バックエンド
React ネイティブ蒸留所の樽バックエンド
Next.js蒸留所の樽バックエンド
JavaScript蒸留所の樽バックエンド
Android蒸留所の樽バックエンド
iOS蒸留所の樽バックエンド
Vue蒸留所の樽バックエンド
Angular蒸留所の樽バックエンド
GraphQL蒸留所の樽バックエンド
REST API蒸留所の樽バックエンド
PHP蒸留所の樽バックエンド
.NET蒸留所の樽バックエンド
各技術で得られるもの
すべてのスタックは同じ蒸留所カスク在庫スキーマとAPI契約を使用します。
統一された蒸留所データ構造
カスク、証明書ログ、樽の履歴、エンジェルシェアの読み取り値を1つのスキーマに保持します。
蒸留所用の証明書ログキャプチャ
各CaskProofLogのproofValueとreadingAtを記録して、新しいバックエンドを作成しない。
蒸留所の天使の分け前の追跡
各樽の経過時間に対してevaporationGallonsとestimatedLossPercentを測定する。
蒸留所の樽の履歴
各樽の動きについてeventType、fromLocation、およびtoLocationを追跡する。
蒸留所用のREST/GraphQL APIs
柔軟なAPIを通じて在庫画面、監査、およびオペレーションツールを統合する。
蒸留所のための拡張可能なアーキテクチャ
モデルを破棄することなく、後で樽のメモ、テイスティングログ、または倉庫クラスを追加する。
蒸留所樽フレームワーク比較
サポートされているすべての技術にわたるセットアップ速度、SDKスタイル、AIサポートを比較します。
| フレームワーク | セットアップ時間 | 蒸留所の利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルとウェブ用の蒸留所樽在庫の単一コードベース。 | タイプ済みSDK | フル | |
| 5分未満 | 樽在庫のための高速ウェブダッシュボード。 | タイプ済みSDK | フル | |
| 約3~7分 | 証明書ログと樽の履歴のためのクロスプラットフォームモバイルアプリ。 | タイプ済みSDK | フル | |
| 迅速な(5分)セットアップ | 蒸留所業務のためのサーバーレンダリングウェブアプリ。 | タイプされたSDK | フル | |
| 約3~5分 | 樽追跡のための軽量ウェブ統合。 | タイプされたSDK | フル | |
| 約5分 | 倉庫の証明チェック用のネイティブAndroidアプリ。 | タイプされたSDK | フル | |
| 5分未満 | セラースタッフ向けのネイティブiPhoneアプリ。 | タイプされた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 | フル |
セットアップ時間は、このテンプレートスキーマを使用してプロジェクトのブートストラップから最初の樽または証明ログクエリまでの期待される期間を反映しています。
よくある質問
このテンプレートを使用して蒸留所の樽在庫バックエンドを構築する際の一般的な質問。