WebMoney - Personal Finance Manager
🐛 PROBLEMA IDENTIFICADO: - Cliente pagava 1 assinatura mas recebia 2 faturas - Fatura 1: subscription_create (método confirm()) - Fatura 2: subscription_cycle (webhook PAYMENT.SALE.COMPLETED) - Ambas criadas com 8 segundos de diferença ✅ SOLUÇÃO IMPLEMENTADA: handlePaymentCompleted() agora verifica: 1. Se já existe fatura com mesmo paypal_payment_id - Evita duplicação por webhook reprocessado 2. Se já existe fatura paga HOJE para esta subscription - Evita duplicação do pagamento inicial - Webhook vem depois do confirm() 3. Só cria nova fatura se for pagamento recorrente genuíno 📊 RESULTADO: - Pagamento inicial: 1 fatura (subscription_create) - Renovação mensal/anual: 1 fatura (subscription_cycle) - Webhooks duplicados: ignorados com log 🗑️ LIMPEZA: - Removida fatura duplicada WM-2025-000002 do user_id 35 |
||
|---|---|---|
| .github | ||
| backend | ||
| docs | ||
| frontend | ||
| landing | ||
| .gitignore | ||
| ANALISE_CONTRATO_PRICE.md | ||
| ANALISE_CONTRATO_PRICE.txt | ||
| ANALISE_PRECIFICACAO.md | ||
| APRENDIZADOS_TECNICOS.md | ||
| cats_main.sql | ||
| CHANGELOG.md | ||
| CONFIGURACION_LOCAL.md | ||
| CREDENCIAIS_SERVIDOR.md | ||
| DKIM_DNS_RECORD.txt | ||
| ESPECIFICACIONES_WEBMONEY.md | ||
| ESTRUTURA_PROJETO.md | ||
| IMPLEMENTACAO_ORCAMENTOS_SUBCATEGORIA.md | ||
| import_transactions.py | ||
| README.md | ||
| ROTEIRO_INSTALACAO_SERVIDOR.md | ||
| VERSION | ||
| Wanna.xlsx | ||
WEBMoney - ConneXiFly
Versão atual: 1.47.0
Última atualização: 17 de Dezembro de 2025
🌐 Visão Geral
Sistema de gestão financeira pessoal com interface moderna e funcionalidades avançadas.
| Componente | URL |
|---|---|
| Aplicação | https://webmoney.cnxifly.com |
| API Backend | https://webmoney.cnxifly.com/api |
| phpMyAdmin | https://phpmyadmin.cnxifly.com |
| Webmail | https://webmail.cnxifly.com |
🛠️ Stack Tecnológica
| Camada | Tecnologia |
|---|---|
| Backend | Laravel 12 + PHP 8.4 |
| Frontend | React 18 + Vite 7 + Bootstrap 5 |
| Banco de Dados | MariaDB 11.4 |
| Cache/Sessões | Redis |
| Servidor | Nginx + SSL (Let's Encrypt) |
| Autenticação | Laravel Sanctum (Bearer Tokens) |
✅ Funcionalidades
Core
- 🔐 Autenticação - Login/registro com tokens seguros
- 📊 Dashboard - Gráficos de fluxo de caixa, calendário, próximos vencimentos e vencidos
- 💰 Contas Bancárias - CRUD com ícones, cores e multi-moeda
- 📁 Categorias - 175 categorias com auto-classificação por keywords
- 🏢 Centros de Custo - Organização por projetos/departamentos
- 💳 Transações - Agrupamento por semana, filtros avançados
Avançado
- 📥 Importação de Extratos - XLSX, XLS, CSV, OFX, PDF
- 🔍 Detecção de Duplicatas - Identificação inteligente com auto-delete
- 🔄 Detecção de Transferências - Identifica movimentações entre contas
- 💸 Detecção de Reembolsos - Identifica pares gasto/devolução que se anulam
- 🏦 Contas Passivo - Financiamentos e empréstimos com parcelas
- 🔁 Transações Recorrentes - Templates com geração automática de parcelas
Planejamento & Relatórios
- 📊 Orçamentos - Por categoria, subcategoria ou centro de custos (mensal/bimestral/trimestral/semestral/anual)
- 🎯 Metas Financeiras - Objetivos de poupança com acompanhamento visual
- 📈 Relatórios - Vencidos, por categoria, fluxo de caixa
- 🩺 Saúde Financeira - Score de 0-100 com análise detalhada
Notificações & Configurações
- 📧 Alertas por Email - Notificação diária de pagamentos vencidos/a vencer
- ⚙️ Preferências - Configuração de notificações, idioma, timezone, moeda
- 👤 Perfil - Edição de nome, email e senha
Interface
- 🌙 Tema Dark - Interface profissional escura
- 🌍 Multi-idioma - ES, PT-BR, EN (detecção automática por país)
- 💱 Multi-moeda - 15 moedas suportadas
- 📱 Responsivo - Desktop e mobile otimizado
- 🍪 Cookie Consent - Banner LGPD/GDPR compliance
- 📱 PWA iOS - Progressive Web App com suporte completo (v1.39.0+)
Mobile UX (v1.40.0+)
- 📱 Sidebar Overlay - Menu hambúrguer com slide-in lateral
- 📅 Calendário Semanal - Navegação entre semanas em mobile (v1.42.0)
- 🔽 Widgets Colapsáveis - Dashboard otimizado para mobile:
- Calendário: colapso + navegação entre semanas
- Próximos 7 Dias: auto-expansão com dados
- Transações em Atraso: auto-expansão com dados
- ⚡ Touch Targets - Botões 44x44px (Apple HIG compliance)
Segurança (v1.19.0)
- 🛡️ Rate Limiting - 5 tentativas de login/min
- 🔒 Security Headers - XSS, CSP, HSTS
- 🍪 Cookie Hardening - HttpOnly, Secure, SameSite
- 🌐 CORS - Restrito ao domínio de produção
📦 Estrutura do Projeto
webmoney/
├── backend/ # Laravel API
│ ├── app/
│ │ ├── Http/Controllers/Api/ # Endpoints
│ │ ├── Models/ # Eloquent Models
│ │ └── Services/ # Lógica de negócio
│ ├── database/migrations/ # Schema do banco
│ └── routes/api.php # Rotas da API
│
├── frontend/ # React SPA
│ ├── src/
│ │ ├── components/ # Componentes reutilizáveis
│ │ ├── pages/ # Páginas da aplicação
│ │ ├── services/ # Chamadas API
│ │ └── i18n/ # Traduções
│ └── dist/ # Build de produção
│
├── VERSION # Versão atual
├── CHANGELOG.md # Histórico de mudanças
└── ESTRUTURA_PROJETO.md # Documentação técnica detalhada
🚀 Deploy
Frontend
cd frontend && ./deploy.sh
Backend
cd backend && ./deploy.sh
```github/.DIRETRIZES_DESENVOLVIMENTO_v5
## 📖 Documentação
| Arquivo | Descrição |
|---------|-----------|
| `CHANGELOG.md` | Histórico completo de versões |
| `ESTRUTURA_PROJETO.md` | Estrutura detalhada, endpoints, banco |
| `CREDENCIAIS_SERVIDOR.md` | Acessos ao servidor (confidencial) |
| `ESPECIFICACIONES_WEBMONEY.md` | Especificação funcional original |
| `.DIRETRIZES_DESENVOLVIMENTO_v2` | Regras de desenvolvimento |
## 🔗 Links Úteis
- **Servidor:** 213.165.93.60
- **Domínio:** cnxifly.com
- **Repositório:** github.com/marcoitaloesp-ai/webmoney
---
© 2025 ConneXiFly - WEBMoney