Bem vindo(a) ao desafio de desenvolvedores front-end na aftersale! Leia com atenção este documento e, caso você tenha dúvidas, entre em contato com o nosso RH que iremos responder o mais rápido possível.
Escreva uma aplicação usando React e as bibliotecas da sua escolha, para construir a seguinte cena: Um prédio com 12 janelas. Ao clicar nas janelas o usuário liga e desliga as luzes das janelas. A cena também contém um controle com um botão que permite ligar e desligar todas as janelas. Use a Sunset Sunrise API para mudar automaticamente a cena dependendo se está noite ou dia no seu local. Ou seja, utilize API do browser de geolocalização.
- Ao clicar em uma janela, se a luz estiver acesa, ela deve apagar.
- Ao clicar em uma janela, se a luz estiver apagada, ela deve ser acesa.
- Ao clicar no botão de controle global, todas as luzes devem ser acesas ou apagadas.
- O estado inicial das luzes deve ser baseado na sua localidade. Use a Sunrise Sunset API para isso.
- Vocẽ é livre para escolher o design da sua aplicação. Use o Dribbble para encontrar inspirações.
- Use React como biblioteca base.
- Use a API de geolocalização do navegador.
- Consulte a Sunrise Sunset API usando as suas coordenadas.
- Não faça commit de credenciais.
- Não use TailwindCSS ou qualquer outro framework CSS, nós queremos avaliar suas habilidades com CSS também.
- Entregue pelo menos 25% de cobertura de código com testes.
- Especifique no README.md do seu projeto, instruções sobre como executar seu projeto localmente.
- Especifique no README.md do seu projeto, instruções sobre como executar os testes e colher a cobertura de código.
- Organize seu projeto em pastas de uma forma coerente.
- Tudo bem usar algum framework moderno em cima do React, como Next.js ou Gatsby.
Ficou em dúvida sobre qual tecnologia usar? Aqui na aftersale usamos no front-end: React, JavaScript, TypeScript, Node, Sass, TailwindCSS, CSS-in-JS, Next.js, NGiNX, Docker, Cypress, Jest, Testing Library. Óbvio que você não deve usar todas essas tecnologias no seu projeto. Escolha algumas e trabalhe bem em cima delas.
Nós gostamos de dar pontos extras para candidatos que se empenham na entrega dos desafios! Os tópicos abaixo, se entregues na sua totalidade, irão garantir a você 0.25 ponto, por tópico entregue.
- Escreva um Dockerfile pronto para colocar sua aplicação em produção.
- Use docker-compose para subir um ambiente de desenvolvimento local.
- Escreva um workflow no GitHub Actions para rodar os testes do seu projeto automaticamente em todo pull request.
- Faça deploy do seu projeto em algum lugar (Heroku ou Vercel, por exemplo).
Quando você terminar, nos envie um email com o link para o repositório do projeto e responda às seguintes perguntas:
- O que você achou do desafio?
- Porque você está interessado pela vaga?
Boa Sorte!