Avaliar o desempenho técnico e o conhecimento da plataforma Salesforce.
O objetivo da solução é criar um aplicativo no Salesforce para controlar e registrar as adoções de pets.
- Name (Campo padrão do Salesforce)
- Telefone (Campo padrão do Salesforce)
- Data de nascimento (Campo padrão do Salesforce)
- E-mail (Campo padrão do Salesforce)
- Idade (Fórmula que se baseia na data de nascimento com a data atual)
- Name (Campo padrão do Salesforce)
- Espécie (Campo de seleção de lista)
- Raça (Campo de seleção de lista)
- Data da última vacinação (Campo de data)
- Data da próxima vacinação (Campo de data)
- Name (Numeração automática gerado pelo próprio Salesforce)
- Status (Campo de seleção de lista que representa a fase da adoção)
- Data (Campo de data que representa a data da adoção)
- Contact (Campo de relacionamento com o objeto Contact)
- Pet (Campo de relacionamento com o objeto Pet)
- Name (Numeração automática gerado pelo próprio Salesforce)
- Local (Campo texto aberto que representa o local de vacinação)
- Data (Campo de data que representa a data da vacinação)
- Pet (Campo de relacionamento com o objeto Pet)
- Todos os objetos criados deverão ter “Guias” para navegação.
- Após os objetos e as guias criadas, um aplicativo com essas guias deverá ser criado.
- A fórmula do campo “Idade” no objeto Contact deverá ser numérica e contabilizada sempre que o registro for acessado.
- Os campos “Espécie” e “Raça” no objeto Pet deverão ser dependentes, ou seja, deverão ser exibidos apenas os valores de raças correspondentes de cada espécie. Abaixo os valores:
- Cachorro: Vira-lata e Poodle
- Gato: Siamês e Persa
- Uma adoção não pode ser criada com a data menor de hoje.
- Se o contato da adoção for menor que 18 anos, a adoção não pode ser criada.
- Por conta do fechamento contábil, a data da adoção não pode ser maior que o mês atual.
- Não é permitido ter o mesmo contato cadastrado duas vezes com o mesmo e-mail.
- Os valores de status da adoção deverão ser atualizados através de automação, ou seja, sem que ocorra alteração manual:
- Aberto (Valor padrão)
- Em aprovação (Quando um registro for enviado para a aprovação)
- Aguardando busca do pet (Quando o registro é aprovado pelo processo de aprovação e está aguardando a busca do pet)
- Finalizado (Quando a pessoa já buscou o pet e o processo de adoção finalizado)
- Reprovada (Quando o registro é reprovado pelo processo de aprovação)
- Criar um processo de aprovação simples para aprovação da adoção:
- No momento da submissão, alterar o status para “Em aprovação”
- No momento da submissão, enviar uma notificação por e-mail para o contato da adoção, informando que o processo está em andamento
- Em caso de aprovação, alterar o status para “Aguardando busca do pet”
- Em caso de reprovação, alterar o status para “Reprovada”
- Após a finalização da aprovação, uma notificação por e-mail deverá ser disparada para o contato.
- Se uma adoção for reprovada, ela não pode ser mais alterada.
- Os layouts dos registros também serão avaliados, portanto, remova os campos não utilizados.
- Os Lightning Pages também serão avaliados, é importante que distribua os componentes da tela de forma organizada.
- Construir relatórios e painéis para análise dos KPI’s (Key Performance Indicator)
- Criar componente LWC que deverá ser adicionado na tela da adoção e deverá exibir as seguintes informações:
- Nome do contato
- Idade do contato
- Nome do Pet
- Raça do Pet
- Data da adoção
- Se o pet tiver sido adotado, deverá exibir uma imagem de um selo de certificado no topo do componente
- Um trabalho diário, escrito em Apex (Scheduler/Batch) que criará uma tarefa (Task) para o administrador caso o Pet não esteja com a vacinação em dia
- Criar uma ação rápida no registro de Pet que criará um arquivo PDF chamado “Certificado do Pet” e associará ao próprio Pet.
- O modelo do certificado é livre, mas precisa ter alguma informação dinâmica do Pet em questão.
- Deve ser desenvolvido um Screen Flow.
- Quando o status da adoção estiver como “Aguardando busca do pet”, uma ação rápida deverá estar disponível para o usuário. O flow de tela deverá exibir um campo texto onde o usuário deverá informar o código da adoção (Campo Name – Numeração automática).
- Caso o código esteja errado, a mensagem “Código inválido, tente novamente” deverá ser exibida na tela.
- Caso o código esteja correto, o status da adoção deverá ser alterado para “Finalizado” e a mensagem “Código correto, o seu pet está pronto para um novo lar” deverá ser exibida na tela.
- Criar um Custom Metadata Type chamado “Periodicidade de vacinação”
- Esse objeto terá dois campos:
- Espécie (Campo picklist que representa a espécie do pet)
- Cachorro e Gato
- Intervalo em dias (Campo numérico que representa o intervalo em dias que um pet deve ser vacinado)
- Cadastrar dois registros desse objeto:
- Intervalo de cachorro
- Espécie – Cachorro
- Intervalo em dias – 365
- Intervalo de gato
- Espécie – Gato
- Intervalo em dias – 180
- Intervalo de cachorro
- Desenvolver um Apex Trigger que preencherá a data da próxima vacinação baseado no intervalo em dias de cada espécie que foi configurado nos itens acima.
- Esse Apex Trigger deverá ser executado em dois momentos:
- Quando o registro for criado
- Quando a data da última vacinação for preenchida.
- Desenvolver um Apex Trigger que preencherá a data da última vacinação quando um registro de “Histórico de vacinação” for criado para o pet.
- Cada classe deve estar coberta com ao menos 75% testes unitários e testando cada funcionalidade.
- Faça um fork deste repo e ao final submeta um PR para avaliação.