Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ArthurDiogenes/drip-store

Repository files navigation

🏪 DripStore - E-commerce Moderno

Uma loja virtual completa de tênis e produtos esportivos desenvolvida com React e Tailwind CSS

React Tailwind CSS Vite Supabase

📋 Sobre o Projeto

A DripStore é uma aplicação de e-commerce completa desenvolvida para o Geração Tech 2.0. O projeto simula uma loja virtual real com funcionalidades avançadas de autenticação, carrinho de compras, sistema de pagamento e gestão de pedidos.

✨ Características Principais

  • Interface Moderna: Design responsivo e intuitivo
  • Autenticação Completa: Sistema de login, cadastro e gestão de perfil
  • Carrinho Inteligente: Persistência de dados e cálculos automáticos
  • Sistema de Checkout: Múltiplos métodos de pagamento e cálculo de frete
  • Gestão de Pedidos: Acompanhamento completo do status dos pedidos
  • Busca Avançada: Sistema de pesquisa com sugestões e filtros
  • Cupons de Desconto: Sistema promocional integrado

🛠️ Tecnologias Utilizadas

Frontend

  • React 19.1.0 - Biblioteca principal para construção da interface
  • Tailwind CSS 3.4.1 - Framework CSS utilitário para estilização
  • Vite 6.3.5 - Build tool e servidor de desenvolvimento
  • React Router Dom 7.6.0 - Roteamento do lado do cliente
  • Swiper 11.2.6 - Carrosséis e galerias interativas

Backend & Infraestrutura

  • Supabase - Backend as a Service (autenticação, banco de dados, storage)
  • PostgreSQL - Banco de dados relacional via Supabase
  • Lucide React - Ícones modernos e customizáveis

Ferramentas de Desenvolvimento

  • ESLint - Análise estática de código
  • PostCSS - Processamento de CSS
  • React Toastify - Notificações elegantes
  • UUID - Geração de identificadores únicos

🚀 Funcionalidades

🏠 Páginas Principais

  • Home: Banner dinâmico, produtos em destaque, categorias
  • Catálogo: Listagem com filtros avançados e busca
  • Produto: Galeria de imagens, variações, avaliações
  • Carrinho: Gestão de itens, cupons, cálculo de frete
  • Checkout: Finalização segura com múltiplas opções de pagamento

👤 Área do Cliente

  • Perfil: Edição de dados pessoais e endereços
  • Pedidos: Histórico completo com status em tempo real
  • Métodos de Pagamento: Gerenciamento de cartões salvos
  • Autenticação: Login/cadastro com validação completa

🛍️ Sistema de Compras

  • Carrinho Persistente: Mantém itens entre sessões
  • Cálculo de Frete: Baseado em CEP com múltiplas opções
  • Cupons de Desconto: Sistema promocional avançado
  • Checkout Seguro: Validação completa e confirmação

🔍 Recursos Avançados

  • Busca Inteligente: Sugestões em tempo real
  • Filtros Dinâmicos: Por marca, categoria, preço, etc.
  • Sistema de Avaliações: Ratings e comentários
  • Produtos Relacionados: Recomendações automáticas

⚙️ Configuração e Instalação

Pré-requisitos

  • Node.js 18+
  • npm ou yarn
  • Conta no Supabase

Instalação

# Clone o repositório
git clone https://github.com/ArthurDiogenes/drip-store.git

# Entre no diretório
cd drip-store

# Instale as dependências
npm install

# Configure as variáveis de ambiente
cp .env.example .env.local

Configuração do Banco de Dados

Execute as migrations na ordem numérica para configurar o banco:

  1. 001_create_user_profile.sql - Estrutura de usuários
  2. 002_create_catalog_structure.sql - Catálogo base
  3. 003_create_products.sql - Sistema de produtos
  4. 004_create_product_variations.sql - Variações de produtos
  5. 005_create_reviews_system.sql - Sistema de avaliações
  6. 006_create_orders_system.sql - Sistema de pedidos
  7. 007_create_coupons_system.sql - Sistema de cupons
  8. 008_create_cart_wishlist.sql - Carrinho e wishlist
  9. 009_create_functions_triggers.sql - Funções e triggers
  10. 010_create_indexes.sql - Índices de performance
  11. 011_initial_data.sql - Dados iniciais
  12. 012_sample_product.sql - Produto de exemplo

Executar o Projeto

# Modo desenvolvimento
npm run dev

# Build de produção
npm run build

# Pré-visualização da build
npm run preview

🎨 Componentes Principais

ProductCard

Exibe informações do produto com imagem, preço e promoções.

CartItem

Gerencia itens individuais no carrinho com controles de quantidade.

UserInfoSection

Interface para exibição e edição de dados do usuário.

StatusBadge

Indicadores visuais de status para pedidos.

Toast System

Sistema de notificações não-invasivas.

🔐 Autenticação e Segurança

  • Autenticação via Supabase: Login seguro com JWT
  • Proteção de Rotas: Middleware para páginas privadas
  • Validação de Dados: Validação client-side e server-side
  • Sanitização: Limpeza de dados de entrada
  • Criptografia: Senhas hasheadas automaticamente

🛒 Sistema de E-commerce

Gestão de Produtos

  • Categorização automática
  • Variações de cor e tamanho
  • Sistema de desconto e promoções
  • Galeria de imagens responsiva

Carrinho de Compras

  • Persistência entre sessões
  • Cálculos automáticos de subtotal
  • Aplicação de cupons de desconto
  • Validação de estoque

Sistema de Checkout

  • Múltiplos métodos de pagamento
  • Cálculo automático de frete
  • Validação de dados de entrega
  • Confirmação de pedido

📱 Responsividade

A aplicação é totalmente responsiva, funcionando perfeitamente em:

  • 📱 Dispositivos móveis (320px+)
  • 📟 Tablets (768px+)
  • 💻 Desktops (1024px+)
  • 🖥️ Telas grandes (1440px+)

🧪 Dados de Teste

Conta Supabase

Email: [email protected]
Senha: Drip@7933

Usuário de Demonstração

Email: [email protected]
Senha: demo123456

Cartões de Teste

Visa: 4111 1111 1111 1111
Mastercard: 5555 5555 5555 4444
Validade: 12/28
CVV: 123

CEPs para Teste de Frete

60000-000 (Fortaleza/CE) - Frete Reduzido
01000-000 (São Paulo/SP) - Frete Padrão
20000-000 (Rio de Janeiro/RJ) - Frete Padrão

🚀 Deploy

Build de Produção

npm run build

Pré-visualização

npm run preview

Deploy Automático

O projeto está configurado para deploy automático no Vercel

🤝 Como Contribuir

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-feature)
  3. Commit suas mudanças (git commit -m 'Adiciona nova feature')
  4. Push para a branch (git push origin feature/nova-feature)
  5. Abra um Pull Request

Padrões de Commit

feat: adiciona nova funcionalidade
fix: corrige bug
docs: atualiza documentação
style: mudanças de formatação
refactor: refatoração de código
test: adiciona testes

📚 Recursos de Aprendizado

🎯 Próximas Funcionalidades

  • Sistema de wishlist
  • Chat de atendimento
  • Programa de fidelidade
  • Avaliações e comentários
  • Sistema de notificações push
  • Dashboard administrativo
  • Integração com redes sociais
  • Sistema de afiliados

🐛 Problemas Conhecidos

Limitações Atuais

  • Pagamentos são simulados (não processa transações reais)
  • Cálculo de frete baseado em simulação
  • Sistema de estoque simplificado

Como Reportar Bugs

  1. Verifique se o bug já foi reportado nas Issues
  2. Abra uma nova issue com:
    • Descrição detalhada do problema
    • Passos para reproduzir
    • Screenshots (se aplicável)
    • Informações do ambiente (navegador, SO)

📄 Licença

Este projeto é licenciado sob a MIT License.

👨‍💻 Desenvolvedores

Arthur Diógenes
Arthur Diógenes
Filippe Monteiro
Filippe Monteiro
Lucas Carvalho
Lucas Carvalho

💖 Agradecimentos

  • UIEL, FIEC, ADECE, Gov. do Ceará e Digital College - Pelo oportunidade de participar do Geração Tech 2.0
  • Luan Oliveira dos Santos - Pela atenciosa orientação
  • Comunidade React - Pela documentação e suporte
  • Equipe Supabase - Pela plataforma incrível

Desenvolvido com ❤️ e muito ☕ pela equipe DripStore

⭐ Star no GitHub🐛 Reportar Bug💬 Discussões

About

Aplicação de e-commerce desenvolvida para o Geração Tech 2.0

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •