Files
obsidian/Test/EventKit/00 - System Overview.md

119 lines
5.3 KiB
Markdown

---
tags:
- eventkit
---
# EventKit — System Overview
## Vision
EventKit is a **decentralised, [[04 - Federation Architecture|federated]]** [[01 - Inventory Management|inventory management]], [[02 - Planning Module|planning]], and [[03 - CRM Module|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.
---
## 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 - Inventory Management#Cases & Packing|flight cases]]** and move between **warehouses and venues**
- Everything is driven by **[[02 - Planning Module|event dates and schedules]]**
- **[[01 - Inventory Management#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 - Federation Architecture|federate]]** with trusted partners for cross-company workflows
- No central authority or vendor lock-in
- Equipment can be **[[04 - Federation Architecture#Global Asset Identity|tracked across company boundaries]]** via federation
### 3. Barcode / QR Code Scanning
- Every asset, case, and warehouse location gets a **[[05 - Barcode and QR Scanning#QR Code Design|scannable QR code]]**
- QR codes encode a **URL** — works with any phone camera or dedicated scanner
- Scanning powers [[05 - Barcode and QR Scanning#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"]
DB[(Database)]
Files[(File Storage)]
UI --> API
Scanner --> API
API --> DB
API --> Files
API --> Fed
API --> 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 - Inventory Management]] — Equipment, cases, locations, maintenance
- [[02 - Planning Module]] — Events, crew, transport, scheduling
- [[03 - CRM Module]] — Clients, pipeline, quotes
- [[04 - Federation Architecture]] — Decentralised design & protocol
- [[05 - Barcode and QR Scanning]] — Scanning workflows & label design
- [[06 - Module Integration]] — Cross-module flows
- [[07 - Technical Requirements]] — Non-functional requirements
- [[08 - Open Questions]] — Remaining decisions