Skip to content

Aplicação de loja virtual de cafés desenvolvida com React e TypeScript. A aplicação utiliza estados, Context API e LocalStorage para gerenciar o carrinho de compras de forma persistente. Também faz uso de listas, propriedades e componentização para uma estrutura organizada e reutilizável.

Notifications You must be signed in to change notification settings

venturions/rocketseat-desafio-coffe-delivery

Repository files navigation

Desafio 2 Rocketseat - Coffee Delivery

Neste desafio, desenvolvi uma aplicação de loja virtual de cafés utilizando os fundamentos do React, juntamente com TypeScript. A aplicação foi estruturada com boas práticas de programação, clean code e utilização de bibliotecas para facilitar o desenvolvimento.

Fundamentos Utilizados

Ao desenvolver a aplicação, apliquei os seguintes fundamentos do React com TypeScript:

  • Estados: Utilizei os estados do React para controlar e atualizar as informações dinamicamente.
  • ContextAPI: Utilizei o Context API do React para compartilhar informações entre componentes sem a necessidade de passar props manualmente.
  • LocalStorage: Utilizei o LocalStorage para armazenar informações no navegador do usuário, permitindo que o carrinho de compras seja persistente entre sessões.
  • Imutabilidade do Estado: Mantive a imutabilidade do estado ao atualizar os dados, garantindo um melhor desempenho e prevenindo problemas de mutação indesejada.
  • Listas e Chaves no ReactJS: Utilizei listas e chaves do React para renderizar de forma eficiente os itens do carrinho de compras e da lista de produtos.
  • Propriedades: Utilizei propriedades para passar informações entre componentes, permitindo a reutilização e modularidade.
  • Componentização: Dividi a aplicação em componentes reutilizáveis e de responsabilidades específicas, promovendo a organização e manutenção do código.
  • Além disso, implementei responsividade na aplicação para que ela se adapte a diferentes tamanhos de tela, proporcionando uma experiência agradável em dispositivos móveis e desktops.

Bibliotecas Utilizadas

Para facilitar o desenvolvimento da aplicação, utilizei as seguintes bibliotecas:

  • Styled Components: Biblioteca para estilização de componentes no React.
  • React Hook Form: Biblioteca para lidar com formulários de maneira simples e eficiente.
  • Zod: Biblioteca para validação de esquemas de dados em tempo de execução.
  • React Grid System: Sistema de grid responsivo para React.
  • React Router: Biblioteca de roteamento para React.
  • Lodash: Biblioteca de utilitários JavaScript.

Instalação e Execução

Para instalar a aplicação, siga as etapas abaixo:

  1. Clone o projeto utilizando o comando: git clone https://github.com/venturions/rocketseat-desafio-coffe-delivery.git

  2. Acesse o diretório raiz do projeto no terminal.

  3. Execute o comando npm install para instalar as dependências necessárias.

Para executar a aplicação:

  1. No terminal, dentro do diretório raiz do projeto, digite o comando npm run dev.

  2. Acesse http://localhost:3000/ em seu navegador.

Certifique-se de ter o Node.js e o npm instalados em seu sistema antes de prosseguir com a instalação e execução da aplicação.

About

Aplicação de loja virtual de cafés desenvolvida com React e TypeScript. A aplicação utiliza estados, Context API e LocalStorage para gerenciar o carrinho de compras de forma persistente. Também faz uso de listas, propriedades e componentização para uma estrutura organizada e reutilizável.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published