Cross-cutting
Shared engines and layers reused by many features: imports, exports, filters, files, i18n, realtime, permissions and error handling.
9 features · 36 use cases · 13 happy paths · 41 failure paths · 8 open findings
mindmap root((Cross-cutting)) CSV import engine Data export engine email delivery Filter and segment builder component File upload, gallery and image modal Multi-language content authoring Realtime updates Pusher Role and module permission layer Error presentation and API error mapping Product analytics and error monitoring
Features
| Feature | Modules | Use | ✅ | ⛔ | Risk |
|---|---|---|---|---|---|
| CSV import engine The shared engine behind every bulk import in the product: upload a CSV, auto-map its headers to model attributes, choose the separator, the… | — | 4 | 1 | 8 | 🔵 Low |
| Data export engine (email delivery) The shared export path: a POST to /api/v4/exports naming the model, the active filters, the filter combinator and the chosen columns, with… | — | 4 | 1 | 4 | 🟠 Medium |
| Filter & segment builder component The reusable filter builder used across list screens and the segment editor: grouped filter options, per-filter operations and values, an AN… | — | 4 | 2 | 4 | 🔵 Low |
| File upload, gallery & image modal The shared upload and media-browsing layer behind store images, proposal images and audio, centre branding, app-button images, intranet file… | — | 5 | 1 | 5 | — |
| Multi-language content authoring Every customer-facing entity carries a per-language record for its translatable fields, and the editors expose languages as wizard steps — t… | — | 4 | 1 | 4 | 🟠 Medium |
| Realtime updates (Pusher) A websocket channel used for two things: streaming a customer’s captured signature into the open customer form, and delivering AI-generated … | — | 3 | 2 | 3 | 🔵 Low |
| Role & module permission layer Access control is the product of two independent dimensions — the user’s staff level and the centre’s enabled modules — expressed as 55 embe… | — | 5 | 2 | 5 | 🟠 Medium |
| Error presentation & API error mapping The shared plumbing that turns model validation failures and API error payloads into field-level messages and page banners, plus the custom … | — | 4 | 2 | 5 | 🟠 Medium |
| Product analytics & error monitoring A vendor-agnostic analytics facade that records page views and ~88 named product events (exports, imports, AI filter use, segment saves, sta… | — | 3 | 1 | 3 | 🟠 Medium |
Findings in this area
- 🟠 Medium R04 · Export spinner never clears on failure
- 🟠 Medium R06 · AI filter sends prompt text to Sentry
- 🟠 Medium R07 · campaign canDelete compares a role to a status
- 🟠 Medium R08 · Error handler crashes on payloads without status
- 🟠 Medium R14 · Secondary-language content is not enforced
- 🔵 Low R16 · Segment refresh and save hide failures
- 🔵 Low R20 · Portuguese string in the English bundle
- 🔵 Low R26 · Realtime updates have no reconnect