Files
obsidian/Test/EventKit/DiscoveryQuestions/01-DiscoveryQuestions.md

244 lines
7.6 KiB
Markdown

---
tags:
- eventkit
- discovery-questions
---
# Discovery Questions — Round 2
Deeper questions building on your earlier answers. These target the remaining open items from [[08-OpenQuestions]] and drill into implementation details.
---
## 🎯 Scope & MVP
### 1. Primary Equipment Sectors
Which sectors should the MVP support first? Pick the top 2-3 that you'd want to demo:
- [x] Audio (PA systems, microphones, mixing desks)
- [x] Lighting (moving heads, LED fixtures, dimmers)
- [ ] Video (projectors, LED walls, cameras)
- [ ] Staging (decks, legs, railings)
- [x] Rigging (truss, motors, chains, shackles)
- [x] Power distribution (distros, cables, generators)
- [ ] Furniture (tables, chairs, bars, décor)
- [ ] Other: \_\_\_
> **Answer:**
### 2. MVP Build Order
The natural order seems to be: Inventory + Scanning → Planning → CRM → Federation. Do you agree, or would you re-order?
> **Answer:** I agree with the order.
### 3. EventKit's Own Pricing Model
How will EventKit itself be offered to customers?
- [ ] Fully open source (self-hosted only, community support)
- [x] Open core (free self-hosted, paid SaaS with premium features)
- [ ] Paid licence (self-hosted with per-seat or per-instance licence)
- [ ] SaaS only
- [ ] Other: \_\_\_
> **Answer:**
---
## ⚙️ Technical Architecture
### 4. Search
For asset/product search across potentially large inventories — start with PostgreSQL full-text search and add a dedicated engine later, or use something like Meilisearch from the start?
> **Answer:** Seems good to start with PostgreSQL full-text search and add a dedicated engine later.
### 5. File Storage
Where should uploaded files (photos, manuals, certificates) live?
- [ ] Local filesystem (simplest for self-hosted)
- [ ] S3-compatible object storage (MinIO for self-hosted, AWS S3 for SaaS)
- [x] Support both, configurable per deployment
> **Answer:**
### 6. Real-time Updates
Should the UI update in real-time (e.g. when another user scans an asset, dashboards update live)? If yes, gRPC server-streaming via ConnectRPC is the natural fit. Do you want this from the start?
> **Answer:** Not from the start, but it would be nice to have in the future.
### 7. Background Jobs
For tasks like sending emails, generating reports, processing federation messages — use Go's built-in concurrency (goroutines + internal queue), or an external broker like NATS or Redis?
> **Answer:** I want to deploy this on a Kubernetes cluster, so I would prefer to use an external broker like NATS or Redis.
---
## 📧 Communication & Integration
### 8. Email Integration
How should the CRM handle email?
- [ ] Just log emails manually (no integration)
- [ ] SMTP sending only (send from within EventKit, no inbox)
- [x] Full IMAP/SMTP integration (send and receive within EventKit)
- [ ] Gmail/Outlook API integration
- [ ] Start simple, expand later
> **Answer:** SMTP and IMAP integration would be nice to have utilizing features like sub-addressing to route emails to specific projects or clients.
### 9. Marketing Features
Should EventKit include any marketing tools (e.g. email campaigns, newsletters), or leave this to dedicated tools like Mailchimp?
> **Answer:** Not for now.
### 10. Calendar Sync
Should crew schedules and events sync with external calendars?
- [x] Google Calendar
- [x] Outlook / Exchange
- [x] CalDAV (generic)
- [x] iCal export only (manual, no live sync)
- [ ] Not needed for now
> **Answer:** CalDAV and iCal export only would be nice to have. And Google Calendar and Outlook / Exchange integration would be nice to have in the future.
---
## 📱 Scanning & Hardware
### 11. Primary Scanning Device
What should the primary scanning experience be?
- [ ] Phone camera only (lower cost of entry)
- [ ] Bluetooth barcode scanner paired to phone/tablet (faster for bulk ops)
- [x] Support both — phone camera as default, Bluetooth scanner as optional power-user feature
- [ ] Dedicated rugged scanner devices
> **Answer:**
### 12. Label Printing
How should QR labels be produced?
- [ ] Generate PDF sheets — users print on any label printer (Avery sheets, etc.)
- [ ] Direct integration with label printers (Brother QL, DYMO, Zebra)
- [x] Both — PDF as default, direct printing as optional
- [x] Not needed — users can print QR codes however they want
> **Answer:** Both — PDF as default, direct printing as optional. But not needed — users can print QR codes however they want.
---
## 🔗 Federation Details
### 13. Federation Versioning
When the federation protocol evolves (new fields, new RPCs) — should there be a formal version negotiation during handshake, or rely on Protobuf's built-in backward compat and just document breaking changes?
> **Answer:** Rely on Protobuf's built-in backward compat and just document breaking changes.
### 14. Dispute Resolution
When Company A returns equipment to Company B and they disagree about condition — what should EventKit provide?
- [ ] Photo evidence required at dispatch and return (comparison view)
- [x] Timestamped condition logs with before/after
- [ ] A formal dispute workflow (raise dispute, evidence, resolution)
- [x] Just logging — disputes handled out-of-band
- [ ] Some combination of above: \_\_\_
> **Answer:** Timestamped condition logs with before/after and just logging — disputes handled out-of-band.
---
## 🚛 Planning Details
### 15. Transport Planning
How advanced should transport logistics be?
- [ ] Basic: assign vehicles to events, simple load lists
- [x] Intermediate: weight/volume calculations, truck pack lists
- [x] Advanced: route optimisation, multi-stop planning, fuel tracking
- [x] Start basic, extend later
> **Answer:** Intermediate: weight/volume calculations, truck pack lists and advanced: route optimisation, multi-stop planning, fuel tracking. But start basic, extend later.
### 16. Venue Database
Should venue data be:
- [ ] Local only — each instance manages its own venue records
- [x] Federated — instances can share venue specs across the network
- [x] Start local, federate later
> **Answer:** Federated — instances can share venue specs across the network. But start local, federate later.
---
## 🌍 Localisation & Compliance
### 17. Language Support
Should the UI be localised from the start? If so, which languages for MVP?
- [ ] English only for MVP
- [x] English + German
- [x] Full i18n framework from the start, translations added incrementally
- [ ] Other: \_\_\_
> **Answer:** Full i18n framework from the start, translations added incrementally. But other: English + German to start of.
### 18. Currency & Tax
Which currency and tax regime should be supported first?
- [ ] EUR only (Austrian VAT rules)
- [ ] EUR + GBP (UK VAT / Austrian VAT)
- [x] Configurable from the start (currency, tax rates, tax ID formats)
> **Answer:** Configurable from the start (currency, tax rates, tax ID formats).
---
## 💡 UX & Design
### 19. Design Language
Do you have any preferences for the overall look and feel?
- [x] Clean and minimal (e.g. Linear, Notion)
- [ ] Dashboard-heavy with data density (e.g. Grafana, Datadog)
- [x] Modern and colourful (e.g. Figma, Notion)
- [ ] Reference app/website for inspiration: \_\_\_
> **Answer:** Designed using shadcn ui components.
### 20. Dark Mode
Should dark mode be supported?
- [x] Yes, as default
- [ ] Yes, as toggle (light default)
- [ ] Not needed for MVP
> **Answer:** Yes, as default. Eventually, I would like to have a toggle to switch between other color schemes as well (e.g. high contrast mode).
---
## Related Documentation
- [[08-OpenQuestions]] — Tracks which questions are still open
- [[00-DiscoveryQuestions]] — Round 1 answers
- [[07-TechnicalRequirements]] — Decisions already made