Layout para importação de alunos

Formato CSV

Arquivo separado por vírgulas, pode ser gerado a partir do Google Planilhas ou Microsoft Excel

Regras

  • Se o e-mail já estiver cadastrado, não importa de novo (pula o registro automaticamente)

  • Quando existiram múltiplas cidades com o mesmo nome da informada (estados diferentes), pega a de maior população. TODO: Avaliar se assumir o estado da academia ou incluímos este campo na importação

Títulos das colunas

  • Endereço de e-mail (alternativo: E-mail) - Obrigatório

  • Nome do aluno (alternativo: Nome) - Obrigatório

  • Nascimento (alternativo: Data de Nascimento)

  • Sexo (aceita: M, F, Masculino, Feminino)

  • CPF

  • Telefone

  • Celular

  • Endereço (alternativo: Endereco)

  • Bairro

  • CEP

  • Cidade

  • Pai

  • Mãe (alternativo: Mae)

  • Confederação

  • Graduação

  • Data da Graduação

  • Responsável Nome

  • Responsável E-mail

Exemplo mínimo

Endereço de e-mail,Nome do aluno
john.doe@hotmail.com,john Doe
sensei@fuji.net,Altair Tinha

Exemplo com mais campos

Endereço de e-mail,Nome do aluno,Sexo,Cidade
john.doe@hotmail.com,john Doe,M,Rio de Janeiro
sensei@fuji.net,Altair Tinha,M,Brasília

Roteiro para o vídeo

  • Copiar formulário original:
    https://docs.google.com/forms/d/1sJ72cLmWnHItyoHMeDWXLQl1wHklhj4wkV58BaWcE1E/copy

  • Ajustar o que for necessário. Sugestão: Transformar Cidade em uma caixa de seleção com as cidades próximas à academia

  • Publicá-lo

  • Aguardar o preenchimento

  • Acessa-lo e exporta-lo para uma planilha

  • Abrir a planilha e fazer download como CSV

  • Importar no sistema

  • A planilha será atualizada automaticamente, e pode-se baixar o CSV da planilha atualizada e importar novamente (ele pula o que já importou)

Testes realizados

Originalmente apenas 3000 alunos estavam sendo importados por conta dos problemas…​

Feito

  • Importação de aluno sem nome composto (colocando um sobrenome falso: <sobrenome-importação>)

  • Importação de alunos sem e-mail, criando um falso baseado no nome do aluno com domínio @fuji.net.br, caso já existe gera um randômico, assim: imp-8bd16615-c83f-4af0-9d49-c0e1d79d779e@fuji.net.br

  • Importação de alunos com data de nascimento neste formato 12-mar-2002

  • Importação de alunos com e-mail inválido, o e-mail original fica nas observações e é criado um e-mail baseado na regra de não existência de e-mail

  • Importação de alunos com e-mail duplicado, criando um e-mail seguindo as regras acima

  • Importação agora acha os campos independente da caixa ou dos acentos, ou seja, acha Cidade, cidade ou CIDADE (não estava migrando a cidade por que o título estava em maiúsculo), e mesmo um campo como ENDEREçO ou Endereço ou endereco também funcionam

  • Caso algum erro grave ocorra na importação nada é importado (era comum alguns registros serem importados e outros não)

A fazer

  • Problemas de uso exagerado de memória com mais de 4000 alunos, impossibilitando o uso em celulares da tela de alunos

  • Grande demora para abrir a tela de alunos, mais de 1 minuto!

Ganho de performance na renderização dos alunos (class transformer e data = [])

Melhorias possíveis

  • Cache de cidade (interno)

  • Cidade case insensitivy

  • Data de nascimento, ano com dois dígitos (epoch)