O GoShoes é uma versão simplificada, sem persistência no banco de dados, de uma Loja Online de Sapatos. A partir dessas demandas, desenvolvi uma aplicação onde os usuários poderão:
- Visualizar produtos na categoria de calçados a partir da API do Mercado Livre;
- Cadastrar um nome de usuário, e-mail e senha na tela de Login para ter acesso ao carrinho de compras e favoritos;
- Visualizar os detalhes do produto escolhido clicando na imagem do produto;
- Ter um perfil único dentro da tela de perfil com o cadastro realizado na tela de Login;
- Poder trocar a foto de perfil;
- Interagir com os produtos recebidos pela API de modo a adicioná-los e removê-los de um carrinho de compras e dos favoritos em diferentes quantidades;
- Dar sequência no processo de compra indo para a Tela de Pagamento onde o usuário deve inserir os seus dados de cartão de crédito para confirmar a compra;
- Interagir com os produtos através da paginação das telas;
- Realizar Filtros com base nos valores e fretes dos produtos clicando no ícone de filtro na tela principal da aplicação;
- Trocar o modo de exibição entre LightMode e DarkMode;
- Interação da aplicação com a construção de testes unitários (RTL) para os componentes das telas;
- E por fim, finalizar a compra (simulada) dos itens selecionados sendo dirigido para uma Tela de Compra Realizada (podendo iniciar todo processo, caso queira).
Detalhes do Desafio
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.
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.
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).
- 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
- Usuário deverá se autenticar (ou se cadastrar)
- Usuário devera trocas a foto de perfil
- Usuário deverá incluir um item no carrinho
- Usuário deverá incluir outro item no carrinho
- Usuário deverá remover o primeiro item do carrinho
- Usuário deverá finalizar o carrinho e confirmar a compra do pedido
- 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
- 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)
- 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)
- Descobrir que não foi você quem fez seu teste
- Ver commits grandes, sem muita explicação nas mensagens em seu repositório
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
- Fiz a análise dos requisitos presentes no modelo de negócio do desafio;
- A partir dos requisitos, busquei nos projetos que já realizei tecnologias e ideias para montar esse desafio;
- Idealizei e montei a prototipagem do projeto com base na minha vivência de projetos anteriores;
- A partir do protótipo, iniciei o desenvolvimento da aplicação.
- HTML5
- CSS3
- Javascript
- React.Js
- React Router
- Axios
- Hooks
- Redux
- React-Lottie
- React-AOS (Animation on Scroll)
- RTL (React Test Library)
A base de dados da aplicação foi feita utilizando a API do Mercado Livre com ênfase nos produtos de calçados e acessórios.
Primeiro faça a clonagem do projeto em algum diretorio do seu computador:
> cd "users/usuario/desktop/rockapps"
> git clone https://github.com/AdaoBJr/RockApps.git
Depois disso instale as dependências:
> npm install
O projeto vai iniciar em http://localhost:3000.