Registro de Treinamento
Construir com Agente AI
Log de Presença de Treinamento Backend

Template de Log de Presença de Treinamento Backend
Presença em Treinamento, Notas e Certificados

Um log de presença de treinamento backend pronto para produção em Back4app com logs de curso, notas de exame e armazenamento de certificados. Inclui diagrama ER, dicionário de dados, esquema JSON, playground API, e um prompt de Agente de IA para bootstrap rápido.

Principais Conclusões do Registro de Treinamento

Este modelo fornece um backend de registro de presença de treinamento com registros de cursos, notas de exames e armazenamento de certificados para que coordenadores possam manter sessões, resultados e comprovantes de conclusão em um só lugar.

  1. Rastreamento de registros de cursosModele cada entrada de TrainingCourse e AttendanceLog para que os instrutores possam registrar quem participou de qual sessão.
  2. Captura de notas de examesArmazene valores de ExamScore com ponteiros vinculados ao curso e ao trainee para revisão rápida.
  3. Armazenamento de certificadosMantenha arquivos de CertificateStorage anexados ao evento de conclusão correto e ao perfil do trainee.

Backend do Log de Frequência de Treinamento em um relance

Os reguladores esperam que a evidência de frequência de treinamento seja durável: imutável o suficiente para ser confiável, flexível o suficiente para melhorar o programa ao longo do tempo. A solução é operacional, não motivacional. Modele TrainingCourse, AttendanceLog, ExamScore e CertificateStorage no Back4app para tornar os controles de frequência de treinamento operacionais: aprovações, evidências e exceções capturadas onde o trabalho realmente acontece. O esquema cobre User (nome de usuário, email, senha), TrainingCourse (código do curso, título, data da sessão, instrutor), AttendanceLog (participante, curso de treinamento, status, check-in em), ExamScore (participante, curso de treinamento, nota, aprovado) e CertificateStorage (participante, curso de treinamento, arquivo, emitido em) com autenticação e acesso controlado já implementados. Conecte seu frontend preferido e lance mais rápido.

Melhor para:

Sistemas de frequência de treinamentoPainéis de log de cursosFerramentas de rastreamento de notas de examesPortais de armazenamento de certificadosEquipes de operações e treinamento em campoTimes selecionando BaaS para produtos de treinamento

Presença no Treinamento: snapshot do backend

O treinamento ajuda na presença no treinamento, mas não pode compensar dados que se dividem em três ferramentas e quatro convenções de nomenclatura.

O hub destaca TrainingCourse, AttendanceLog e ExamScore para que você possa comparar pilhas de clientes contra as mesmas entidades, campos e relacionamentos.

Recursos principais do log de treinamento

Cada cartão de tecnologia neste hub usa o mesmo esquema de backend de presença de treinamento com TrainingCourse, AttendanceLog, ExamScore e CertificateStorage.

Gerenciamento de cursos de treinamento

TrainingCourse armazena courseCode, título, sessionDate e instrutor.

Registro de presença

AttendanceLog captura estagiário, curso de treinamento, status e hora de check-in.

Rastreamento de notas de exame

ExamScore vincula estagiário, curso de treinamento, nota e se foi aprovado.

Armazenamento de certificados

CertificateStorage mantém informações sobre trainee, trainingCourse, arquivo e issuedAt.

Por que construir seu backend de registro de presença em treinamento com Back4app?

Back4app fornece primitivos de curso de treinamento, registro de presença, pontuação de exame e armazenamento de certificados para que os coordenadores possam se concentrar na entrega das sessões em vez da infraestrutura do backend.

  • Registros de curso e presença: As classes TrainingCourse e AttendanceLog permitem que você acompanhe a presença por sessionDate, courseCode e checkedInAt.
  • Pontuações ligadas a eventos de treinamento: ExamScore conecta cada pontuação a um trainee e a TrainingCourse, que mantém a revisão de aprovação/reprovação fundamentada no registro do curso.
  • Certificados com caminhos de recuperação reais: CertificateStorage mantém campos issuedAt e file para que a prova de conclusão permaneça anexada ao resultado de treinamento correto.

Executar logs de treinamento, pontuações de exames e armazenamento de certificados a partir de um único contrato de backend em todas as plataformas.

Benefícios principais

Um backend de presença de treinamento que ajuda as equipes a registrar sessões, revisar pontuações e armazenar certificados com menos trabalho de configuração.

Implantação rápida de registros de curso

Comece a partir de TrainingCourse em vez de criar tabelas de sessão e relacionamentos do zero.

Rastreabilidade de presença e pontuação

Associe entradas de AttendanceLog e ExamScore aos mesmos campos de trainee e trainingCourse para um acompanhamento claro.

Recuperação de certificado por curso

Mantenha os arquivos de CertificateStorage vinculados à conclusão do curso para que a equipe de operações possa encontrar a prova rapidamente.

Acesso controlado para dados de treinamento

Use ACL/CLP para que apenas funcionários autorizados possam atualizar registros de presença, notas de exame ou arquivos de certificados.

Modelo único para usuários de campo e escritório

Compartilhe TrainingCourse, AttendanceLog, ExamScore e CertificateStorage através de um contrato de API em vez de ferramentas separadas.

Bootstrap assistido por IA

Gere esquema, permissões e orientações de integração com um único prompt estruturado.

Pronto para lançar seu aplicativo de registro de presença de treinamento?

Deixe o agente de IA Back4app estruturar seu backend de presença no treinamento e gerar logs de cursos, notas de exames e armazenamento de certificados a partir de um prompt.

Gratuito para começar — 50 prompts de Agente de IA/mês, sem cartão de crédito necessário

Stack Técnico

Tudo incluído neste modelo de backend de presença no treinamento.

Frontend
13+ tecnologias
Backend
Back4app
Banco de dados
MongoDB
Autenticação
Autenticação integrada + sessões
API
REST e GraphQL
Em tempo real
Live Queries

Diagrama ER

Modelo de relacionamento de entidades para o esquema de backend de presença de treinamento.

Ver fonte do diagrama
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
    }

Fluxo de Integração

Fluxo de execução típico para autenticação, registros de curso, registro de presença, pontuações de provas e armazenamento de certificados.

Ver fonte do diagrama
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

Dicionário de Dados

Referência a nível de campo para cada classe no esquema de presença do treinamento.

CampoTipoDescriçãoRequerido
objectIdStringAuto-generated unique identifierAuto
usernameStringTrainer login name
emailStringTrainer email address
passwordStringHashed password (write-only)
fullNameStringTrainer display name
roleStringAccess role for the training workspace
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

8 campos em Trainer

Segurança e Permissões

Como a estratégia de ACL e CLP protege usuários, cursos de treinamento, registros de presença, notas de exame e armazenamento de certificados.

Limites da conta do usuário

Apenas o usuário pode atualizar ou excluir seu perfil; outros usuários não podem modificar campos de identidade.

Integridade de cursos e registros

Apenas o pessoal autorizado pode criar ou excluir entradas de TrainingCourse, AttendanceLog, ExamScore e CertificateStorage.

Acesso escopado a evidências de treinamento

Restringir leituras para que gerentes, coordenadores ou o estagiário designado vejam apenas os registros de curso e arquivos de certificados que devem acessar.

Esquema (JSON)

Definição de esquema JSON bruto pronta para copiar para Back4app ou usar como referência de implementação.

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

Construir com Agente de IA

Use o Agente de IA Back4app para gerar um aplicativo de presença de treinamento real a partir deste modelo, incluindo frontend, backend, autenticação, e fluxos de curso de treinamento, log de presença, pontuação de exame e armazenamento de certificados.

Agente de IA Back4app
Pronto para construir
Crie um backend de aplicativo de log de presença de treinamento no Back4app com este esquema e comportamento exatos.

Esquema:
1. Usuário (use Back4app embutido): nome de usuário, e-mail, senha; objectId, createdAt, updatedAt (sistema).
2. Curso de Treinamento: código do curso (String, obrigatório), título (String, obrigatório), data da sessão (Data, obrigatória), instrutor (Pointer para Usuário, obrigatório); objectId, createdAt, updatedAt (sistema).
3. Log de Presença: trainee (Pointer para Usuário, obrigatório), curso de treinamento (Pointer para Curso de Treinamento, obrigatório), status (String, obrigatório), checkedInAt (Data); objectId, createdAt, updatedAt (sistema).
4. Pontuação de Exame: trainee (Pointer para Usuário, obrigatório), curso de treinamento (Pointer para Curso de Treinamento, obrigatório), pontuação (Número, obrigatório), aprovado (Booleano, obrigatório); objectId, createdAt, updatedAt (sistema).
5. Armazenamento de Certificados: trainee (Pointer para Usuário, obrigatório), curso de treinamento (Pointer para Curso de Treinamento, obrigatório), arquivo (Arquivo, obrigatório), emitido em (Data, obrigatória); objectId, createdAt, updatedAt (sistema).

Segurança:
- Apenas o usuário pode atualizar/excluir seu perfil. Apenas funcionários autorizados podem criar/excluir registros de treinamento. Use o Cloud Code para validação.

Autenticação:
- Cadastro, login, logout.

Comportamento:
- Listar cursos, criar logs de presença, enviar pontuações de exame e armazenar certificados.

Entrega:
- Aplicativo Back4app com esquema, ACLs, CLPs; frontend para cursos, logs de presença, pontuações de exame, e armazenamento de certificados.

Pressione o botão abaixo para abrir o Agente com este prompt de modelo preenchido.

Este é o prompt base sem um sufixo de tecnologia. Você pode adaptar a pilha de frontend gerada posteriormente.

Implante em minutos50 prompts gratuitos / mêsNenhum cartão de crédito necessário

API Playground

Teste os endpoints REST e GraphQL contra o esquema de presença de treino. As respostas usam dados fictícios e não requerem uma conta Back4app.

Carregando playground…

Usa o mesmo esquema que este modelo.

Escolha sua Tecnologia

Expanda cada cartão para ver como integrar TrainingCourse, AttendanceLog e ExamScore com sua pilha escolhida.

Flutter Atendimento de Treinamento Backend

React Atendimento de Treinamento Backend

React Nativo Atendimento de Treinamento Backend

Next.js Atendimento de Treinamento Backend

JavaScript Atendimento de Treinamento Backend

Android Atendimento de Treinamento Backend

iOS Atendimento de Treinamento Backend

Vue Atendimento de Treinamento Backend

Angular Atendimento de Treinamento Backend

GraphQL Atendimento de Treinamento Backend

REST API Atendimento de Treinamento Backend

PHP Atendimento de Treinamento Backend

.NET Atendimento de Treinamento Backend

O que você ganha com cada tecnologia

Todos os stacks usam o mesmo esquema de backend de presença em treinamento e contratos de API.

Estrutura de dados unificada de log de treinamento

Gerencie cursos de treinamento, logs de presença, notas de exames e armazenamento de certificados com um único esquema.

Logs de cursos para equipes de operações

Acompanhe quem participou de cada sessão e quais registros de cursos ainda estão abertos.

Revisão da pontuação do exame para gerentes

Armazene as notas por Curso de Treinamento e trainee para que o acompanhamento permaneça vinculado à sessão correta.

Armazenamento de certificados como prova de conclusão

Anexe arquivos de conclusão ao resultado correto do curso e ao registro do trainee.

Comparação da Estrutura de Registro de Treinamento

Compare a velocidade de configuração, estilo do SDK e suporte a IA entre todas as tecnologias suportadas.

EstruturaTempo de ConfiguraçãoBenefício do Registro de TreinamentoTipo de SDKSuporte a IA
Cerca de 5 minBase de código única para acompanhamento de presença em dispositivos móveis e na web.SDK TipadoCompleto
Menos de 5 minutosPainel web rápido para registros de cursos e notas de exames.SDK tipadoCompleto
~3–7 minAplicativo móvel multiplataforma para registro de presença em campo.SDK tipadoCompleto
Configuração rápida (5 min)Portal renderizado no servidor para gerentes de treinamento.SDK tipadoCompleto
~3–5 minIntegração web leve para registros de treinamento.SDK TipadoCompleto
Cerca de 5 minAplicativo nativo Android para verificações de presença.SDK TipadoCompleto
Menos de 5 minutosAplicativo nativo iOS para revisão de notas e certificados.SDK TipadoCompleto
~3–7 minReact interface web para operações de treinamento.SDK DigitadoCompleto
Configuração rápida (5 min)Aplicativo web corporativo para fluxos de trabalho de coordenadores.SDK DigitadoCompleto
Menos de 2 minAPI flexível GraphQL para registros de treinamento.API GraphQLCompleto
Configuração rápida (2 min)Integração REST API para registro de presença em treinamentos.REST APICompleto
~3 minBackend PHP do lado do servidor para logs de treinamento.REST APICompleto
~3–7 minBackend .NET para registro de presença, pontuações e certificados.SDK DigitadoCompleto

O tempo de configuração reflete a duração esperada desde a inicialização do projeto até a primeira consulta de TrainingCourse ou AttendanceLog usando este esquema de template.

Perguntas Frequentes

Perguntas comuns sobre como construir um backend de registro de presença em treinamento com este modelo.

Como os líderes de presença em treinamentos identificam desvios de política antes que se tornem riscos sistêmicos?
Como os programas de presença em treinamentos capturam treinamentos, atestações e ações corretivas de forma limpa?
Qual é o caminho recomendado para apertar as permissões de presença em treinamentos à medida que a organização cresce?
Como faço para executar consultas para cursos de treinamento e registros de frequência com Flutter?
Como gerencio o acesso à frequência de treinamento com Next.js Server Actions?
O React Native pode armazenar dados de treinamento offline?
Como posso evitar acesso não autorizado a certificados?
Qual é a melhor maneira de mostrar logs de treinamento no Android?
Como funciona o fluxo de armazenamento de certificados de ponta a ponta?

Confiável por desenvolvedores em todo o mundo

Junte-se a equipes que lançam produtos de registro de presença em treinamentos mais rapidamente com os modelos Back4app

G2 Users Love Us Badge

Pronto para construir seu aplicativo de registro de presença em treinamentos?

Comece seu projeto de registro de treinamento em minutos. Não é necessário cartão de crédito.

Escolha Tecnologia