Uma aplicação de e-commerce simples desenvolvida com React para demonstrar um conceito de layout para uma loja online.
Este projeto é uma loja virtual minimalista com funcionalidades essenciais de comércio eletrônico, incluindo catálogo de produtos, carrinho de compras e navegação entre páginas.
- Catálogo de Produtos: Visualização de produtos com imagens, descrições e preços
- Carrinho de Compras: Sistema de adição de produtos ao carrinho com contador em tempo real
- Navegação: Sistema de rotas entre página inicial e produtos
- Interface Responsiva: Design moderno com CSS customizado
- Preços em BRL: Formatação de preços em Real Brasileiro
- React 19.2.0 - Biblioteca principal de UI
- React Router DOM 7.13.0 - Sistema de roteamento
- Vite 7.3.1 - Build tool e servidor de desenvolvimento
- FontAwesome - Ícones para a interface
loja/
├── public/ # Arquivos estáticos
├── src/
│ ├── components/ # Componentes React reutilizáveis
│ │ ├── Card.jsx # Card de produto individual
│ │ ├── Footer.jsx # Rodapé da aplicação
│ │ ├── Header.jsx # Cabeçalho com logo e carrinho
│ │ └── Navbar.jsx # Barra de navegação
│ ├── context/ # Context API para estado global
│ │ └── CartContext.jsx # Gerenciamento do carrinho
│ ├── data/ # Dados estáticos da aplicação
│ │ └── products.json # Catálogo de produtos
│ ├── pages/ # Páginas da aplicação
│ │ ├── Home.jsx # Página inicial
│ │ └── Products.jsx # Página de produtos
│ ├── App.css # Estilos globais
│ ├── App.jsx # Componente principal com rotas
│ ├── index.css # Estilos base
│ └── main.jsx # Ponto de entrada da aplicação
├── package.json # Dependências e scripts
├── vite.config.js # Configuração do Vite
└── README.md # Documentação do projeto
- App.jsx: Componente raiz que configura o React Router e estrutura geral
- Header.jsx: Cabeçalho com logo, navegação e ícone do carrinho com contador
- Card.jsx: Componente individual de produto com funcionalidade de adicionar ao carrinho
- Products.jsx: Página que renderiza o grid de produtos a partir do JSON
- CartContext: Context API para gerenciar o estado do carrinho globalmente
- useState: Hooks locais para gerenciamento de quantidade nos cards
- products.json: Arquivo JSON com 6 produtos de exemplo (id, nome, imagem, descrição, preço)
- Clone o repositório:
git clone <URL-DO-REPOSITORIO>
cd loja- Instale as dependências:
npm install- Inicie o servidor de desenvolvimento:
npm run dev- Abra o navegador no endereço
http://localhost:5173
npm run dev- Inicia servidor de desenvolvimentonpm run build- Build para produçãonpm run preview- Preview do build de produção
- Design Limpo: Interface minimalista com foco na usabilidade
- Grid Responsivo: Layout adaptativo para diferentes tamanhos de tela
- Feedback Visual: Badge no carrinho mostra quantidade de itens
- Validação de Input: Validação para quantidade positiva nos produtos
- Formatação BRL: Preços formatados automaticamente em Real Brasileiro
- Página Inicial: Mensagem de boas-vindas com link para produtos
- Navegação: Clique em "Produtos" no menu para acessar o catálogo
- Catálogo: Visualização de todos os produtos em grid
- Adicionar ao Carrinho: Selecionar quantidade e adicionar produtos
- Contador Atualizado: Badge no carrinho atualiza em tempo real
- Catálogo de produtos básico
- Sistema de carrinho de compras
- Página de checkout com gerenciamento de itens
- Interface responsiva
- Navegação entre páginas