217 lines
5.8 KiB
Markdown
217 lines
5.8 KiB
Markdown
---
|
|
tags:
|
|
- eventkit
|
|
- discovery-questions
|
|
---
|
|
|
|
# Discovery Questions — Round 5
|
|
|
|
We're narrowing in on the final implementation details. This round focuses on **data architecture**, **notification specifics**, **multi-tenancy edge cases**, and **operational workflows**.
|
|
|
|
---
|
|
|
|
## 🗄️ Data Architecture
|
|
|
|
### 1. Tenant Isolation (SaaS Mode)
|
|
|
|
For the shared-DB multi-tenancy with RLS — should tenants be able to:
|
|
|
|
- [ ] Share nothing (complete isolation, even separate schemas)
|
|
- [ ] Share reference data (e.g. common product catalogues, venue databases)
|
|
- [ ] Share everything except user data (federated approach within SaaS)
|
|
- [x] Complete isolation via RLS — no cross-tenant data ever
|
|
|
|
> **Answer:** Federate using Federation Architecture
|
|
|
|
### 2. Data Retention Policy
|
|
|
|
How long should data be kept?
|
|
|
|
- [ ] Indefinitely (never auto-purge)
|
|
- [x] Configurable retention per entity type (e.g. events: 5 years, audit logs: 7 years)
|
|
- [ ] Configurable globally (e.g. "keep everything for 10 years")
|
|
- [x] Follow Austrian/EU legal requirements (varies by document type)
|
|
|
|
> **Answer:**
|
|
|
|
### 3. File Versioning
|
|
|
|
When a file attached to an asset is updated (e.g. new manual version):
|
|
|
|
- [ ] Overwrite the old file
|
|
- [x] Keep version history (v1, v2, v3)
|
|
- [ ] Keep version history with diff/comparison view
|
|
|
|
> **Answer:**
|
|
|
|
---
|
|
|
|
## 🔔 Notifications
|
|
|
|
### 4. Notification Preferences
|
|
|
|
Should users control which notifications they receive?
|
|
|
|
- [x] Yes — granular per-event-type toggle (e.g. "notify me about overdue returns but not new quotes")
|
|
- [ ] Yes — but only broad categories (e.g. "inventory alerts", "CRM updates")
|
|
- [ ] No — admins configure notification rules globally
|
|
|
|
> **Answer:** Future feature
|
|
|
|
### 5. Email Templates
|
|
|
|
Should notification emails be customisable?
|
|
|
|
- [ ] Fixed templates (EventKit branding)
|
|
- [ ] Tenant-branded templates (company logo, colours)
|
|
- [ ] Fully customisable HTML templates per notification type
|
|
- [x] Tenant-branded for MVP, full customisation later
|
|
|
|
> **Answer:**
|
|
|
|
---
|
|
|
|
## 🏢 Multi-Tenancy & Operations
|
|
|
|
### 6. Tenant Onboarding
|
|
|
|
For SaaS, how should new tenants be set up?
|
|
|
|
- [ ] Self-service sign-up (create account → start using immediately)
|
|
- [x] Self-service with admin approval before activation
|
|
- [x] Manual onboarding (admin creates tenant)
|
|
- [ ] Self-service for MVP, approval flow later
|
|
|
|
> **Answer:**
|
|
|
|
### 7. Tenant Data Export
|
|
|
|
Should tenants be able to export all their data (GDPR Article 20)?
|
|
|
|
- [x] Yes — full data export in JSON/CSV at any time
|
|
- [x] Yes — full export + ability to delete all data (right to be forgotten)
|
|
- [ ] Admin-triggered export only
|
|
|
|
> **Answer:**
|
|
|
|
### 8. Tenant Limits / Quotas
|
|
|
|
Should the SaaS tier enforce limits?
|
|
|
|
- [ ] No limits (fair use policy)
|
|
- [x] Soft limits with warnings (e.g. "you have 10,000 assets, consider upgrading")
|
|
- [ ] Hard limits per plan (e.g. free: 100 assets, pro: 10,000, enterprise: unlimited)
|
|
- [x] Decide pricing tiers later
|
|
|
|
> **Answer:**
|
|
|
|
---
|
|
|
|
## 📋 Operational Workflows
|
|
|
|
### 9. Return Inspection Detail
|
|
|
|
When equipment returns from an event, how detailed should the inspection be?
|
|
|
|
- [ ] Simple: scan asset → mark as returned → done
|
|
- [ ] Standard: scan → condition check (good/damaged) → shelve
|
|
- [x] Detailed: scan → per-item checklist → photos → condition update → cleaning queue → shelve
|
|
- [ ] Configurable per product category
|
|
|
|
> **Answer:**
|
|
|
|
### 10. Consumable Allocation
|
|
|
|
How should consumables be tracked per event?
|
|
|
|
- [x] Estimated at planning stage, actual recorded after event
|
|
- [ ] Deducted from stock when event is confirmed
|
|
- [x] Deducted when physically dispatched (scan-based)
|
|
- [ ] Flexible — user chooses per consumable type
|
|
|
|
> **Answer:**
|
|
|
|
### 11. Asset Reservation Rules
|
|
|
|
When equipment is reserved for an event, should:
|
|
|
|
- [ ] Hard reservation — cannot be booked for anything else in that window
|
|
- [ ] Soft reservation — can be overridden with manager approval
|
|
- [x] Configurable per event priority level
|
|
|
|
> **Answer:**
|
|
|
|
---
|
|
|
|
## 🔌 API & Developer Experience
|
|
|
|
### 12. API Documentation
|
|
|
|
How should the API be documented?
|
|
|
|
- [x] Auto-generated from Protobuf definitions (buf.build registry)
|
|
- [ ] OpenAPI/Swagger (via ConnectRPC's REST mapping)
|
|
- [ ] Both Protobuf docs + OpenAPI
|
|
- [x] Minimal docs for now — just the .proto files
|
|
|
|
> **Answer:**
|
|
|
|
### 13. Plugin / Extension System
|
|
|
|
Should EventKit support third-party plugins or extensions?
|
|
|
|
- [ ] Yes — from the start (plugin API, hooks, event system)
|
|
- [x] Yes — but later (design for it now, implement later)
|
|
- [ ] No — keep it simple, extensibility via webhooks and API
|
|
|
|
> **Answer:**
|
|
|
|
### 14. Import from Other Systems
|
|
|
|
What systems might users migrate from?
|
|
|
|
- [x] Spreadsheets (Excel/Google Sheets)
|
|
- [x] Rentman
|
|
- [x] Flex Rental Solutions
|
|
- [x] Current RMS
|
|
- [x] EasyJob
|
|
- [x] Custom / in-house systems
|
|
- [x] Don't know yet — generic CSV import is enough for now
|
|
|
|
> **Answer:** All of the above, but optoinal feature for sumetimes in the future.
|
|
|
|
---
|
|
|
|
## 🎨 UI Detail
|
|
|
|
### 15. Table vs Card Views
|
|
|
|
For list pages (assets, events, contacts), should there be:
|
|
|
|
- [ ] Table view only (data-dense, sortable columns)
|
|
- [ ] Card view only (visual, thumbnail-based)
|
|
- [ ] Both — user toggles between table and card view
|
|
- [x] Table default, card view for specific entities (e.g. assets with photos)
|
|
|
|
> **Answer:**
|
|
|
|
### 16. Keyboard Shortcuts
|
|
|
|
Beyond Cmd+K, should there be keyboard shortcuts for common actions?
|
|
|
|
- [x] Yes — full keyboard navigation (like Linear)
|
|
- [ ] Basic shortcuts only (Cmd+N new, Cmd+S save, etc.)
|
|
- [ ] Not needed for MVP
|
|
|
|
> **Answer:**
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
- [[00-DiscoveryQuestions]] — Round 1 answers
|
|
- [[01-DiscoveryQuestions]] — Round 2 answers
|
|
- [[02-DiscoveryQuestions]] — Round 3 answers
|
|
- [[03-DiscoveryQuestions]] — Round 4 answers
|
|
- [[07 - Technical Requirements]] — Technical decisions made
|