67 Commits

Author SHA1 Message Date
Cauê Faleiros
0d6ef40c8e fix: preserve etiqueta product variants
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 42s
2026-06-01 09:54:30 -03:00
Cauê Faleiros
fce7bbf975 fix: title case campaign product names 2026-06-01 09:47:35 -03:00
Cauê Faleiros
a1aa071e1d fix: normalize campaign product size suffixes
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m44s
2026-06-01 09:27:54 -03:00
Cauê Faleiros
b886b357d7 perf: load dashboard metrics from analytics API
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 50s
2026-05-28 11:59:56 -03:00
Cauê Faleiros
f4cf4366ee perf: avoid blocking page render on data refresh
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
2026-05-28 11:46:11 -03:00
Cauê Faleiros
6dbc5ee190 perf: code split frontend routes
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 54s
2026-05-28 11:31:50 -03:00
Cauê Faleiros
cfdeb03786 feat: add backend analytics endpoints 2026-05-28 11:28:06 -03:00
Cauê Faleiros
fd89204973 feat: normalize order dates in database 2026-05-28 11:23:47 -03:00
Cauê Faleiros
3da299a8af test: add campaign queue coverage 2026-05-28 11:18:45 -03:00
Cauê Faleiros
e2d0e94080 add campaign observability page
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
2026-05-28 11:07:46 -03:00
Cauê Faleiros
6c0a78675c chore: persist local docker stack
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m39s
2026-05-28 10:49:46 -03:00
Cauê Faleiros
440c8cee1f combine ready products in campaign payload
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 46s
2026-05-27 16:31:26 -03:00
Cauê Faleiros
62a0bcfbc9 docs: add project context and remove boilerplate
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 44s
2026-05-27 16:18:10 -03:00
Cauê Faleiros
5e0bb1d83a accumulate stock deltas before campaigns
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 52s
2026-05-27 16:14:09 -03:00
Cauê Faleiros
72ded82ec7 extract frontend analytics helpers
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m12s
2026-05-27 15:58:12 -03:00
Cauê Faleiros
8c2590c56a refactor backend and persist stock campaign queue
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m32s
2026-05-27 15:00:23 -03:00
Cauê Faleiros
6ba8219596 fix: map N8N_WHATSAPP_TRIGGER_URL to backend container in docker-compose
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m7s
2026-05-26 15:57:53 -03:00
Cauê Faleiros
69f99b97c5 feat: add observability logs to stock waiting room for easier debugging in Portainer
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m8s
2026-05-26 15:11:00 -03:00
Cauê Faleiros
1f8baabf69 style: remove dynamic color coding from stock column to match table styling
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m26s
2026-05-25 11:35:15 -03:00
Cauê Faleiros
c47a64d831 feat: display available stock balance on products page based on n8n inventory updates 2026-05-25 11:26:00 -03:00
Cauê Faleiros
4ce1e9aedb style: remove WhatsApp link from client phone number
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m24s
2026-05-22 13:57:13 -03:00
Cauê Faleiros
fc8a5e47a0 fix: send Fone_Cliente from backend to frontend API response 2026-05-22 13:40:31 -03:00
Cauê Faleiros
174bb4841e feat: display customer phone number on client details page with WhatsApp quick link 2026-05-22 12:10:10 -03:00
Cauê Faleiros
9e52b2e44f feat: safely implement database idempotency, fallback IDs, and WhatsApp marketing export
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m30s
2026-05-22 10:54:54 -03:00
Cauê Faleiros
c77da0a9d0 feat: translate CSV export headers to pt-BR and format currency values
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m3s
2026-05-20 10:33:03 -03:00
Cauê Faleiros
ceecbc354d feat: add CSV export functionality to Clients and Products pages 2026-05-20 10:27:04 -03:00
Cauê Faleiros
2d85d2dcd5 feat: add date filter to clients page to analyze purchasing behavior within specific timeframes
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 50s
2026-05-15 11:46:26 -03:00
Cauê Faleiros
985d182743 fix: correctly initialize auto-refresh interval state from localStorage
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m7s
2026-05-15 11:10:27 -03:00
Cauê Faleiros
6aa9fff34c feat: persist auto-refresh interval across page reloads using localStorage
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m3s
2026-05-15 09:43:59 -03:00
Cauê Faleiros
fbd35d65af feat: make charts and legends clickable to navigate to product details
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m2s
2026-05-11 16:49:06 -03:00
Cauê Faleiros
8be7dbbe06 feat: make database idempotent by adding unique index and using UPSERT for order insertions
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m2s
2026-05-08 15:48:37 -03:00
Cauê Faleiros
d4fad9f6c1 style: replace insertion timestamp with original purchase date in client details 2026-05-08 15:33:48 -03:00
Cauê Faleiros
f6d4be1afb fix: safely parse n8n stringified numbers and add ID_Pedido to API response
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m16s
2026-05-08 14:10:06 -03:00
Cauê Faleiros
e66a90d583 feat: parse and display n8n order ID instead of data do pedido in client details 2026-05-08 10:58:36 -03:00
Cauê Faleiros
7959e18210 style: unify filter UI, add custom to-from date picker, and ensure all buttons use pointer cursors
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m10s
2026-05-07 16:05:22 -03:00
Cauê Faleiros
802558510f fix: override native browser date input format to explicitly show DD/MM/YY in custom period selector 2026-05-07 15:55:43 -03:00
Cauê Faleiros
df5f60e540 style: unify filter UI, add custom to-from date picker, and ensure all buttons use pointer cursors 2026-05-07 15:18:32 -03:00
Cauê Faleiros
b048c963dd feat: hide auto-refresh controls outside of dashboard and update refresh UI design 2026-05-07 15:07:44 -03:00
Cauê Faleiros
b986eafb98 feat: replace SSE with Grafana-style client polling and rich date presets 2026-05-07 14:52:45 -03:00
Cauê Faleiros
3bb46cff1a fix: stabilize color mapping by using persistent global hash and add SSE heartbeat
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m18s
2026-05-07 14:08:38 -03:00
Cauê Faleiros
d3167dbac1 fix: add X-Accel-Buffering header to bypass Nginx Proxy Manager buffering for SSE
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 40s
2026-05-07 13:25:18 -03:00
Cauê Faleiros
44028d3b41 feat: add pagination to Clients and Products pages to improve performance with large datasets
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m9s
2026-05-07 12:44:35 -03:00
Cauê Faleiros
4324e8e078 fix: disable nginx proxy buffering to allow SSE real-time updates in production
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 52s
2026-05-07 12:00:21 -03:00
Cauê Faleiros
e7f39a1e35 feat: implement consistent 20-color mapping for visible products across dashboard charts
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m30s
2026-05-07 11:28:37 -03:00
Cauê Faleiros
9e20dc997a feat: implement consistent 20-color mapping for visible products across dashboard charts
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 55s
2026-05-06 18:23:53 -03:00
Cauê Faleiros
a7bdd07c09 feat: implement consistent color mapping for products across charts
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m4s
2026-05-06 17:44:49 -03:00
Cauê Faleiros
c15de19180 feat: display revenue as currency in PieChart tooltip
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m12s
2026-05-06 17:24:11 -03:00
Cauê Faleiros
8f17f7b4fd feat: change PieChart to display Revenue by Product instead of quantity 2026-05-06 17:07:56 -03:00
Cauê Faleiros
8eb5d34247 fix: resolve SyntaxError in backend/index.js causing server crash
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 47s
2026-05-06 16:48:31 -03:00
Cauê Faleiros
16962c89ee feat: implement SSE real-time frontend updates on new payload reception
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 57s
2026-05-06 16:12:05 -03:00