6.8 KiB
tags
| tags | ||
|---|---|---|
|
Discovery Questions — Round 4
We're now deep into implementation territory. This round focuses on UI/UX workflows, edge cases, integrations, and operational details.
🖥️ UI & Workflows
1. Dashboard — What's Most Important?
What should the main dashboard show when a user logs in? Pick your top priorities:
- Upcoming events (next 7/14/30 days)
- Equipment utilisation overview
- Open quotes / pending approvals
- Overdue returns / missing equipment
- Revenue summary
- Low-stock consumable alerts
- Crew availability overview
- Recent activity feed
- Other: ___
Answer: Configurable dashboard per user. Multiple with simple view switching
2. Navigation Structure
How should the main app be structured?
- Sidebar navigation with module sections (Inventory, Planning, CRM, etc.)
- Top navigation bar with dropdowns
- Sidebar + command palette (Cmd+K) for quick navigation
- Other preference: ___
Answer:
3. Bulk Operations
Which bulk operations are critical for daily work?
- Bulk status change (e.g. mark 50 assets as "In Service")
- Bulk assign to event (select multiple assets → assign to pull list)
- Bulk print labels (select assets → generate label sheet)
- Bulk import (CSV upload for assets, contacts, products)
- Bulk export (export filtered views to CSV/Excel)
- All of the above
Answer:
📊 Reporting & Analytics
4. Report Output Formats
How should reports be delivered?
- In-app only (charts and tables on screen)
- PDF export
- CSV/Excel export
- Scheduled email delivery (e.g. weekly utilisation report)
- All of the above
Answer:
5. Custom Reports
Should users be able to build custom reports, or are predefined reports enough for MVP?
- Predefined reports only
- Predefined + simple filters/grouping
- Full custom report builder (drag-and-drop fields, custom calculations)
- Predefined for MVP, custom builder later
Answer:
🔄 Integrations & Webhooks
6. Webhook Events
Which events should trigger outbound webhooks? Pick the critical ones:
- Asset status changed (checked out, returned, damaged)
- Event status changed (confirmed, completed, cancelled)
- Quote approved / rejected by client
- Invoice paid
- Low stock alert
- Federation events (sub-hire request, asset transfer)
- All entity changes (CRUD on any major entity)
Answer:
7. Bank API Integration
You mentioned automatic payment tracking via bank APIs. Any preferences?
- Open Banking APIs (PSD2 — European standard)
- Specific bank: ___
- Generic bank statement import (CSV/MT940)
- Not sure yet — decide later
Answer:
📦 Warehouse Operations
8. Stocktake Process
How should stocktakes work?
- Full stocktake — scan everything, compare against expected inventory
- Partial/zone stocktake — scan specific areas/shelves
- Continuous rolling stocktake — scan a section each day
- All approaches
Answer: User selectable
9. Prep Workflow
When preparing equipment for an event, should there be a formal "prep checklist"?
- Yes — per-product checklist (e.g. "test power", "check firmware", "include accessories")
- No — just scan to check out, the pull list is the checklist
- Optional checklists — define per product category if wanted
Answer: User selectable.
10. Damage Reporting
When equipment returns damaged, what should happen?
- Flag asset as damaged, create maintenance task automatically
- Flag + photo evidence required
- Flag + photo + cost estimate for client charge-back
- Configurable workflow per damage severity
Answer: User selectable.
🌐 Federation — Edge Cases
11. Federation Downtime
When a federated partner's instance is offline, what should happen to pending requests?
- Queue in outbox, retry automatically when partner comes back
- Queue + notify admin after X hours of failed retries
- Fail immediately with manual retry option
Answer: User selectable.
12. Federation Data Sync
How much data should be visible about a partner's inventory?
- Nothing — they respond to availability queries in real-time
- Cached summary (category counts, general availability)
- Product catalogue shared (but not individual asset details)
- Configurable per trust level
Answer:
⚡ Performance & Infrastructure
13. Caching Strategy
For a Kubernetes deployment, what caching layer do you prefer?
- Redis (already considering for background jobs — reuse for caching)
- In-memory only (Go's built-in caching, no external dependency)
- No caching for MVP — optimise later
Answer: Redis
14. Database Migrations
How should schema migrations be handled?
- Automatic on startup (app runs migrations before serving)
- Separate migration step (run migrations explicitly before deploying new version)
- Both — auto for dev, explicit for production
Answer: Both — auto for dev, explicit for production
📄 Documents & Branding
15. Document Branding
For generated PDFs (quotes, invoices, pull lists), how customisable should branding be?
- Basic — company logo + name + colours
- Full template customisation (header, footer, fonts, layout)
- HTML/CSS template engine (users provide their own templates)
- Basic for MVP, full templates later
Answer: User selectable.
16. Document Numbering
How should quotes and invoices be numbered?
- Sequential:
INV-0001,INV-0002 - Year-based:
INV-2026-0001 - Configurable prefix + sequence per document type
- Other: ___
Answer: Configurable prefix + sequence per document type.
🧪 Testing & Quality
17. Testing Strategy
For development, which testing approach do you prefer?
- Unit tests + integration tests (standard)
- Unit + integration + E2E browser tests (Playwright/Cypress)
- Heavy emphasis on integration tests with testcontainers
- Whatever gets us shipping fastest with confidence
Answer:
18. Staging Environment
Should there be a formal staging/preview environment?
- Yes — dedicated staging with sample data
- Yes — ephemeral preview environments per PR (Kubernetes-native)
- No — local dev + production is enough for now
Answer: Yes — ephemeral preview environments per PR (Kubernetes-native) not with priority
Related Documentation
- 00-DiscoveryQuestions — Round 1 answers
- 01-DiscoveryQuestions — Round 2 answers
- 02-DiscoveryQuestions — Round 3 answers
- 07 - Technical Requirements — Technical decisions made