Registro Formazione
Crea con Agente AI
Backend Registro Presenze Formazione

Modello Backend Registro Presenze Formazione
Presenze Formazione, Punteggi e Certificati

Un backend di registro presenze formazione pronto per la produzione su Back4app con registri corsi, punteggi esami e archiviazione certificati. Include diagramma ER, dizionario dei dati, schema JSON, playground API e un prompt AI Agent per un rapido bootstrap.

Risultati del Registro di Allenamento

Questo modello ti fornisce un backend per il registro di presenza degli allenamenti con registri di corsi, punteggi degli esami e archiviazione dei certificati, così i coordinatori possono tenere sessioni, risultati e prove di completamento in un unico posto.

  1. Monitoraggio del registro dei corsiModella ogni voce TrainingCourse e AttendanceLog in modo che gli istruttori possano registrare chi ha partecipato a quale sessione.
  2. Registrazione dei punteggi degli esamiArchivia i valori ExamScore con puntatori ai corsi e ai tirocinanti collegati per una rapida revisione.
  3. Archiviazione dei certificatiMantieni i file CertificateStorage attaccati all'evento di completamento corretto e al profilo del tirocinante.

Panoramica del backend del registro di presenza per la formazione

I regolatori si aspettano che l'evidenza della presenza alla formazione sia durevole: sufficientemente immutabile da essere affidabile, abbastanza flessibile da migliorare il programma nel tempo. La soluzione è operativa, non motivazionale. Modella TrainingCourse, AttendanceLog, ExamScore e CertificateStorage su Back4app per rendere i controlli di presenza alla formazione operativi: approvazioni, evidenze ed eccezioni catturate dove il lavoro avviene effettivamente. Lo schema copre User (username, email, password), TrainingCourse (courseCode, title, sessionDate, instructor), AttendanceLog (trainee, trainingCourse, status, checkedInAt), ExamScore (trainee, trainingCourse, score, passed) e CertificateStorage (trainee, trainingCourse, file, issuedAt) con autenticazione e accesso controllato già in atto. Collega il tuo frontend preferito e lancia più velocemente.

Ideale per:

Sistemi di registrazione della presenza per la formazioneDashboard dei registri dei corsiStrumenti di tracciamento dei punteggi degli esamiPortali di archiviazione dei certificatiTeam operativi e di formazione sul campoI team selezionano BaaS per i prodotti di formazione

Presenza al Training: istantanea del backend

La formazione aiuta nella presenza al training, ma non può compensare i dati che si dividono tra tre strumenti e quattro convenzioni di naming.

L'hub evidenzia TrainingCourse, AttendanceLog e ExamScore così puoi confrontare gli stack client contro le stesse entità, campi e relazioni.

Funzionalità principali del registro di formazione

Ogni scheda tecnologica in questo hub utilizza lo stesso schema backend di registrazione della presenza con TrainingCourse, AttendanceLog, ExamScore e CertificateStorage.

Gestione del corso di formazione

TrainingCourse memorizza courseCode, titolo, sessionDate e istruttore.

Registrazione presenza

AttendanceLog cattura il tirocinante, il corso di formazione, lo stato e il checkedInAt.

Tracciamento dei punteggi d'esame

ExamScore collega il tirocinante, il corso di formazione, il punteggio e superato.

Archiviazione dei certificati

CertificateStorage memorizza tirocinante, trainingCourse, file e issuedAt.

Perché costruire il tuo backend per la registrazione della presenza al training con Back4app?

Back4app ti offre primitive per corsi di formazione, registrazione delle presenze, punteggi degli esami e archiviazione dei certificati in modo che i coordinatori possano concentrarsi sulla consegna delle sessioni piuttosto che sulla gestione del backend.

  • Registri dei corsi e delle presenze: Le classi TrainingCourse e AttendanceLog ti permettono di tracciare le presenze per sessionDate, courseCode e checkedInAt.
  • Risultati legati agli eventi di formazione: ExamScore collega ogni punteggio a untrainee e TrainingCourse, che tiene revisioni di pass/fail ancorate al record del corso.
  • Certificati con percorsi di recupero reali: CertificateStorage contiene i campi issuedAt e file affinché la prova di completamento rimanga attaccata al giusto risultato della formazione.

Esegui log di formazione, punteggi degli esami e archiviazione dei certificati da un contratto backend su ogni piattaforma.

Vantaggi principali

Un backend di registrazione della presenza che aiuta i team a registrare le sessioni, rivedere i punteggi e archiviare i certificati con meno lavoro di configurazione.

Implementazione rapida del registro dei corsi

Inizia da TrainingCourse anziché creare tabelle di sessione e relazioni da zero.

Tracciabilità della presenza e dei punteggi

Collega le voci di AttendanceLog e ExamScore ai campi tirocinante e trainingCourse per un chiaro follow-up.

Recupero del certificato per corso

Mantieni i file di CertificateStorage legati al completamento del corso in modo che il personale operativo possa trovare rapidamente la prova.

Accesso controllato ai dati di formazione

Utilizza ACL/CLP in modo che solo il personale autorizzato possa aggiornare i log di presenza, i risultati degli esami o i file dei certificati.

Modello unico per utenti sul campo e in ufficio

Condividi TrainingCourse, AttendanceLog, ExamScore e CertificateStorage attraverso un unico contratto API invece di strumenti separati.

Bootstrap assistito da AI

Genera schema, permessi e linee guida per l'integrazione con un'unica richiesta strutturata.

Pronto a lanciare la tua app di log di presenza per la formazione?

Lascia che l'agente AI di Back4app crei il tuo backend per la presenza in formazione e generi registri dei corsi, punteggi degli esami e archiviazione dei certificati da un unico prompt.

Gratuito per iniziare — 50 prompt dell'agente AI/mese, senza carta di credito necessaria

Stack Tecnico

Tutto incluso in questo modello di backend per la presenza in formazione.

Frontend
13+ tecnologie
Backend
Back4app
Database
MongoDB
Autenticazione
Autenticazione integrata + sessioni
API
REST e GraphQL
In tempo reale
Live Queries

Diagramma ER

Modello di relazione tra entità per lo schema del backend della registrazione delle presenze.

Visualizza sorgente del diagramma
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
    }

Flusso di Integrazione

Flusso di runtime tipico per l'autenticazione, i registri dei corsi, la registrazione delle presenze, i punteggi degli esami e l'archiviazione dei certificati.

Visualizza sorgente del diagramma
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

Glossario dei dati

Riferimento a livello di campo per ogni classe nello schema delle presenze di formazione.

CampoTipoDescrizioneRichiesto
objectIdStringAuto-generated unique identifierAutomatico
usernameStringTrainer login name
emailStringTrainer email address
passwordStringHashed password (write-only)
fullNameStringTrainer display name
roleStringAccess role for the training workspace
createdAtDateAuto-generated creation timestampAutomatico
updatedAtDateAuto-generated last-update timestampAutomatico

8 campi in Trainer

Sicurezza e Permessi

Come la strategia ACL e CLP protegge utenti, corsi di formazione, registri di presenza, punteggi degli esami e archiviazione dei certificati.

Limiti dell'account utente

Solo l'utente può aggiornare o eliminare il proprio profilo; altri utenti non possono modificare i campi di identità.

Integrità del corso e del registro

Solo il personale autorizzato può creare o eliminare voci di TrainingCourse, AttendanceLog, ExamScore e CertificateStorage.

Accesso mirato alle evidenze di formazione

Limitare le letture affinché manager, coordinatori o il tirocinante assegnato vedano solo i registri dei corsi e i file dei certificati a cui dovrebbero accedere.

Schema (JSON)

Definizione dello schema JSON grezzo pronta per essere copiata in Back4app o utilizzata come riferimento per l'implementazione.

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
        }
      }
    }
  ]
}

Costruisci con l'Agente AI

Utilizza l'Agente AI di Back4app per generare una vera app di registrazione delle presenze formativa da questo modello, inclusi frontend, backend, autenticazione, corsi di formazione, registrazione delle presenze, punteggi degli esami e flussi di archiviazione dei certificati.

Back4app Agente AI
Pronto per costruire
Crea un backend per un'app di registrazione delle presenze formative su Back4app con questo schema e comportamento esatti.

Schema:
1. Utente (usa Back4app integrato): nome utente, email, password; objectId, createdAt, updatedAt (sistema).
2. CorsoDiFormazione: codiceCorso (Stringa, obbligatorio), titolo (Stringa, obbligatorio), dataSessione (Data, obbligatoria), istruttore (Puntatore a Utente, obbligatorio); objectId, createdAt, updatedAt (sistema).
3. RegistroPresenze: allievo (Puntatore a Utente, obbligatorio), corsoDiFormazione (Puntatore a CorsoDiFormazione, obbligatorio), stato (Stringa, obbligatorio), registratoIl (Data); objectId, createdAt, updatedAt (sistema).
4. PunteggioEsame: allievo (Puntatore a Utente, obbligatorio), corsoDiFormazione (Puntatore a CorsoDiFormazione, obbligatorio), punteggio (Numero, obbligatorio), superato (Booleano, obbligatorio); objectId, createdAt, updatedAt (sistema).
5. ArchiviazioneCertificati: allievo (Puntatore a Utente, obbligatorio), corsoDiFormazione (Puntatore a CorsoDiFormazione, obbligatorio), file (File, obbligatorio), emessoIl (Data, obbligatoria); objectId, createdAt, updatedAt (sistema).

Sicurezza:
- Solo l'utente può aggiornare/eliminare il proprio profilo. Solo il personale autorizzato può creare/eliminare registrazioni di formazione. Usa Cloud Code per la validazione.

Autenticazione:
- Registrazione, accesso, disconessione.

Comportamento:
- Elenca corsi, crea registri delle presenze, invia punteggi degli esami e archivia certificati.

Consegna:
- app Back4app con schema, ACL, CLP; frontend per corsi, registri delle presenze, punteggi degli esami e archiviazione dei certificati.

Premi il pulsante qui sotto per aprire l'Agente con questo modello già compilato.

Questo è il prompt di base senza un suffisso tecnologico. Puoi adattare successivamente lo stack frontend generato.

Distribuisci in pochi minuti50 suggerimenti gratuiti / meseNessuna carta di credito richiesta

API Playground

Prova gli endpoint REST e GraphQL contro lo schema di partecipazione ai corsi. Le risposte utilizzano dati fittizi e non richiedono un account Back4app.

Caricamento playground…

Utilizza lo stesso schema di questo modello.

Scegli la tua tecnologia

Espandi ogni scheda per vedere come integrare TrainingCourse, AttendanceLog e ExamScore con il tuo stack scelto.

Flutter Partecipazione al training Backend

React Partecipazione al training Backend

React Nativo Partecipazione al training Backend

Next.js Partecipazione al training Backend

JavaScript Partecipazione al training Backend

Android Partecipazione al training Backend

iOS Partecipazione al training Backend

Vue Partecipazione al training Backend

Angular Partecipazione al training Backend

GraphQL Partecipazione al training Backend

REST API Partecipazione al training Backend

PHP Partecipazione al training Backend

.NET Partecipazione al training Backend

Cosa ottieni con ogni tecnologia

Ogni stack utilizza lo stesso schema di backend per la registrazione della formazione e contratti API.

Struttura dei dati del registro di formazione unificata

Gestisci corsi di formazione, registrazioni di presenza, punteggi degli esami e archiviazione dei certificati con un unico schema.

Registro dei corsi per i team operativi

Tieni traccia di chi ha partecipato a ogni sessione e quali registrazioni dei corsi sono ancora aperte.

Revisione del punteggio degli esami per i manager

Archivia i punteggi per corso di formazione e tirocinante in modo che il follow-up rimanga legato alla sessione giusta.

Archiviazione dei certificati per prova di completamento

Allega i file di completamento all'esito del corso corretto e alla registrazione del tirocinante.

Confronto del Framework di Registro Formazione

Confronta la velocità di configurazione, lo stile dell'SDK e il supporto AI tra tutte le tecnologie supportate.

FrameworkTempo di configurazioneBeneficio del Training LogTipo di SDKSupporto AI
Circa 5 minCodice sorgente unico per la registrazione della presenza ai corsi su mobile e web.SDK tipizzatoCompleto
Meno di 5 minutiDashboard web veloce per registri dei corsi e punteggi degli esami.SDK tipizzatoCompleto
~3–7 minApp mobile multipiattaforma per la registrazione della presenza in campo.SDK tipizzatoCompleto
Configurazione rapida (5 min)Portale renderizzato sul server per i responsabili della formazione.SDK tipizzatoCompleto
~3–5 minIntegrazione web leggera per i registri di allenamento.SDK DigitatoCompleto
Circa 5 minApp nativa Android per i controlli di presenza.SDK DigitatoCompleto
Meno di 5 minutiApp nativa iOS per la revisione dei punteggi e i certificati.SDK DigitatoCompleto
~3–7 minInterfaccia web React per operazioni di formazione.SDK digitatoCompleto
Configurazione rapida (5 min)App web aziendale per flussi di lavoro dei coordinatori.SDK digitatoCompleto
Meno di 2 minAPI GraphQL flessibile per registri di formazione.API GraphQLCompleto
Configurazione veloce (2 min)REST API integrazione per la registrazione della partecipazione alla formazione.REST APICompleto
~3 minBackend PHP lato server per i registri di formazione.REST APICompleto
~3–7 minBackend .NET per la partecipazione, i punteggi e i certificati.SDK digitatoCompleto

Il tempo di configurazione riflette la durata prevista dal bootstrap del progetto alla prima query TrainingCourse o AttendanceLog utilizzando questo schema di template.

Domande frequenti

Domande comuni sulla creazione di un backend per il registro delle presenze nella formazione con questo template.

Come fanno i responsabili della presenza alla formazione a rilevare le deviazioni dalle politiche prima che diventino un rischio sistemico?
Come catturano pulitamente i programmi di presenza alla formazione le formazioni, le attestazioni e le azioni correttive?
Qual è il percorso raccomandato per affinare i permessi di presenza alla formazione man mano che l'organizzazione cresce?
Come posso eseguire query per corsi di formazione e registri di presenza con Flutter?
Come gestisco l'accesso alla presenza formativa con Next.js Server Actions?
Può React Native memorizzare i dati di formazione offline?
Come posso prevenire accessi non autorizzati ai certificati?
Qual è il modo migliore per visualizzare i registri di formazione su Android?
Come funziona il flusso di archiviazione dei certificati end-to-end?

Fidato da sviluppatori in tutto il mondo

Unisciti ai team che lanciano prodotti per la registrazione della partecipazione alla formazione più velocemente con i modelli Back4app

G2 Users Love Us Badge

Pronto per costruire la tua app per il registro di partecipazione alla formazione?

Inizia il tuo progetto di log di allenamento in pochi minuti. Nessuna carta di credito richiesta.

Scegli Tecnologia