トレーニングログ
AIエージェントで構築
トレーニング出席ログバックエンド

トレーニング出席ログバックエンドテンプレート
トレーニング出席、スコア、証明書

生産準備が整ったトレーニング出席ログバックエンド が Back4app にあり、コースログ、試験スコア、証明書ストレージが含まれています。ERダイアグラム、データ辞書、JSONスキーマ、APIプレイグラウンド、および迅速なブータップのためのAIエージェントプロンプトを含みます。

トレーニングログの要点

このテンプレートは、コースログ、試験のスコア、証明書の保存を含むトレーニング出席ログバックエンドを提供し、コーディネーターがセッション、結果、および完了の証明を一箇所に保持できるようにします。

  1. コースログの追跡各TrainingCourseとAttendanceLogをモデル化し、インストラクターが誰がどのセッションに出席したかを記録できるようにします。
  2. 試験スコアのキャプチャExamScoreの値をリンクされたコースおよび研修生ポインタと共に保存し、迅速なレビューを可能にします。
  3. 証明書の保存証明書のファイルを正しい完了イベントおよび研修生プロファイルに添付しておきます。

トレーニング出席ログのバックエンドの概要

規制当局は、トレーニングの出席証拠が耐久性を持つことを期待しています:信頼できるほど不変で、プログラムを改善するために柔軟であること。解決策は運用上のものであり、動機付けのものではありません。Back4appの上にTrainingCourse、AttendanceLog、ExamScore、およびCertificateStorageをモデル化して、トレーニング出席管理を運用可能にします:承認、証拠、および例外が実際に作業が行われる場所でキャプチャされます。このスキーマは、User(ユーザー名、メール、パスワード)、TrainingCourse(コースコード、タイトル、セッション日、インストラクター)、AttendanceLog(受講者、トレーニングコース、ステータス、チェックイン時間)、ExamScore(受講者、トレーニングコース、スコア、合格)、およびCertificateStorage(受講者、トレーニングコース、ファイル、発行日)をカバーしており、認証と制御されたアクセスがすでに整っています。好みのフロントエンドを接続し、迅速に開始しましょう。

最適:

トレーニング出席システムコースログダッシュボード試験スコア追跡ツール証明書ストレージポータルオペレーションおよびフィールドトレーニングチームトレーニング製品のために BaaS を選択するチーム

トレーニング出席: バックエンドスナップショット

トレーニングは出席を助けますが、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エージェントプロンプト、クレジットカードは不要

技術スタック

このトレーニング出席バックエンドテンプレートに含まれているすべて。

フロントエンド
13以上の技術
バックエンド
Back4app
データベース
MongoDB
認証
組み込みの認証 + セッション
API
REST と GraphQL
リアルタイム
Live Queries

ER図

トレーニング出席バックエンドスキーマのエンティティ関係モデル。

図のソースを見る
Mermaid
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
    }

統合フロー

認証、コースログ、出席ログ、試験スコア、および証明書ストレージの典型的な実行フロー。

図のソースを表示
Mermaid
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

データ辞書

トレーニング出席スキーマの各クラスに対するフィールドレベルのリファレンス。

フィールドタイプ説明必須
objectIdStringAuto-generated unique identifier自動
usernameStringTrainer login name
emailStringTrainer email address
passwordStringHashed password (write-only)
fullNameStringTrainer display name
roleStringAccess role for the training workspace
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

8 のフィールドが Trainer にあります

セキュリティと権限

ACLとCLP戦略がユーザー、トレーニングコース、出席記録、試験スコア、証明書の保存をどのように保護するか。

ユーザーアカウントの境界

ユーザーのみが自分のプロフィールを更新または削除でき、他のユーザーはIDフィールドを変更できません。

コースとログの整合性

認可されたスタッフのみがTrainingCourse、AttendanceLog、ExamScore、およびCertificateStorageのエントリを作成または削除できます。

トレーニング証拠へのスコープ付きアクセス

マネージャー、コーディネーター、または指定された研修生がアクセスすべきコースログと証明書ファイルのみを表示できるようにリードを制限します。

スキーマ(JSON)

Back4appにコピーするか、実装リファレンスとして使用するための生のJSONスキーマ定義。

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 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アプリ;コース、出席ログ、試験スコア、証明書ストレージのフロントエンド。

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

これは技術のサフィックスなしの基本プロンプトです。生成されたフロントエンドスタックはその後に調整できます。

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

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クエリまでの予想時間を反映しています。

よくある質問

このテンプレートを使用してトレーニング出席ログバックエンドを構築する際の一般的な質問。

トレーニング出席リーダーは、政策の変化が体系的リスクになる前にどのようにキャッチしますか?
トレーニング出席プログラムは、トレーニング、証明、是正措置をどのように綺麗に収集しますか?
組織が成長するにつれて、トレーニング出席の権限を強化するための推奨パスは何ですか?
Flutterを使ってトレーニングコースと出席ログのクエリを実行するにはどうすればよいですか?
Next.js Server Actionsを使ってトレーニング出席アクセスを管理するにはどうすればよいですか?
React Nativeはトレーニングデータをオフラインでキャッシュできますか?
不正な証明書アクセスを防ぐにはどうすればよいですか?
Androidでトレーニングログを表示する最良の方法は何ですか?
証明書のストレージフローはどのようにエンドツーエンドで機能しますか?

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

Back4appテンプレートを使用して、トレーニング出席製品を迅速に出荷するチームに参加しましょう

G2 Users Love Us Badge

あなたのトレーニング出席ログアプリを構築する準備はできましたか?

数分でトレーニングログプロジェクトを開始できます。クレジットカードは必要ありません。

テクノロジーを選択