Commit Graph

226 Commits

Author SHA1 Message Date
Cauê Faleiros
ac692b8e10 Fix date range picker presets
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m26s
2026-06-15 09:54:18 -03:00
Cauê Faleiros
fdec698954 Show recent client orders by default
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m4s
2026-06-12 15:08:26 -03:00
Cauê Faleiros
c40fd71b95 Paginate client order history
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 51s
2026-06-12 14:53:28 -03:00
Cauê Faleiros
68a79838a2 Use RFM summaries for clients list
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m31s
2026-06-12 14:36:22 -03:00
Cauê Faleiros
ba27a342f8 Refine RFM page table UX
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m27s
2026-06-12 12:29:40 -03:00
Cauê Faleiros
fe8d0ff105 Add RFM segmentation analytics
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m12s
2026-06-12 11:22:57 -03:00
Cauê Faleiros
25ab6cd448 docs: refresh project context
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m6s
2026-06-11 11:22:22 -03:00
Cauê Faleiros
5883dc6298 fix: remove leading campaign product bullet
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m42s
2026-06-10 16:07:55 -03:00
Cauê Faleiros
7e3d0be595 fix: format campaign product list for whatsapp 2026-06-10 16:00:59 -03:00
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