Skip to content
This repository has been archived by the owner on Oct 13, 2024. It is now read-only.

Emissão de certificados - Cloud function #98

Closed
8 tasks done
Yudi opened this issue Dec 15, 2022 · 0 comments
Closed
8 tasks done

Emissão de certificados - Cloud function #98

Yudi opened this issue Dec 15, 2022 · 0 comments
Labels
feature New feature or request help wanted Extra attention is needed

Comments

@Yudi
Copy link
Member

Yudi commented Dec 15, 2022

Nesta tarefa, você estará gerando os dados que serão armazenados no banco de dados. Você não gerará PDFs.

• Por que não gerar certificados sob demanda, sem duplicar os dados?
Para possibilitar a validação on-line do certificado e para evitar que alterações no nome do usuário e documento reflitam nos dados apresentados no certificado.

Layout do certificado

Nome Descrição
date Data no formato "13 de dezembro de 2022"
participation_type Campo personalizado
name Nome completo do usuário (fullName, não displayName)
event_type Campo personalizado
event_name Nome do evento
url URL para verificação do certificado
qrcode O mesmo valor de URL
name_small Mesmo valor que o campo "name"
document String com o documento do usuário, ex: "CPF: 000.000.000-00"
event_name_small Mesmo valor que o campo "event_name"
content Descrição das atividades realizadas

Screenshot 2022-12-15 at 16 09 57

Especificações

Orientações gerais

Gere apenas 1 certificado por MajorEvent ou por EventGroup.
Ex: Se o MajorEvent/EventGroup possui 3 eventos, gere 1 unidade de certificado e só.

Faça uma função generateCertificate que recebe um objeto data e retorna um Object com sucessful: boolean

interface data {
	eventType: "event" | "eventGroup" | "majorEvent";
	eventID: string;
	certificateData: CertificateIssuingData
}

Emissão dos certificados

Os certificados devem ser gerados no ambiente de Cloud Functions, para evitar problemas com permissões e eliminar a possibilidade da emissão ser interrompida por problemas de internet.

Note
O código deve ser eficiente, pois o tempo de execução e RAM são pagos

Retomada de uma emissão que falhou

  • Pronto 👆

Durante a geração do certificado de múltiplas pessoas, armazenar no BD:

  • O ID do usuário que iniciou a emissão
  • O ID do último usuário que teve o certificado gerado com sucesso
  • A quantidade de certificados já gerados
  • As informações do formulário

Depois de uma emissão bem-sucedida:

  • Limpar todos os dados temporários no BD

Caso a emissão tenha falhado:

  • Exibir erro para o admin
  • Permitir a retomada emissão de onde ela parou

Campo content

Major events

Palestras:
• 22/12/2022 10:00 - Palestra de AI - 10 horas
• 22/12/2022 10:01 - Palestra de BD - 10 horas
Total: 20 horas - 2 palestras

Minicursos:
• 22/12/2022 10:00 - Conhecendo o Git - 10 horas
• 22/12/2022 10:01 - Conhecendo o Firebase - 5 horas
Total: 15 horas - 2 minicursos

Grupo de eventos

Minicursos:
• 22/12/2022 10:00 - Conhecendo o Git - Parte 1 - 10 horas
• 22/12/2022 10:01 - Conhecendo o Git - Parte 2 - 10 horas
Total: 20 horas - 2 minicursos
@Yudi Yudi added feature New feature or request help wanted Extra attention is needed labels Dec 15, 2022
@Yudi Yudi added this to the Certificados de participação milestone Dec 15, 2022
@Yudi Yudi changed the title Emissão de certificados Emissão de certificados - Cloud function Dec 15, 2022
@Yudi Yudi closed this as completed Feb 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature New feature or request help wanted Extra attention is needed
Projects
Status: Finalizado
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant