Skip to content

🖥️ Landing page moderna para empresa de tecnologia angolana. Venda de computadores e eletrônicos com design responsivo e integração WhatsApp. Preparada para escalar para e-commerce.

License

Notifications You must be signed in to change notification settings

Emicy963/Infostore

Repository files navigation

🛍️ Infostore Frontend v2.0 - E-commerce React Application

React Tailwind CSS Vercel License Status

E-commerce moderno e completo desenvolvido em React para venda de computadores e eletrônicos em Angola.

🌐 Demo ao Vivo | 📖 Documentação | 🐛 Reportar Bug | 💡 Solicitar Feature


📋 Sobre o Projeto

Infostore v2.0 é uma aplicação e-commerce full-stack desenvolvida com as melhores práticas modernas de desenvolvimento web. Esta é a evolução da landing page v1.0, agora transformada em uma plataforma completa de vendas online integrada com backend Django REST.

🎯 Principais Funcionalidades

🛒 E-commerce

  • Catálogo Completo: Navegue por produtos com imagens, descrições e preços
  • Busca Avançada: Encontre produtos rapidamente com busca em tempo real
  • Filtros por Categoria: Organize produtos por tipo, marca e especificações
  • Carrinho de Compras: Adicione, remova e gerencie items no carrinho
  • Lista de Desejos: Salve produtos favoritos para comprar depois
  • Sistema de Pedidos: Acompanhe seus pedidos do início ao fim

####👤 Autenticação & Usuário

  • Registro/Login JWT: Autenticação segura com tokens
  • Perfil de Usuário: Gerencie seus dados pessoais
  • Histórico de Pedidos: Visualize todos os pedidos realizados
  • Wishlist Persistente: Lista de desejos salva na conta

🎨 Interface & UX

  • Dark Mode: Alterne entre tema claro e escuro
  • 100% Responsivo: Funciona perfeitamente em mobile, tablet e desktop
  • Animações Suaves: Micro-interações que melhoram a experiência
  • Loading States: Feedback visual em todas as ações
  • Error Handling: Mensagens de erro amigáveis e úteis

⚡ Performance

  • Lazy Loading: Imagens e rotas carregadas sob demanda
  • Code Splitting: Build otimizado com chunks separados
  • API Caching: Cache inteligente de requisições
  • Memoization: Componentes otimizados com React.memo()

🚀 Tecnologias

Core

Styling & UI

Development


📦 Instalação e Configuração

Pré-requisitos

  • Node.js 16.x ou superior
  • npm ou yarn
  • Backend Django rodando (v2.0.1+)

Instalação

# Clone o repositório
git clone https://github.com/Emicy963/Infostore.git
cd Infostore/frontend

# Instale dependências
npm install

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

# Edite .env e configure REACT_APP_API_URL
# REACT_APP_API_URL=http://localhost:8000/api/v2

# Inicie o servidor de desenvolvimento
npm start

O aplicativo abrirá em http://localhost:3000

Build para Produção

# Criar build otimizado
npm run build

# A pasta build/ conterá os arquivos estáticos prontos para deploy

📁 Estrutura do Projeto

frontend/
├── public/                     # Arquivos estáticos
│   ├── favicon.ico
│   ├── logo.png
│   ├── logo192.png
│   ├── logo512.png
│   └── manifest.json
│
├── src/
│   ├── components/            # Componentes React
│   │   ├── common/           # Componentes reutilizáveis
│   │   │   ├── Navbar.js
│   │   │   ├── Footer.js
│   │   │   └── ProductCard.js
│   │   └── pages/            # Páginas/Views
│   │       ├── Home.js
│   │       ├── ProductList.js
│   │       ├── ProductDetail.js
│   │       ├── Cart.js
│   │       ├── Login.js
│   │       └── Register.js
│   │
│   ├── contexts/             # Context API
│   │   ├── AuthContext.js    # Autenticação
│   │   ├── CartContext.js    # Carrinho
│   │   └── ThemeContext.js   # Tema (dark mode)
│   │
│   ├── services/             # API & Services
│   │   └── api.js           # Axios instance configurado
│   │
│   ├── utils/                # Utilitários
│   │   └── imageHelper.js   # Helpers de imagem e formatação
│   │
│   ├── App.js               # Componente raiz
│   ├── index.js             # Entry point
│   └── index.css            # Estilos globais
│
├── docs/                     # Documentação
│   ├── CONTRIBUTE.md        # Guia de contribuição
│   └── VERCEL_DEPLOY.md     # Guia de deploy Vercel
│
├── .env.example             # Template de variáveis
├── .gitignore
├── CHANGELOG.md             # Histórico de mudanças
├── package.json
├── README.md
├── tailwind.config.js       # Configuração Tailwind
└── vercel.json              # Configuração Vercel

⚙️ Configuração

Variáveis de Ambiente

Crie arquivo .env na raiz do frontend:

# Backend API URL
REACT_APP_API_URL=http://localhost:8000/api/v2

# Opcional: URL de media se diferente
# REACT_APP_MEDIA_URL=http://localhost:8000/media/

# Opcional: Debug mode
# REACT_APP_DEBUG=true

Backend Integration

O frontend espera que o backend esteja em:

  • Development: http://localhost:8000
  • Production: Configure via REACT_APP_API_URL

Importante: Configure CORS no backend para aceitar requests do frontend.


🖼️ Imagens & Assets

Estrutura de Imagens

  • Produtos: Servidos do backend via /media/product_img/
  • Categorias: Servidos do backend via /media/category_img/
  • Logos/Icons: Em /public/

Guidelines

Tipo Dimensões Formato Localização
Produto 800x800px JPG/PNG Backend media
Categoria 1200x400px JPG/PNG Backend media
Logo Header 256x256px PNG /public/logo.png
Favicon Multi-size ICO /public/favicon.ico
PWA Icons 192x192, 512x512 PNG /public/

Troubleshooting Imagens

Problema: Imagens não carregam (404)

Soluções:

  1. Verifique REACT_APP_API_URL em .env
  2. Confirme backend está rodando
  3. Verifique CORS no backend
  4. Reinicie dev server após mudar .env

🚀 Deploy

Vercel (Recomendado)

Deploy automático com GitHub:

# Via Vercel CLI
npm install -g vercel
vercel

# Ou use botão

Deploy com Vercel

Guia completo: docs/VERCEL_DEPLOY.md

Outros Provedores

  • Netlify: Suportado
  • GitHub Pages: Requer configuração adicional
  • AWS S3 + CloudFront: Suportado

🧪 Scripts Disponíveis

# Desenvolvimento
npm start          # Inicia dev server (localhost:3000)

# Build
npm run build      # Build de produção

# Testes
npm test           # Roda testes (se configurado)

# Linting
npm run lint       # Verifica código

# Formatação
npm run format     # Formata código (se configurado)

🤝 Como Contribuir

Contribuições são muito bem-vindas! 🎉

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

Veja CONTRIBUTE.md para detalhes.

Áreas para Contribuição

  • 🐛 Correção de bugs
  • ✨ Novas funcionalidades
  • 📱 Melhorias de UX/UI
  • 📖 Documentação
  • 🌐 Traduções
  • ⚡ Otimizações de performance

📊 Roadmap

v2.1.0 (Próximo Release)

  • Filtros avançados de produtos
  • Comparação de produtos
  • Recomendações personalizadas
  • Compartilhamento de wishlist
  • Profile page completo
  • Order tracking em tempo real

v2.2.0

  • Chat ao vivo
  • Sistema de cupons/descontos
  • Programa de fidelidade
  • Multi-idioma (PT/EN/FR)
  • PWA offline support

v3.0.0

  • App mobile (React Native)
  • Pagamentos integrados
  • Sistema de notificações
  • Dashboard do vendedor

🐛 Bug Reports & Feature Requests

Encontrou um bug ou tem uma sugestão?


📞 Contato & Suporte

Desenvolvedor: Anderson Cafurica


📄 Licença

Este projeto está sob a licença MIT. Veja LICENSE para mais informações.


🙏 Agradecimentos

  • React Team - Framework incrível
  • Tailwind Labs - CSS utility framework
  • Vercel - Hosting e deployment
  • Unsplash - Imagens de alta qualidade
  • Comunidade Open Source - Pelo suporte contínuo

📈 Status do Projeto

  • v1.0.0 - Landing page HTML (Deprecated)
  • v2.0.0 - React E-commerce (Current)
  • 🚧 v2.1.0 - Em desenvolvimento

🌟 Mostre seu Apoio

Se este projeto te ajudou, considere:

  • ⭐ Dar uma estrela no GitHub
  • 🐛 Reportar bugs
  • 💡 Sugerir melhorias
  • 🤝 Contribuir com código
  • 📢 Compartilhar com outros

Desenvolvido com ❤️ em Angola para o mundo 🇦🇴

⬆ Voltar ao topo

About

🖥️ Landing page moderna para empresa de tecnologia angolana. Venda de computadores e eletrônicos com design responsivo e integração WhatsApp. Preparada para escalar para e-commerce.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published