Skip to content

Latest commit

 

History

History
56 lines (35 loc) · 3.01 KB

front-end.md

File metadata and controls

56 lines (35 loc) · 3.01 KB

Desafio Front-end

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.

Descrição

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.

Funcionalidades

  • 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.

Regras

  • 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.

Sugestões

  • 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.

Como você pode nos impressionar?

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).

O que deve ser entregue

Quando você terminar, nos envie um email com o link para o repositório do projeto e responda às seguintes perguntas:

  1. O que você achou do desafio?
  2. Porque você está interessado pela vaga?

Boa Sorte!