Skip to content

AdaoBJr/RockApps

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoShoes - RockApps - Responsive Page

GitHub Pages:

Clique na imagem

🧑🏻‍💻👩🏾‍💻Desenvolvido por

@AdaoBJr


GoShoes

💡 Sobre o Projeto

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

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

🗺 Roteiro de Desenvolvimento

  1. Fiz a análise dos requisitos presentes no modelo de negócio do desafio;
  2. A partir dos requisitos, busquei nos projetos que já realizei tecnologias e ideias para montar esse desafio;
  3. Idealizei e montei a prototipagem do projeto com base na minha vivência de projetos anteriores;
  4. A partir do protótipo, iniciei o desenvolvimento da aplicação.

🛠 Tecnologias Usadas

  • HTML5
  • CSS3
  • Javascript
  • React.Js
  • React Router
  • Axios
  • Hooks
  • Redux
  • React-Lottie
  • React-AOS (Animation on Scroll)
  • RTL (React Test Library)

🎲 Base de dados

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.

🧙‍♂️ Como Iniciar o Projeto

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.

Vídeo de Demonstração da Aplicação