トレーニング出席ログバックエンドテンプレート
トレーニング出席、スコア、証明書
生産準備が整ったトレーニング出席ログバックエンド が Back4app にあり、コースログ、試験スコア、証明書ストレージが含まれています。ERダイアグラム、データ辞書、JSONスキーマ、APIプレイグラウンド、および迅速なブータップのためのAIエージェントプロンプトを含みます。
トレーニングログの要点
このテンプレートは、コースログ、試験のスコア、証明書の保存を含むトレーニング出席ログバックエンドを提供し、コーディネーターがセッション、結果、および完了の証明を一箇所に保持できるようにします。
- コースログの追跡 — 各TrainingCourseとAttendanceLogをモデル化し、インストラクターが誰がどのセッションに出席したかを記録できるようにします。
- 試験スコアのキャプチャ — ExamScoreの値をリンクされたコースおよび研修生ポインタと共に保存し、迅速なレビューを可能にします。
- 証明書の保存 — 証明書のファイルを正しい完了イベントおよび研修生プロファイルに添付しておきます。
トレーニング出席ログのバックエンドの概要
規制当局は、トレーニングの出席証拠が耐久性を持つことを期待しています:信頼できるほど不変で、プログラムを改善するために柔軟であること。解決策は運用上のものであり、動機付けのものではありません。Back4appの上にTrainingCourse、AttendanceLog、ExamScore、およびCertificateStorageをモデル化して、トレーニング出席管理を運用可能にします:承認、証拠、および例外が実際に作業が行われる場所でキャプチャされます。このスキーマは、User(ユーザー名、メール、パスワード)、TrainingCourse(コースコード、タイトル、セッション日、インストラクター)、AttendanceLog(受講者、トレーニングコース、ステータス、チェックイン時間)、ExamScore(受講者、トレーニングコース、スコア、合格)、およびCertificateStorage(受講者、トレーニングコース、ファイル、発行日)をカバーしており、認証と制御されたアクセスがすでに整っています。好みのフロントエンドを接続し、迅速に開始しましょう。
最適:
トレーニング出席: バックエンドスナップショット
トレーニングは出席を助けますが、3つのツールと4つの命名規則にまたがるデータを補うことはできません。
ハブは TrainingCourse、AttendanceLog、および ExamScore を強調表示し、クライアントスタックを同じエンティティ、フィールド、およびリレーションシップに対して比較できるようにします。
コアトレーニングログ機能
このハブ内のすべてのテクノロジーカードは、TrainingCourse、AttendanceLog、ExamScore、およびCertificateStorageを使用して、同じ研修出席バックエンドスキーマを利用します。
トレーニングコース管理
TrainingCourseはcourseCode、タイトル、sessionDate、およびインストラクターを保存します。
出席ログ
AttendanceLog は、研修生、トレーニングコース、ステータス、および登録確認日時をキャプチャします。
試験スコア追跡
ExamScore は、研修生、トレーニングコース、スコア、および合格をリンクします。
証明書ストレージ
CertificateStorageは、研修生、研修コース、ファイル、および発行日を保持します。
なぜ Back4app でトレーニング出席ログバックエンドを構築するのか?
Back4app はトレーニングコース、出席ログ、試験スコア、および証明書ストレージのプリミティブを提供し、コーディネーターがバックエンドの配管ではなくセッションの提供に集中できるようにします。
- •コースと出席記録: TrainingCourse と AttendanceLog クラスを使用すると、sessionDate、courseCode、checkedInAt によって出席を追跡できます。
- •トレーニングイベントに関連付けられたスコア: ExamScoreは各スコアを受講者とTrainingCourseにリンクさせ、合格/不合格のレビューをコース記録に基づいて保持します。
- •実際の取得パスを持つ証明書: CertificateStorageは発行日とファイルフィールドを保持し、修了証明が正しいトレーニングの成果に付随します。
すべてのプラットフォームで1つのバックエンド契約からトレーニングログ、試験スコア、および証明書ストレージを実行します。
主な利点
セッションを記録し、スコアを確認し、証明書を保存するための設定作業が少ない研修出席バックエンド。
迅速なコースログの展開
セッションテーブルや関連をゼロから作成するのではなく、TrainingCourseから始めます。
出席およびスコアの追跡可能性
AttendanceLogとExamScoreのエントリーを同じ研修生および研修コースフィールドにリンクして明確なフォローアップを行います。
コースによる証明書取得
証明書ストレージファイルをコース修了に関連付けて、運用スタッフが証明を迅速に見つけられるようにします。
トレーニングデータへの制御されたアクセス
ACL/CLPを使用して、権限のあるスタッフだけが出席ログ、試験スコア、または証明書ファイルを更新できるようにします。
フィールドユーザーとオフィスユーザーのための単一モデル
TrainingCourse、AttendanceLog、ExamScore、CertificateStorageを別々のツールではなく、1つのAPI契約を通じて共有します。
AI支援のブートストラップ
1つの構造化されたプロンプトでスキーマ、権限、統合ガイダンスを生成します。
トレーニング出席ログアプリのローンチ準備はできましたか?
Back4app AIエージェントに、トレーニング出席バックエンドをスキャフォールドさせ、1つのプロンプトからコースログ、試験スコア、および証明書ストレージを生成させましょう。
無料で始める — 月に50件のAIエージェントプロンプト、クレジットカードは不要
技術スタック
このトレーニング出席バックエンドテンプレートに含まれているすべて。
ER図
トレーニング出席バックエンドスキーマのエンティティ関係モデル。
ユーザー、トレーニングコース、出席ログ、試験スコア、証明書ストレージをカバーするスキーマ。
図のソースを見る
erDiagram
Trainer ||--o{ TrainingCourse : "trainer"
Trainer ||--o{ AttendanceLog : "markedBy"
Trainer ||--o{ ExamScore : "recordedBy"
Trainer ||--o{ Certificate : "issuedBy"
TrainingCourse ||--o{ AttendanceLog : "course"
TrainingCourse ||--o{ ExamScore : "course"
TrainingCourse ||--o{ Certificate : "course"
Trainer {
String objectId PK
String username
String email
String password
String fullName
String role
Date createdAt
Date updatedAt
}
TrainingCourse {
String objectId PK
String courseCode
String title
Date scheduledDate
String location
String trainerId FK
Date createdAt
Date updatedAt
}
AttendanceLog {
String objectId PK
String courseId FK
String traineeName
Date attendanceDate
String status
String notes
String markedById FK
Date createdAt
Date updatedAt
}
ExamScore {
String objectId PK
String courseId FK
String traineeName
Date examDate
Number score
Boolean passed
String recordedById FK
Date createdAt
Date updatedAt
}
Certificate {
String objectId PK
String courseId FK
String traineeName
String certificateNumber
Date issueDate
String fileUrl
String issuedById FK
Date createdAt
Date updatedAt
}
統合フロー
認証、コースログ、出席ログ、試験スコア、および証明書ストレージの典型的な実行フロー。
図のソースを表示
sequenceDiagram
participant User
participant App as Training Attendance Log App
participant Back4app as Back4app Cloud
User->>App: Sign in as trainer or coordinator
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open today's training course list
App->>Back4app: GET /classes/TrainingCourse?order=scheduledDate
Back4app-->>App: TrainingCourse rows
User->>App: Mark attendance in the course log
App->>Back4app: POST /classes/AttendanceLog
Back4app-->>App: AttendanceLog objectId
User->>App: Save exam score and attach certificate file
App->>Back4app: POST /classes/ExamScore
App->>Back4app: POST /classes/Certificate
Back4app-->>App: ExamScore and Certificate records
App->>Back4app: Query live updates for course attendance
Back4app-->>App: AttendanceLog changesデータ辞書
トレーニング出席スキーマの各クラスに対するフィールドレベルのリファレンス。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | Trainer login name | |
| String | Trainer email address | ||
| password | String | Hashed password (write-only) | |
| fullName | String | Trainer display name | |
| role | String | Access role for the training workspace | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
8 のフィールドが Trainer にあります
セキュリティと権限
ACLとCLP戦略がユーザー、トレーニングコース、出席記録、試験スコア、証明書の保存をどのように保護するか。
ユーザーアカウントの境界
ユーザーのみが自分のプロフィールを更新または削除でき、他のユーザーはIDフィールドを変更できません。
コースとログの整合性
認可されたスタッフのみがTrainingCourse、AttendanceLog、ExamScore、およびCertificateStorageのエントリを作成または削除できます。
トレーニング証拠へのスコープ付きアクセス
マネージャー、コーディネーター、または指定された研修生がアクセスすべきコースログと証明書ファイルのみを表示できるようにリードを制限します。
スキーマ(JSON)
Back4appにコピーするか、実装リファレンスとして使用するための生のJSONスキーマ定義。
{
"classes": [
{
"className": "Trainer",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"fullName": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "TrainingCourse",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"courseCode": {
"type": "String",
"required": true
},
"title": {
"type": "String",
"required": true
},
"scheduledDate": {
"type": "Date",
"required": true
},
"location": {
"type": "String",
"required": true
},
"trainer": {
"type": "Pointer",
"required": true,
"targetClass": "Trainer"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AttendanceLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"course": {
"type": "Pointer",
"required": true,
"targetClass": "TrainingCourse"
},
"traineeName": {
"type": "String",
"required": true
},
"attendanceDate": {
"type": "Date",
"required": true
},
"status": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"markedBy": {
"type": "Pointer",
"required": true,
"targetClass": "Trainer"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ExamScore",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"course": {
"type": "Pointer",
"required": true,
"targetClass": "TrainingCourse"
},
"traineeName": {
"type": "String",
"required": true
},
"examDate": {
"type": "Date",
"required": true
},
"score": {
"type": "Number",
"required": true
},
"passed": {
"type": "Boolean",
"required": true
},
"recordedBy": {
"type": "Pointer",
"required": true,
"targetClass": "Trainer"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Certificate",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"course": {
"type": "Pointer",
"required": true,
"targetClass": "TrainingCourse"
},
"traineeName": {
"type": "String",
"required": true
},
"certificateNumber": {
"type": "String",
"required": true
},
"issueDate": {
"type": "Date",
"required": true
},
"fileUrl": {
"type": "String",
"required": true
},
"issuedBy": {
"type": "Pointer",
"required": true,
"targetClass": "Trainer"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AIエージェントで構築
このテンプレートを使って、フロントエンド、バックエンド、認証、トレーニングコース、出席ログ、試験スコア、証明書ストレージのフローを含む、実際のトレーニング出席アプリをBack4app AIエージェントで生成します。
この正確なスキーマと動作でBack4app上にトレーニング出席ログアプリのバックエンドを作成します。 スキーマ: 1. ユーザー(Back4appの組み込みを使用):ユーザー名、メール、パスワード;objectId、createdAt、updatedAt(システム)。 2. トレーニングコース:courseCode(String、必須)、タイトル(String、必須)、sessionDate(Date、必須)、インストラクター(ユーザーへのポインター、必須);objectId、createdAt、updatedAt(システム)。 3. 出席ログ:研修生(ユーザーへのポインター、必須)、トレーニングコース(トレーニングコースへのポインター、必須)、ステータス(String、必須)、checkedInAt(Date);objectId、createdAt、updatedAt(システム)。 4. 試験スコア:研修生(ユーザーへのポインター、必須)、トレーニングコース(トレーニングコースへのポインター、必須)、スコア(Number、必須)、合格(Boolean、必須);objectId、createdAt、updatedAt(システム)。 5. 証明書ストレージ:研修生(ユーザーへのポインター、必須)、トレーニングコース(トレーニングコースへのポインター、必須)、ファイル(File、必須)、issuedAt(Date、必須);objectId、createdAt、updatedAt(システム)。 セキュリティ: - ユーザーのみが自分のプロフィールを更新/削除できます。認可されたスタッフのみがトレーニング記録を作成/削除できます。バリデーションにはクラウドコードを使用してください。 認証: - サインアップ、ログイン、ログアウト。 動作: - コースのリスト、出席ログの作成、試験スコアの提出、および証明書の保存。 納品: - スキーマ、ACL、CLP付きのBack4appアプリ;コース、出席ログ、試験スコア、証明書ストレージのフロントエンド。
下のボタンを押して、このテンプレートプロンプトが事前に入力された状態でエージェントを開いてください。
これは技術のサフィックスなしの基本プロンプトです。生成されたフロントエンドスタックはその後に調整できます。
APIプレイグラウンド
トレーニング出席スキーマに対してRESTおよびGraphQLエンドポイントを試してください。応答にはモックデータが使用され、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用します。
テクノロジーを選択
各カードを展開して、選択したスタックとTrainingCourse、AttendanceLog、およびExamScoreを統合する方法を確認してください。
Flutter トレーニング出席バックエンド
React トレーニング出席バックエンド
React ネイティブ トレーニング出席バックエンド
Next.js トレーニング出席バックエンド
JavaScript トレーニング出席バックエンド
Android トレーニング出席バックエンド
iOS トレーニング出席バックエンド
Vue トレーニング出席バックエンド
Angular トレーニング出席バックエンド
GraphQL トレーニング出席バックエンド
REST API トレーニング出席バックエンド
PHP トレーニング出席バックエンド
.NET トレーニング出席バックエンド
すべての技術で得られるもの
すべてのスタックは、同じトレーニング出席バックエンドスキーマとAPI契約を使用します。
統一されたトレーニングログデータ構造
1つのスキーマでトレーニングコース、出席ログ、試験スコア、証明書の保存を管理します。
オペレーションチームのためのコースログ
各セッションに誰が参加したか、どのコース記録がまだオープンであるかを追跡します。
マネージャー向けの試験スコアレビュー
TrainingCourseと受講者ごとにスコアを保存し、フォローアップが正しいセッションに結びつくようにします。
完了証明のための証明書保管
完了ファイルを正しいコース成果と受講者レコードに添付します。
トレーニングログフレームワークの比較
すべてのサポートされている技術におけるセットアップ速度、SDKスタイル、およびAIサポートを比較します。
| フレームワーク | セットアップ時間 | トレーニングログの利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルとウェブのトレーニング出席用の単一コードベース。 | 入力されたSDK | フル | |
| 5分未満 | コースログと試験スコアのための高速ウェブダッシュボード。 | 型付きSDK | フル | |
| 約3〜7分 | 現場出席ログ用のクロスプラットフォームモバイルアプリ。 | 型付きSDK | フル | |
| 迅速(5分)セットアップ | トレーニングマネージャー用のサーバーレンダリングポータル。 | 型付きSDK | フル | |
| 約3〜5分 | トレーニングログのための軽量ウェブ統合。 | 型付きSDK | フル | |
| 約5分 | 出席確認のためのネイティブAndroidアプリ。 | 型付きSDK | フル | |
| 5分未満 | スコアレビューと証明書のためのネイティブiOSアプリ。 | 型付きSDK | フル | |
| 約3〜7分 | Reactのトレーニング操作用のWeb UI。 | 入力されたSDK | フル | |
| 迅速な(5分)セットアップ | コーディネーターのワークフロー用のエンタープライズWebアプリ。 | 入力されたSDK | フル | |
| 2分未満 | トレーニング記録用の柔軟なGraphQL API。 | GraphQL API | フル | |
| 迅速な(2分)セットアップ | REST APIのトレーニング出席統合。 | REST API | フル | |
| ~3分 | トレーニングログのためのサーバーサイドPHPバックエンド。 | REST API | フル | |
| ~3〜7分 | 出席、スコア、および証明書のための.NETバックエンド。 | 型付けされたSDK | フル |
セットアップ時間は、プロジェクトのブートストラップからこのテンプレートスキーマを使用した最初のTrainingCourseまたはAttendanceLogクエリまでの予想時間を反映しています。
よくある質問
このテンプレートを使用してトレーニング出席ログバックエンドを構築する際の一般的な質問。