🧩 System Architecture
Data models

Device – Space

classDiagram direction RL class Device { deviceSN: string ... } class Space{ device: Device ... markers: Marker[] routines: Routines[] listings: Listing[] accounts: Account[] users: User[] } Space -- Device

Routine – Registers – Records – Markers

classDiagram direction RL class Routine { name: string ... } class Register{ routine: Routine type: RecordType values: string[] } class Record{ register: Register value: string attachments: File[] } class Marker{ records: Records[] ... } Marker -- Record Record -- Register Register -- Routine

Routine – Document — File

classDiagram direction RL class Routine { name: string ... documents: Document[] } class Document{ routine: Routine space: Space name: string description: string pages: File[] ... } class File{ fileIndex: string url: string ... documents: Document[] } Document -- Routine File -- Document

User — Account — Space

classDiagram direction RL class Account { name: string slug: string users: User[] spaces: Space[] ... } class Space { name: string ... user: Document[] accounts: Account[] } class User { ... spaces: Spaces[] accounts: Account[] } Account -- User User -- Space Account -- Space

Account — Folder – File

classDiagram direction RL class Account { name: string slug: string users: User[] spaces: Space[] ... } class Folder { name: string accounts: Account[] documents: Document[] ... } class File{ fileIndex: string url: string originalName: string parent: Folder ... } Folder -- Account File -- Folder

Space — Routine – Lisiting — Marker

classDiagram direction RL class Space { routines: Routine[] listings: Listing[] ... } class Routine { ... } class Listing { space: Space markers: Markers[] ... } class Marker{ routine: Routine space: Space listing: Listing ... } Routine -- Space Listing -- Space Marker -- Routine Marker -- Listing