Arnaelcio / vaga-react

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A RockApps

Desenvolvimento ágil e profissional de produtos e ideias, utilizando modernas tecnologias através de um modelo de custos acessível e flexível. A atuação de nossa empresa busca personalizar projetos e aplicações integrar soluções aos sistemas pré-existentes de nossos clientes. Sempre atualizados com as novas tecnologias de mercado, trazemos conosco aplicações inovadoras que certamente atenderão sua necessidade. Hoje em dia, a RK se consolidou no mercado, possuindo mais de 50 clientes e mais de 60 softwares e aplicativos criados. Realizações que nos mantém em andamento.

Conheça mais sobre nossa empresa em https://rockapps.com.br.

O Teste

Teste para candidatos à vaga de Desenvolvedor React e/ou React Native Júnior, Pleno e Sênior. O teste é o mesmo para todos os níveis! Nós fazemos isso esperando que os devs mais iniciantes entendam qual o modelo de profissional que temos por aqui e que buscamos para o nosso time.

Você deverá criar um fork deste projeto, e desenvolver em cima do seu fork. Use o README principal do seu repositório para nos contar como foi resolver seu teste, as decisões tomadas, como você organizou e separou seu código, e principalmente as instruções de como rodar seu projeto, afinal a primeira pessoa que irá rodar seu projeto será um programador de nossa equipe, e se você conseguir explicar para ele como fazer isso, você já começou bem!

Nós não definimos um tempo limite para resolução deste teste, o que vale para nós e o resultado final e a evolução da criação do projeto até se atingir este resultado, mas acreditamos que este desafio pode ser resolvido em cerca de 24 horas de codificação.

Para iniciar, faça um fork deste projeto.

Em seguida, é fundamental o preenchimento do formulário https://link.rockapps.com.br/vaga-dev-react. Demora 5 minutinhos! Se necessário, entre em contato com a gente em carreiras@rockapps.com.br.

As Instruções

O desafio consiste na implementação de um e-Commerce Web ou Mobile utilizando o framework React ou React Native. Os dados deverão ser mockados. Fique à vontade para utilizar boilerplates e outras bibliotecas disponíveis (Expo, CRA, Bootstrap, Material, etc).

Principais telas a serem desenvolvidas

  • Lista de produtos
    • Modo lista e modo cards
    • Filtros
  • Página de Produto
    • Fotos do Produto
    • Descrição
    • Avaliações
  • Página de Carrinho / Checkout
  • Página de pagamento (cadastro de cartão)
  • Página de confirmação da compra

Processo Principal

  1. Usuário deverá se autenticar (ou se cadastrar)
  2. Usuário devera trocas a foto de perfil
  3. Usuário deverá incluir um item no carrinho
  4. Usuário deverá incluir outro item no carrinho
  5. Usuário deverá remover o primeiro item do carrinho
  6. Usuário deverá finalizar o carrinho e confirmar a compra do pedido

O que queremos que você demonstre

  • Código limpo
  • Reutilização de componentes visuais
  • Hooks
  • Requisições RESTFul (se aplicável)
  • Histórico de commits do git
  • As instruções de como rodar o projeto
  • Organização, semântica, estrutura, legibilidade, manutenibilidade do seu código
  • Alcance dos objetivos propostos
  • Componentização e extensibilidade dos componentes Javascript

O que gostaríamos de ver

  • Testes unitários
  • Interface limpa e intuitiva
  • Foco na experiência e jornada do usuário (loading, modais, exibição de lista vazia (sem resultados), tooltips)
  • Reutilização novos componentes
  • Gerenciamento de estado (Redux)
  • Requisições RESTFul (Axios)

O que seria incrível

  • Ejetar o Expo e rodar a partir do xCode e do Android Studio
  • Testes e2e
  • SEO na página do produto
  • Animações (Lootie e/ou CSS)
  • Autenticação (token JWT) e rotas protegidas
  • Sockets
  • Publicação no Firebase ou similar
  • Ver o código rodando live (Bucket estático S3, Heroku, Firebase Hosting)

O que nós não gostaríamos

  • Descobrir que não foi você quem fez seu teste
  • Ver commits grandes, sem muita explicação nas mensagens em seu repositório

O Que Utilizar

Esperamos que você faça uso das principais tecnologias embarcadas no React e/ou React Native. Use sua criatividade e demonstre suas competências! Lembre-se que cada item abaixo poderá avaliado conforme seu nível de experiência.

  • Expo
  • React Router (ou similar)
  • Axios
  • Hooks
  • Push Notifications
  • Toasts
  • Select Pickers, Date Pickers, Input Masks
  • Animações
  • Testes Unitários
  • Testes Funcionais

About