- Motors Shop - Compra, Venda e Leição de Veículos e Motos
- Shalom!
Essa aplicação foi desenvolvida para o Projeto Final realizado nas sprints 4-8 do módulo 6 para a Kenzie Academy Brasil no intuito de revisar, treinar e validar os conhecimentos adquiridos ao longo do curso, que serão usados no mercado de trabalho.
O objetivo dessa aplicação é servir como um frontend para o projeto fullstack, chamado Motors Shop, parecido com uma "Olx de veículos".
Frontend
Backend
Principais tecnologias usadas nesse projeto:
Base URL do deploy: colocar o link do vercel aqui
Clone o projeto em sua máquina local e instale por meio do yarn ou npm:
yarn install
npm install
Para executar o projeto em sua máquina local utilize o comando start do yarn ou npm:
yarn start
npm start
OBS: Não se esqueça de executar a aplicação de backend para que tudo funcione corretamente, use esse link para ter acesso a ela: https://github.com/brunotiberio/s3-fullstack-teste-backend-brunotiberio
É possível acessar à documentação completa da API utilizada nessa aplicação.
Nessa mesma documentação é possível adquirir informações sobre os requests, chaves necessárias do request e informações de algumas rotas.
Conheça a API: https://motors-doc-api.vercel.app/
O Objetivo principal dessa aplicação é a validação dos conhecimentos do time nos seguintes tópicos:
- JavaScript;
- React;
- TypeScript;
- Componentização;
- CSS;
- Inicialmente, decidimos por começar pela análise do Figma proposto, com isso, pudemos observar e pesquisar quais eram as tecnologias, frameworks e libs que poderiam ser usadas no desenvolvimento.
- Fizemos o estudo das tecnologias que fossem necessárias.
- Iniciamos o desenvolvimento por duas frentes (backend e frontend) em concomitante. No frontend iniciamos com a criação da arquitetura e componentização
- Por fim, fizemos os demais fix necessários do código e a documentação da API
Foram criados, no total, 16 componentes, divididos em categorias:
- Header: cabeçalho da aplicação, onde é recebido o H1;
- Cards: onde são exibidos os cards relacionados aos anúncios, separados por Carro, Moto e Leilão;
- Footer: componente responsável pelo rodapé da aplicação;
- Inputs: que são relacionados aos inputs que vão a alguns dos modais utilizados na aplicação
- Modais: total de 9 itens, responsável por todos os modais da aplicação
Ao total, foram criadas 7 páginas para a construção da aplicação, sendo a Home, a que possui o componente vários componentes já criados.
- Home: página inicial da aplicação, onde são exibidos todos os veículos anunciados
- Dashborard: página dedicada a visualização de um anúncio
- Login e Register: responsável pelas requisições supracitadas
- Profile: mostra os dados do perfil do usuário e os anuncios ele (caso possua)
- Forgot e Recovery: local onde é feita a recuperação de senha do usuário
Para o desenvolvimento dessa aplicação, foram necessárias 8 rotas, sendo uma especial para o modal.
- /login -> aciona o Login
- / -> aciona a Home
- /dashboard -> aciona a Dashboard
- /profile -> aciona a ProfileView
- /forgot-password -> aciona a ForgotPassword
- /reset-password -> RecoveryPassword
- /register -> RegisterPage
- Especial: componente modal que analisa o state e entrega o modal adequado para cada solicitação
A configuração da API ocorre em "services", utilizando a tecnologia "Axios". Foram divididas em dois "creates", sendo um para rotas públicas e outro para rotas privadas (que busca a informação no localstorage)
Para os dados trafegarem pelos componentes, decidimos usar o contextAPI do próprio React, por ser mais simples de se configurar e escalar a aplicação, a ferramenta permite a criação de um estado com as respostas da API, dessa forma, conseguimos enviar os dados gerados por ela, para o componente, tratando os possíveis erros de entrada do usuário e de resposta da API e gerando os resultados esperados.
Utilizamos como ferramenta de estilização o Tailwind, por se tratar de uma ferramenta completa. Dessa forma, criamos um reset global e as variáveis globais para facilitar a estilização e pudemos criar componentes estilizados.
Queremos agradecer pela oportunidade de fazer esse projeto e pela dedicação do PO Marcelo Cabral por nos auxiliar do início ao fim.