Commit Graph

40 Commits

Author SHA1 Message Date
27d7e91896 feat: opções de visualização de transações (semanal, mensal, todas)
- Adicionado seletor de viewMode: 'week', 'month', 'all'
- Backend ajustado para trazer todos os dados quando viewMode é month/all
- Agrupamento por mês no frontend
- Lista flat para visualização 'todas'
- Traduções i18n para pt-BR, en, es
2025-12-19 15:00:36 +01:00
44bc999840 feat: melhorias no filtro de transações
- Filtro 'Sem Categoria' mostra lista flat ao invés de agrupada por semanas
- Transações futuras aparecem quando qualquer filtro está ativo
- Filtro de data parcial (só data inicial ou só data final)
- COALESCE para effective_date com fallback para planned_date
- Traduções i18n para filteredResults, filterActive, uncategorized
2025-12-19 14:28:27 +01:00
f2e032f002 feat: adicionar filtro 'Sem Categoria' nas transações
- Backend: suporte para category_id=uncategorized nos endpoints index e byWeek
- Frontend: opção 'Sem Categoria' no CategorySelector com prop showUncategorized
- Permite filtrar 525 transações importadas que ainda não foram categorizadas
2025-12-19 12:12:07 +01:00
54cccdd095 refactor: migração para desenvolvimento direto no servidor
- Removido README.md padrão do Laravel (backend)
- Removidos scripts de deploy (não mais necessários)
- Atualizado copilot-instructions.md para novo fluxo
- Adicionada documentação de auditoria do servidor
- Sincronizado código de produção com repositório

Novo workflow:
- Trabalhamos diretamente em /root/webmoney (symlink para /var/www/webmoney)
- Mudanças PHP são instantâneas
- Mudanças React requerem 'npm run build'
- Commit após validação funcional
2025-12-19 11:45:32 +01:00
marcoitaloesp-ai
6a86b2627d
fix: Remove undefined businesses() relation call in AssetAccountController
- Fixed 500 error on POST /api/asset-accounts/wizard
- business_id is now optional and only set if provided in request
- Previously tried to call User::businesses() which doesn't exist
2025-12-18 19:27:57 +00:00
marcoitaloesp-ai
9c9d6443e7
v1.57.0: Redesign category modals + i18n updates + demo transactions fix
- Redesigned category create/edit modal with elegant wizard-style UI
- Redesigned batch categorization modal with visual cards and better preview
- Added missing i18n translations (common.continue, creating, remove)
- Added budgets.general and wizard translations for ES, PT-BR, EN
- Fixed 3 demo user transactions that were missing categories
2025-12-18 19:06:07 +00:00
marcoitaloesp-ai
6292b62315
feat: complete email system redesign with corporate templates
- Redesigned all email templates with professional corporate style
- Created base layout with dark header, status cards, and footer
- Updated: subscription-cancelled, account-activation, welcome, welcome-new-user, due-payments-alert
- Removed emojis and gradients for cleaner look
- Added multi-language support (ES, PT-BR, EN)
- Fixed email delivery (sync instead of queue)
- Fixed PayPal already-cancelled subscription handling
- Cleaned orphan subscriptions from deleted users
2025-12-18 00:44:37 +00:00
marcoitaloesp-ai
c99bca9404
v1.53.0: Fix admin middleware, deploy cnxifly pages from server 2025-12-17 17:42:46 +00:00
marcoitaloesp-ai
3a336eb692
feat: Admin user management + SaaS limits tested v1.51.0
- Add UserManagementController@store for creating users
- Add POST /api/admin/users endpoint
- Support user types: Free, Pro, Admin
- Auto-create 100-year subscription for Pro/Admin users
- Add user creation modal to Users.jsx
- Complete SaaS limit testing:
  - Free user limits: 1 account, 10 categories, 3 budgets, 100 tx
  - Middleware blocks correctly at limits
  - Error messages are user-friendly
  - Usage stats API working correctly
- Update SAAS_STATUS.md with test results
- Bump version to 1.51.0
2025-12-17 15:22:01 +00:00
marcoitaloesp-ai
679a1bc4b2
feat(subscriptions): Add PayPal integration for SaaS (Fase 3) v1.50.0
Backend:
- PayPalService with OAuth2, subscriptions, webhooks
- SubscriptionController with status, subscribe, confirm, cancel, invoices
- Webhook handlers for PayPal events (activated, cancelled, expired, payment)
- Config for PayPal credentials

Frontend:
- Pricing.jsx: Plans page with cards, FAQ, trust badges
- Billing.jsx: Subscription management, invoices list, cancel modal
- Added routes /pricing (public) and /billing (auth)
- Navigation links in Settings menu

Translations:
- pricing.* and billing.* keys in ES, PT-BR, EN
- nav.pricing, nav.billing

Ready for PayPal Sandbox testing once credentials are configured.
2025-12-17 10:56:54 +00:00
marcoitaloesp-ai
0adb5c889f
feat(subscriptions): sistema de assinaturas SaaS v1.49.0
- Criar tabela plans com Free, Pro Monthly, Pro Annual
- Criar tabela subscriptions com status e integração PayPal
- Criar tabela invoices com numeração sequencial WM-YYYY-NNNNNN
- Models: Plan, Subscription, Invoice com helpers
- User: hasActiveSubscription(), onTrial(), currentPlan(), etc.
- API: GET /api/plans (público)
- Seeder: PlansSeeder com 3 planos base
- Fase 2 do roadmap SaaS concluída
2025-12-17 10:46:34 +00:00
marcoitaloesp-ai
abaf0097c5
feat(profile): perfil completo para SaaS v1.48.0
- Expandir tabela users com campos para SaaS
- Adicionar: first_name, last_name, phone_country_code, phone
- Adicionar: accept_whatsapp, accept_emails, country, timezone, locale
- User Model: accessors fullName e fullPhone
- Profile.jsx: formulário completo com DDI, checkboxes, seletores
- Traduções i18n em ES, PT-BR, EN
- Fase 1 do roadmap SaaS concluída
2025-12-17 10:40:20 +00:00
marcoitaloesp-ai
38defe1060
v1.47.0 - Página Meu Perfil: editar nome, email e senha 2025-12-17 10:22:04 +00:00
marcoitaloesp-ai
135dc56eb6
chore: Improve email anti-spam compliance and update server docs
- Add proper email headers: X-Mailer, X-Priority, Precedence, List-Unsubscribe
- Improve HTML template with XHTML doctype for better compatibility
- Add compliance footer with unsubscribe link and address
- Remove accented characters from email template (spam trigger)
- Update CREDENCIAIS_SERVIDOR.md with:
  - Current service versions (PHP 8.4.15, Nginx 1.29.4, etc)
  - DNS anti-spam status (SPF , DMARC , DKIM ⚠️ pending)
  - DKIM key for DNS publication
  - Cron job documentation
  - New API endpoints (/preferences)
2025-12-17 10:04:44 +00:00
marcoitaloesp-ai
19dcdce262
feat: Add daily due payments notification system with user preferences
## New Features
- Email notifications for overdue and upcoming payments
- User preferences page for notification settings
- Daily scheduler to send alerts at user-configured time
- Smart analysis: payable items, transfer suggestions between accounts

## Backend
- Migration for user_preferences table
- SendDuePaymentsAlert Artisan command
- DuePaymentsAlert Mailable with HTML/text templates
- UserPreferenceController with test-notification endpoint
- Scheduler config for notify:due-payments command

## Frontend
- Preferences.jsx page with notification toggle
- API service for preferences
- Route and menu link for settings
- Translations (PT-BR, EN, ES)

## Server
- Cron configured for Laravel scheduler

Version: 1.44.5
2025-12-17 09:57:40 +00:00
marcoitaloesp-ai
6149aee7ac
v1.43.26 - FIX: Erro 500 em projection-chart 2025-12-16 20:33:04 +00:00
marcoitaloesp-ai
d47201bca7
v1.43.25 - REESCRITA COMPLETA: Lógica de projeção corrigida 2025-12-16 20:30:23 +00:00
marcoitaloesp-ai
83a4d91029
v1.43.24 - FIX CRITICAL: Projeção inclui recurring_instances vencidas 2025-12-16 20:25:08 +00:00
marcoitaloesp-ai
e1a01cab91
v1.43.21 - FIX CRÍTICO: Instâncias de recorrências vencidas na projeção 2025-12-16 20:13:32 +00:00
marcoitaloesp-ai
580d318e85
v1.43.20 - FIX: Projeção de saldo inclui transações pendentes vencidas 2025-12-16 20:10:54 +00:00
marcoitaloesp-ai
777fb32626
v1.43.18 - Hard delete de templates recorrentes 2025-12-16 18:04:59 +00:00
marcoitaloesp-ai
30d58c375c
v1.43.10 - FIX: Drill-down incluindo categoria pai nas subcategorias 2025-12-16 16:40:21 +00:00
marcoitaloesp-ai
bb06ca8fae
v1.43.9 - Drill-down de 3 níveis em Centros de Custo (Centro → Categoria → Subcategoria) 2025-12-16 15:34:02 +00:00
marcoitaloesp-ai
bdfcc8f60b
FIX v1.43.8 - Corrigido agrupamento de subcategorias
A query padrão agora agrupa por categoria pai usando COALESCE(c.parent_id, c.id),
somando as transações de todas as subcategorias.

Antes: Transações em subcategorias (Supermercado, Restaurantes) não apareciam
Agora: Alimentação mostra total de Supermercado + Restaurantes + todas subcategorias
2025-12-16 15:11:50 +00:00
marcoitaloesp-ai
7b9345dc80
v1.43.8 - Drill-down de subcategorias em relatórios
ADDED:
- Relatório Por Categoria agora suporta drill-down clicável
- Clicar em categoria pai exibe gráfico com suas subcategorias
- Botão Voltar para retornar às categorias principais
- Hover visual em linhas de tabela e cards clicáveis
- Backend aceita parent_id como parâmetro em /reports/by-category

CHANGED:
- Backend: query padrão mostra apenas categorias pai (parent_id IS NULL)
- Backend: nova query para subcategorias quando parent_id é fornecido
- Frontend: estado selectedCategory para rastrear navegação
- Frontend: onClick handlers em gráfico, tabela e cards

TRANSLATION:
- pt-BR: Distribuição de Subcategorias
- es: Distribución de Subcategorías
- en: Subcategory Distribution
2025-12-16 15:07:44 +00:00
marcoitaloesp-ai
f4a33b88bc
v1.38.0 - Projeção de Saldo considera transações em atraso + alerta visual 2025-12-15 16:57:26 +00:00
marcoitaloesp-ai
f9571656d5
fix: Correção relatórios de Passivos e Transações Futuras (v1.34.0)
- Relatório Passivos: total_amount → total_contract_value
- Transações Futuras: total_items → total_transactions
- Atualizado VERSION e CHANGELOG
2025-12-14 22:11:41 +00:00
marcoitaloesp-ai
8d9e022f9f
v1.33.0: Gráfico de projeção de saldo + reset completo do banco de dados
Added:
- Gráfico de projeção de saldo com período ajustável (1-12 meses)
- Endpoint GET /api/reports/projection-chart
- Componente BalanceProjectionChart com Chart.js
- Projeções baseadas em recorrências, passivos e transações agendadas
- Tradução completa (pt-BR, en, es)

Fixed:
- Type casting para parâmetro months no endpoint
- Query SQL simplificada sem exchange_rates
- Ordem de execução das migrações
- Permissões do bootstrap/cache (www-data)

Changed:
- Database reset completo (migrate:fresh)
- Usuário recriado com novo token API
- Deploy completo via scripts oficiais
2025-12-14 20:08:47 +00:00
marcoitaloesp-ai
1feb3354ea
fix(reports): corrigir future-transactions e overdue - v1.32.2
- Reescrito futureTransactions() com 3 fontes de dados:
  * Transações pending/scheduled (usando planned_date)
  * Cuotas de passivos pendentes
  * Projeções de recorrências ativas
- Adicionados helpers getNextRecurrenceDates() e advanceToNextOccurrence()
- Corrigida query SQL: removida referência c.name inexistente
- overdueTransactions() inclui cuotas e transações vencidas
- Deploy via script oficial deploy.sh

Closes: endpoints /api/reports/future-transactions e /api/reports/overdue
2025-12-14 19:20:06 +00:00
marcoitaloesp-ai
99be24e309
v1.32.1 - Fix Reports category totals bug, fix overdue endpoint, configure weekly server updates 2025-12-14 18:53:46 +00:00
marcoitaloesp-ai
39de07bf96
fix: Change transaction_date to effective_date in controllers and models 2025-12-14 16:38:32 +00:00
marcoitaloesp-ai
604302ada4
fix: Change transaction_type to type in controllers and models
- FinancialHealthController: Fix column name in queries
- ReportController: Fix column name in queries
- Budget model: Fix getSpentAmountAttribute query
2025-12-14 16:36:31 +00:00
marcoitaloesp-ai
854e90e23c
v1.32.0 - Financial Planning Suite: Health Score, Goals, Budgets & Reports
NEW FEATURES:
- Financial Health: Score 0-100, 6 metrics, insights, recommendations
- Goals: Create/edit savings goals, contributions, progress tracking
- Budgets: Monthly category limits, usage alerts, year summary
- Reports: 7 tabs with charts (category, evolution, projection, etc.)

BACKEND:
- New models: FinancialGoal, GoalContribution, Budget
- New controllers: FinancialHealthController, FinancialGoalController, BudgetController, ReportController
- New migrations: financial_goals, goal_contributions, budgets

FRONTEND:
- New pages: FinancialHealth.jsx, Goals.jsx, Budgets.jsx, Reports.jsx
- New services: financialHealthService, financialGoalService, budgetService, reportService
- Navigation: New 'Planning' group in sidebar

Chart.js integration for all visualizations
2025-12-14 16:31:45 +00:00
marcoitaloesp-ai
10d2f81649
v1.31.2: ConfirmModal, CategorySelector en batch modal, OverdueWidget horizontal, fix duplicate transaction 2025-12-14 16:09:01 +00:00
CnxiFly Dev
c31195b24f feat: Wine House product variants - 4 portion sizes (bottle/glass/half/tasting) v1.31.0 2025-12-14 11:56:57 +01:00
CnxiFly Dev
1be3355a00 v1.30.0: Fichas de Servicios, Horas Productivas, i18n completo, fix modal responsivo 2025-12-14 10:47:18 +01:00
CnxiFly Dev
84d9d7d187 feat(business): add Business section with Markup pricing v1.28.0
- Add business_settings table for Markup configuration
- Add product_sheets table for product technical sheets (CMV)
- Add product_sheet_items table for cost components
- Create BusinessSetting model with calculateMarkup() method
- Create ProductSheet model with recalculateCmv() method
- Create ProductSheetItem model for cost breakdown
- Add BusinessSettingController with CRUD + simulate-price endpoint
- Add ProductSheetController with CRUD + items management + duplicate
- Add Business page with 3 tabs (Settings, Products, Calculator)
- Add BusinessSettingsTab component with markup cards
- Add ProductSheetsTab component with product grid
- Add PriceCalculatorTab component with interactive simulator
- Add i18n translations in ES, PT-BR, EN
- Multi-currency support (EUR, BRL, USD)
2025-12-14 07:44:18 +01:00
CnxiFly Dev
9dc9f1a0a1 v1.27.6: Fix currency field in overdue/upcoming widgets, add common.items i18n 2025-12-13 21:32:51 +01:00
CnxiFly Dev
84a1dbae29 v1.27.4: Quick categorize, multi-currency dashboard, responsive sidebar, iPad Pro optimizations 2025-12-13 21:12:17 +01:00
CnxiFly Dev
6bb1adeef6 feat: IconSelector no modal de categoria + traducao costCenters.costCenter + categorias UTF-8 corrigidas 2025-12-13 18:33:14 +01:00