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

5.8 KiB

tags
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)
  • 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)
  • Configurable retention per entity type (e.g. events: 5 years, audit logs: 7 years)
  • Configurable globally (e.g. "keep everything for 10 years")
  • 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
  • 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?

  • 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
  • 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)
  • Self-service with admin approval before activation
  • 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)?

  • Yes — full data export in JSON/CSV at any time
  • 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)
  • 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)
  • 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
  • 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?

  • Estimated at planning stage, actual recorded after event
  • Deducted from stock when event is confirmed
  • 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
  • Configurable per event priority level

Answer:


🔌 API & Developer Experience

12. API Documentation

How should the API be documented?

  • Auto-generated from Protobuf definitions (buf.build registry)
  • OpenAPI/Swagger (via ConnectRPC's REST mapping)
  • Both Protobuf docs + OpenAPI
  • 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)
  • 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?

  • Spreadsheets (Excel/Google Sheets)
  • Rentman
  • Flex Rental Solutions
  • Current RMS
  • EasyJob
  • Custom / in-house systems
  • 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
  • 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?

  • Yes — full keyboard navigation (like Linear)
  • Basic shortcuts only (Cmd+N new, Cmd+S save, etc.)
  • Not needed for MVP

Answer: