136 lines
5.7 KiB
Markdown
136 lines
5.7 KiB
Markdown
---
|
|
tags:
|
|
- eventkit
|
|
---
|
|
|
|
# EventKit — System Overview
|
|
|
|
## Vision
|
|
|
|
EventKit is a **decentralised, [[04-FederationArchitecture|federated]]** [[01-InventoryManagement|inventory management]], [[02-PlanningModule|planning]], and [[03-CRMModule|CRM]] platform purpose-built for the **event industry**. Each company hosts its own instance with full data sovereignty, while optional federation enables cross-company workflows like sub-hire tracking, equipment sharing, and inter-company asset visibility.
|
|
|
|
### Business Model
|
|
|
|
**Open core** — free self-hosted with community support, paid SaaS with premium features.
|
|
|
|
### MVP Scope
|
|
|
|
**Build order**: Inventory + Scanning → Planning → CRM → Federation
|
|
|
|
**Target sectors for MVP**:
|
|
|
|
- 🔊 Audio (PA systems, microphones, mixing desks)
|
|
- 💡 Lighting (moving heads, LED fixtures, dimmers)
|
|
- 🔩 Rigging (truss, motors, chains, shackles)
|
|
- ⚡ Power distribution (distros, cables, generators)
|
|
|
|
---
|
|
|
|
## Core Modules
|
|
|
|
| Module | Purpose | |
|
|
| ------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
| 01 - Inventory Management | Inventory Management | Track equipment assets, flight cases, consumables, warehouse locations, maintenance, and availability |
|
|
| 02 - Planning Module | Event Planning | Manage events end-to-end — pull lists, crew scheduling, transport/logistics, timelines, and venue specs |
|
|
| 03 - CRM Module | CRM | Client relationships, sales pipeline, quoting, invoicing, and communication tracking |
|
|
|
|
---
|
|
|
|
## Key Differentiators
|
|
|
|
### 1. Event-Industry Specialised
|
|
|
|
Not a generic inventory tool — built around the realities of event production:
|
|
|
|
- Equipment goes **out and comes back** (rental cycle, not linear supply chain)
|
|
- Assets live in **[[01-InventoryManagement#Cases & Packing|flight cases]]** and move between **warehouses and venues**
|
|
- Everything is driven by **[[02-PlanningModule|event dates and schedules]]**
|
|
- **[[01-InventoryManagement#Sub-hire Management|Sub-hire]]** between companies is a first-class workflow
|
|
|
|
### 2. Decentralised / Federated
|
|
|
|
- Every company runs their **own instance** with full control over their data
|
|
- Instances can **[[04-FederationArchitecture|federate]]** with trusted partners for cross-company workflows
|
|
- No central authority or vendor lock-in
|
|
- Equipment can be **[[04-FederationArchitecture#Global Asset Identity|tracked across company boundaries]]** via federation
|
|
|
|
### 3. Barcode / QR Code Scanning
|
|
|
|
- Every asset, case, and warehouse location gets a **[[05-BarcodeAndQRScanning#QR Code Design|scannable QR code]]**
|
|
- QR codes encode a **URL** — works with any phone camera or dedicated scanner
|
|
- Scanning powers [[05-BarcodeAndQRScanning#Scanning Workflows|workflows]]: check-out, check-in, stocktake, case packing, sub-hire receive/return
|
|
|
|
---
|
|
|
|
## System Architecture
|
|
|
|
```mermaid
|
|
graph TB
|
|
subgraph "Single Instance"
|
|
UI["Web UI / PWA"]
|
|
Scanner["Scanner Module"]
|
|
API["API Server"]
|
|
Fed["Federation Service"]
|
|
Worker["Background Workers"]
|
|
MQ[("NATS / Redis")]
|
|
DB[(Database)]
|
|
Files[(File Storage)]
|
|
|
|
UI --> API
|
|
Scanner --> API
|
|
API --> DB
|
|
API --> Files
|
|
API --> Fed
|
|
API --> MQ
|
|
MQ --> Worker
|
|
Worker --> DB
|
|
end
|
|
|
|
Fed <-->|"Federation Protocol\n(mTLS + signed requests)"| ExtFed["Other Instances"]
|
|
```
|
|
|
|
---
|
|
|
|
## Module Interaction
|
|
|
|
```mermaid
|
|
graph LR
|
|
CRM["CRM"] -->|"Client enquiry\n→ create event"| Planning["Planning"]
|
|
Planning -->|"Reserve equipment\nfrom pull list"| Inventory["Inventory"]
|
|
Planning -->|"Book crew &\narrange transport"| Resources["Crew & Transport"]
|
|
Inventory -->|"Availability data &\npricing"| Planning
|
|
Inventory -->|"Equipment costs"| CRM
|
|
CRM -->|"Client & pricing"| Planning
|
|
Planning -->|"Final costs & usage"| CRM
|
|
```
|
|
|
|
---
|
|
|
|
## Terminology
|
|
|
|
| Term | Definition |
|
|
| ---------------------- | ----------------------------------------------------------------------- |
|
|
| **Instance** | A single company's deployment of EventKit |
|
|
| Federation | The protocol enabling inter-instance communication |
|
|
| Asset | An individual, trackable piece of equipment (with serial number / UUID) |
|
|
| **Product / Model** | A type of equipment — assets are instances of a product |
|
|
| **Case / Flight Case** | A container holding multiple assets, tracked as its own entity |
|
|
| **Kit / Set** | A logical grouping of equipment that typically deploys together |
|
|
| Event | A job/gig — the core planning entity |
|
|
| Pull List | The equipment list required for a specific event |
|
|
| Sub-hire | Borrowing or lending equipment between companies |
|
|
| Consumable | Items that don't return (tape, batteries, haze fluid) |
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
- [[01-InventoryManagement]] — Equipment, cases, locations, maintenance
|
|
- [[02-PlanningModule]] — Events, crew, transport, scheduling
|
|
- [[03-CRMModule]] — Clients, pipeline, quotes
|
|
- [[04-FederationArchitecture]] — Decentralised design & protocol
|
|
- [[05-BarcodeAndQRScanning]] — Scanning workflows & label design
|
|
- [[06-ModuleIntegration]] — Cross-module flows
|
|
- [[07-TechnicalRequirements]] — Non-functional requirements
|
|
- [[08-OpenQuestions]] — Remaining decisions
|