Skip to content

Um sistema de carrinho de compras para uma cafeteria fictícia, desenvolvido com React, TypeScript e Styled Components, com funcionalidades de geolocalização e integração via API para busca de endereço pelo CEP.

Notifications You must be signed in to change notification settings

davisllv/CoffeDelivery

Repository files navigation

☕ Coffee Delivery

Aplicação para gerenciar um carrinho de compras de uma cafeteria fictícia.

Coffee Delivery

🚀 Sobre o Desafio

Este projeto foi desenvolvido para gerenciar um carrinho de compras de uma cafeteria fictícia, permitindo ao usuário:

✅ Listar produtos (cafés) disponíveis para compra ✅ Adicionar uma quantidade específica de itens no carrinho ✅ Aumentar ou remover a quantidade de itens no carrinho ✅ Preencher um formulário de endereço para entrega ✅ Exibir o total de itens no carrinho no Header ✅ Calcular o valor total do carrinho automaticamente

🛠️ Tecnologias Utilizadas

O projeto foi desenvolvido utilizando as seguintes tecnologias:

  • Vite - Ambiente de desenvolvimento rápido para React
  • 🟦 TypeScript - Superset do JavaScript
  • 🎨 Styled-Components - Estilização utilizando CSS-in-JS
  • 🌍 Axios - Cliente HTTP para requisições
  • 🌎 Geolocalização - API para obter a localização do usuário com base no CEP
  • 🏗️ Context API - Gerenciamento de estado global
  • 📌 React Hook Form + Zod - Validação e gerenciamento de formulários

📦 Instalação e Execução

  1. Clone o repositório
  git clone https://github.com/seu-usuario/coffee-delivery.git
  1. Acesse a pasta do projeto
  cd coffee-delivery
  1. Instale as dependências
  npm install
  # ou
  yarn install
  1. Execute o projeto
  npm run dev
  # ou
  yarn dev
  1. Acesse no navegador
http://localhost:5173

📸 Layout da Aplicação

O layout da aplicação foi baseado no design disponibilizado no Figma.

🔗 Acesse o layout no Figma

📚 Conceitos Utilizados

✔️ Estados e imutabilidade ✔️ Context API para gerenciamento global de estados ✔️ LocalStorage para persistência de dados ✔️ Métodos de array como reduce para cálculos ✔️ Rotas utilizando react-router-dom ✔️ Formulários com react-hook-form e zod

📌 Dependências Principais

{
  "@hookform/resolvers": "^3.10.0",
  "@phosphor-icons/react": "^2.1.7",
  "axios": "^1.7.9",
  "immer": "^10.1.1",
  "react": "^18.3.1",
  "react-dom": "^18.3.1",
  "react-hook-form": "^7.54.2",
  "react-router-dom": "^7.1.5",
  "styled-components": "^6.1.14",
  "zod": "^3.24.1"
}

📜 Licença

Este projeto está sob a licença MIT. Sinta-se à vontade para explorar, modificar e contribuir! 🧑‍💻✨


💙 Desenvolvido por Davi da Silva

About

Um sistema de carrinho de compras para uma cafeteria fictícia, desenvolvido com React, TypeScript e Styled Components, com funcionalidades de geolocalização e integração via API para busca de endereço pelo CEP.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages