Seu objetivo neste desafio é desenvolver uma página que exiba uma lista de veículos e permita que o usuário selecione um veículo e insira dados de contato para gerar um lead. Sua solução será avaliada com base nos seguintes critérios:
- Complexidade do código
- Arquitetura e estrutura do projeto
- Testes unitários
- Documentação
- Exibir uma lista de veículos contendo as seguintes informações: marca, modelo, ano e preço.
- Permitir que o usuário selecione um veículo da lista.
- Após selecionar um veículo, exibir um formulário para o usuário inserir seus dados de contato, incluindo nome, e-mail e telefone.
- Validar os campos do formulário antes de permitir o envio.
- Após o envio do formulário, exibir uma mensagem de confirmação ao usuário.
- Desenvolver a solução utilizando a linguagem Go.
- Utilizar uma arquitetura de software que permita escalabilidade e manutenção futura.
- Escrever testes unitários para validar o comportamento do código.
- Utilizar controle de versão (Git) e fazer commits incrementais durante o desenvolvimento.
- Incluir um arquivo README com instruções sobre como executar o projeto localmente e como executar os testes.
- O uso de boas práticas de programação, como DRY (Don't Repeat Yourself), SOLID e padrões de projeto, será valorizado.
- Documentar qualquer decisão técnica relevante e fornecer justificativas para suas escolhas.
- Priorize a qualidade do código e a clareza da solução.
- Mantenha o projeto organizado e utilize nomenclaturas consistentes.
- Divida a lógica em componentes reutilizáveis sempre que possível.
- Crie um repositório público no GitHub para o projeto.
- Desenvolva a solução no repositório criado.
- Inclua um arquivo README com instruções sobre como executar o projeto e os testes.
- Envie o link do repositório para nós assim que concluir o desafio.
- Este desafio é apenas parte do processo de seleção e será utilizado para avaliar suas habilidades técnicas. Outros aspectos, como experiência prévia e habilidades de liderança, também serão considerados.
- Caso tenha alguma dúvida sobre o desafio, fique à vontade para entrar em contato conosco.