Skip to content

flaviare1s/drip-store

Repository files navigation

🏃‍♂️ Drip Store

E-commerce moderno de materiais esportivos

Live Demo Firebase React TailwindCSS

English | Português


📋 Sobre o Projeto

Drip Store é uma plataforma de e-commerce completa e moderna, especializada em materiais esportivos. Desenvolvida com foco em performance, experiência do usuário e design responsivo, a aplicação oferece uma solução end-to-end para compras online.

O design foi baseado no layout Figma fornecido pelo curso de Desenvolvimento Full Stack da Digital College, com implementação completa de autenticação, gerenciamento de carrinho e sistema de pedidos.

🔗 Acesse a demonstração ao vivo

✨ Funcionalidades

🔐 Autenticação Completa

  • Login/Cadastro via e-mail e senha
  • Login social (Google e Facebook)
  • Recuperação de senha
  • Gerenciamento de sessão com Context API

🛒 Carrinho de Compras

  • Adicionar/remover produtos
  • Ajustar quantidades
  • Cálculo automático de totais
  • Persistência de dados
  • Animações e feedback visual

🔍 Sistema de Busca e Filtros

  • Busca por nome do produto
  • Filtros por categoria (Tênis, Camisetas, Calças, Headphones)
  • Filtros por faixa de preço
  • Filtros por marca e condição (Novo/Usado)
  • Resultados em tempo real

📦 Gestão de Pedidos

  • Histórico completo de pedidos
  • Visualização de status e detalhes
  • Checkout simplificado com formulário validado
  • Página de confirmação

🎨 Interface e Experiência

  • Design responsivo (Mobile First)
  • Carrossel de produtos em destaque
  • Cards interativos com hover effects
  • Navegação intuitiva com React Router
  • Notificações toast para feedback
  • Loading states e skeleton screens

🛠️ Tecnologias Utilizadas

Frontend

Backend e Infraestrutura

  • Firebase 10.13.1
    • Authentication - Gerenciamento de usuários e login social
    • Firestore - Banco de dados NoSQL em tempo real
    • Hosting - Deploy e hospedagem do projeto

Bibliotecas Auxiliares

Ferramentas de Desenvolvimento

  • ESLint 9.9.0 - Linting e qualidade de código
  • PostCSS 8.4.45 - Processamento de CSS
  • Autoprefixer 10.4.20 - Compatibilidade de CSS

📁 Estrutura do Projeto

drip-store/
├── src/
│   ├── assets/           # Imagens e recursos estáticos
│   ├── components/       # Componentes reutilizáveis
│   │   ├── Header/       # Navegação e busca
│   │   ├── Home/         # Componentes da página inicial
│   │   ├── Products/     # Filtros e cards de produtos
│   │   └── CartCheckout/ # Carrinho e checkout
│   ├── contexts/         # Context API (UserContext)
│   ├── firebase/         # Configuração e serviços Firebase
│   │   ├── config.js     # Inicialização do Firebase
│   │   ├── auth.js       # Funções de autenticação
│   │   ├── produto.js    # CRUD de produtos
│   │   └── pedido.js     # Gestão de pedidos
│   ├── pages/            # Páginas da aplicação
│   ├── App.jsx           # Componente principal
│   └── main.jsx          # Entry point
├── public/               # Arquivos públicos
├── firebase.json         # Configuração do Firebase
├── tailwind.config.js    # Configuração do Tailwind
└── vite.config.js        # Configuração do Vite

🚀 Como Executar o Projeto

Pré-requisitos

  • Node.js (versão 16 ou superior)
  • npm ou yarn
  • Conta no Firebase

Instalação

  1. Clone o repositório
git clone https://github.com/flaviare1s/drip-store.git
cd drip-store
  1. Instale as dependências
npm install
  1. Configure o Firebase

Crie um arquivo .env na raiz do projeto com suas credenciais do Firebase:

VITE_FIREBASE_API_KEY=sua_api_key
VITE_FIREBASE_AUTH_DOMAIN=seu_auth_domain
VITE_FIREBASE_PROJECT_ID=seu_project_id
VITE_FIREBASE_STORAGE_BUCKET=seu_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=seu_sender_id
VITE_FIREBASE_APP_ID=seu_app_id
  1. Execute o projeto
npm run dev

O projeto estará disponível em http://localhost:5173

Build para Produção

npm run build
npm run preview

Deploy no Firebase

npm install -g firebase-tools
firebase login
firebase deploy

🎯 Desafios e Aprendizados

🔥 Integração com Firebase

A implementação completa do Firebase Authentication com múltiplos provedores (e-mail, Google e Facebook) apresentou desafios interessantes:

  • Configuração de OAuth no Facebook for Developers
  • Gerenciamento de estados de autenticação
  • Tratamento de erros e exceções específicas

📱 Responsividade e UX

O desenvolvimento de uma interface responsiva e fiel ao design original exigiu:

  • Implementação de breakpoints estratégicos com Tailwind
  • Otimização de imagens e assets
  • Testes extensivos em diferentes dispositivos
  • Animações e transições fluidas

🛒 Gerenciamento de Estado

Utilização de Context API para compartilhar o estado do carrinho e usuário entre componentes, garantindo sincronização e performance.

🎨 Design System

Criação de componentes reutilizáveis seguindo princípios de atomic design, facilitando manutenção e escalabilidade.

🔜 Próximas Melhorias

  • Implementar sistema de avaliações de produtos
  • Adicionar wishlist (lista de desejos)
  • Integração com gateway de pagamento
  • Sistema de cupons de desconto
  • Painel administrativo para gestão de produtos
  • Notificações por email
  • Modo escuro
  • PWA (Progressive Web App)
  • Testes unitários e de integração

👥 Contribuindo

Contribuições são sempre bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.

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

📄 Licença

Este projeto foi desenvolvido como parte do curso de Desenvolvimento Full Stack da Digital College.

🙏 Agradecimentos

  • Digital College - Pela formação e suporte durante o desenvolvimento
  • Professores e monitores que contribuíram com conhecimento e feedback
  • Comunidade React e Firebase pela documentação e recursos

📞 Contato

Flavia Reis

GitHub LinkedIn


⬆ Voltar ao topo

Desenvolvido por Flavia Reis

About

E-commerce usando React e Firebase

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages