Files
obsidian/Test/EventKit/08 - Open Questions.md

109 lines
8.5 KiB
Markdown

---
tags:
- eventkit
---
# Open Questions
## Purpose
Remaining decisions and questions that need answers before or during implementation. Organised by topic area. See [[07 - Technical Requirements]] for decisions already made.
---
## Business & Scope
| # | Question | Options / Notes |
| --- | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| 1 | **Primary equipment types** — which sectors will be supported first? | Audio, lighting, video, staging, rigging, power, furniture, décor — prioritise for MVP |
| 2 | **Target company size** — small (1-5 people) or larger (20+)? | Affects complexity of RBAC, approval workflows, and UI |
| 3 | **Pricing model** — how will EventKit itself be offered? | Open source, freemium, paid self-hosted licence, or SaaS alongside self-hosted? |
| 4 | **MVP scope** — which module to build first? | Inventory + Scanning → Planning → CRM → Federation is a natural order |
| 5 | **Data migration** — what systems are companies migrating from? | Spreadsheets, Rentman, Current RMS, HireHop, custom systems — affects import tooling |
---
## Technical
| # | Question | Options / Notes |
| --- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| 6 | ~~**Tech stack** — backend language and framework?~~ | ✅ **Decided: Go** with ConnectRPC |
| 7 | **Frontend framework** | React, Vue, Svelte, SolidJS? PWA vs native mobile app? (ConnectRPC generates typed TS clients for any framework) |
| 8 | ~~**Database**~~ | ✅ **Decided: PostgreSQL 15+** |
| 9 | **Search engine** | Built-in DB search, or dedicated (Meilisearch, Typesense) for large catalogues? |
| 10 | **File storage** | Local filesystem, S3-compatible, or both? |
| 11 | **Real-time updates** | gRPC server-streaming (via ConnectRPC) is the natural choice. SSE fallback for browsers? |
| 12 | **Background jobs** | Go goroutines + internal queue, or external (Redis, NATS)? |
---
## Federation
| # | Question | Options / Notes |
| --- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
| 13 | **Discovery** — how do companies find each other? | Public directory, manual URL exchange, QR code handshake, or invitation link? |
| 14 | ~~**Protocol format**~~ | ✅ **Decided: gRPC via ConnectRPC** with Protobuf service definitions |
| 15 | **Pricing in federation** — should sub-hire rates be shared automatically? | Or negotiate out-of-band and just track the equipment movement? |
| 16 | **Asset ownership transfer** — can an asset be permanently sold to another instance? | Or only sub-hire (temporary)? |
| 17 | **Federation versioning** — how to handle protocol upgrades? | Protobuf's built-in backward compatibility helps here |
| 18 | **Dispute resolution** — what happens if companies disagree about asset condition? | Photo evidence at dispatch/return, timestamped condition logs |
---
## Scanning & Hardware
| # | Question | Options / Notes |
| --- | ------------------------------------------------------------------ | ------------------------------------------------------------ |
| 19 | **Primary scanning device** — phone cameras or dedicated scanners? | Phones (lower cost) vs. Bluetooth scanners (faster) vs. both |
| 20 | **Label printer** — should EventKit support direct printing? | Or generate PDFs and let users print on any printer? |
| 21 | **Existing barcodes** — do companies already have asset labels? | Need import/migration path for existing barcode schemes |
| 22 | **Offline requirements** — how often will users be offline? | Determines investment in offline-first architecture |
---
## CRM
| # | Question | Options / Notes |
| --- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| 23 | **Invoicing depth** — full invoicing or integration with existing accounting? | Full = more work but self-contained; integration = less reinvention |
| 24 | **Accounting integrations** — which platforms? | Xero, QuickBooks, FreshBooks, DATEV — prioritise for target market |
| 25 | **Email integration** — built-in email or link to external? | IMAP/SMTP integration vs. Gmail/Outlook API vs. just logging |
| 26 | **Marketing features** — email campaigns needed? | Or leave marketing to dedicated tools (Mailchimp, etc.)? |
---
## Planning
| # | Question | Options / Notes |
| --- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| 27 | **Crew management depth** — basic assignment or full scheduling? | Basic: assign people to events. Full: shifts, timesheets, payroll integration |
| 28 | **Transport planning** — basic or advanced? | Basic: assign vehicles. Advanced: route optimisation, weight distribution |
| 29 | **Venue database** — shared across instances? | Could be a federated feature — shared venue specs across the network |
| 30 | **Calendar integration** — which platforms? | Google Calendar, Outlook/Exchange, CalDAV — for crew and event sync |
---
## Priority Matrix
Suggested priority for answering these questions:
| Priority | Questions | Reason |
| -------------------------------------- | ------------------------------ | ------------------------------------------------- |
| ✅ **Answered** | 6, 8, 14 | Go, PostgreSQL, ConnectRPC/gRPC |
| 🔴 **Must answer before starting** | 1, 4, 7 | Scope and frontend framework |
| 🟡 **Answer during early development** | 2, 3, 9, 10, 11, 19, 23 | Affects architecture but can be deferred slightly |
| 🟢 **Answer before beta** | 5, 12, 13, 15-18, 20-22, 24-30 | Important but not blocking initial development |
---
## Related Documentation
- [[00 - System Overview]] — High-level system overview
- [[01 - Inventory Management]] — Inventory module design
- [[02 - Planning Module]] — Planning module design
- [[03 - CRM Module]] — CRM module design
- [[04 - Federation Architecture]] — Federation protocol design
- [[05 - Barcode and QR Scanning]] — Scanning and hardware
- [[06 - Module Integration]] — Cross-module workflows
- [[07 - Technical Requirements]] — Technical decisions made and remaining