docs.zenspace.io
    docs.zenspace.io
    • 🧭 Introduction
    • 🧱 System Components
    • 🧰 Tech Stack
    • 🏗️ System Architecture
    • 🌐 Deployment Architecture
    • 🗄️ Database Design Documentation
    • API Endpoints
      • RaspberryPi
        • Heartbeat API
        • Retrieve all active sensors and device permissions
        • Control a device (e.g., turn on/off, adjust intensity)
        • Enable or disable a device
        • Register a meeting space ID and retrieve network details
      • Meeting Space
        • Schedule meeting space state
        • Get meeting spaces by customer
        • Get meeting space state by ID
        • Get meeting space state by device ID
        • Disable meeting space state
        • Send meeting space state by meeting space ID
        • Store meeting space availability
        • Create Google Calendar
      • Device Management
        • Create device
        • Create device sensors
        • Create or update admin unlock codes
        • Upload meeting space screenshot
      • Authentication
        • Create authorization token
      • Messaging
        • Send message to Android device
      • Booking
        • Send meeting space state by booking ID
        • Create or update booking

    🧱 System Components

    The Workspace Management system is a modular, cloud-connected ecosystem designed to manage SmartPods across public venues. Each component plays a unique role in booking, automation, and device control — all connected through APIs, databases, and IoT infrastructure. Below is an overview of each component, its purpose, stack, and external services.

    1. 🗂️ Booking Admin Portal#

    Web dashboard for internal staff to manage bookings, users, device overrides, reports, and pod availability across all locations.
    📦 Tech Stack
    React ^18.3.1, Redux Toolkit, Tailwind CSS, Shadcn UI
    React Router DOM, TanStack Table, FullCalendar
    React Hook Form, Zod, Date-fns, Moment.js
    Supabase JS, Stripe React, jsPDF
    🔗 Third-Party Services
    Stripe – payment processing
    Supabase – database, auth
    Google Calendar – booking sync (via Lambda)
    🧩 Responsibilities
    Manage global pod bookings
    Generate reports
    Control booking limits

    2. 👥 Booking Client Portal#

    Frontend used by customers to discover, book, and pay for pods in real time, with calendar and OTP features.
    📦 Tech Stack
    React, Redux Toolkit, Tailwind CSS, Shadcn UI
    React Hook Form, Zod, React Router DOM
    Date-fns, Moment.js, Supabase JS
    Stripe JS, React Stripe JS
    🔗 Third-Party Services
    Stripe – secure payments
    Supabase – user auth & data
    Google Calendar – meeting sync
    🧩 Responsibilities
    Booking search & payments
    User profile & auth
    Real-time availability display

    3. 🧑‍💼 Customer Admin Panel#

    Web portal for venue owners to manage their pods, bookings, access logs, and view pod usage analytics.
    📦 Tech Stack
    React ^18.3.1, Redux Toolkit, Tailwind CSS
    React Big Calendar, TanStack Table
    React QR Code, Axios, Supabase JS
    React Hook Form, Moment.js, Zod
    🔗 Third-Party Services
    Supabase – backend data
    Google Calendar – pod-level sync
    🧩 Responsibilities
    Manage pod-specific bookings
    Access QR generation
    Venue-specific analytics

    4. 📺 Meeting Room Display (Outside)#

    An Android-based kiosk interface placed outside each pod to show availability, allow walk-in reservations, and assist with check-ins.
    📦 Tech Stack
    Android SDK 34 (min 7), Java 21.0.2
    Firebase Core, FCM Messaging
    🔗 Third-Party Services
    Firebase – push notifications
    FCM – real-time command delivery
    🧩 Responsibilities
    Show current pod status
    Handle quick reservations
    Visual cue for availability

    5. 🖥️ Meeting Room Display (Inside)#

    Touch interface inside the pod to control lights, fan, extend time, and view session status. Connects with Raspberry Pi.
    📦 Tech Stack
    Android SDK 34 (min 7), Java 21.0.2
    Firebase Core, FCM Messaging
    🔗 Third-Party Services
    Firebase – messaging system
    FCM – device control
    🧩 Responsibilities
    Control devices (fan, light)
    Show remaining time
    Enable booking extension

    6. ☁️ AWS Lambda Backend#

    Serverless compute layer that processes all business logic, booking schedules, and device instructions across the system.
    📦 Tech Stack
    Python 3.12
    AWS Lambda, API Gateway, EventBridge
    CloudWatch, AWS SES
    🔗 Third-Party Services
    Supabase – DB connection
    Google Calendar – booking sync
    FCM – push to devices
    AWS SES – email services
    🧩 Responsibilities
    Booking conflict resolution
    Trigger IoT device commands
    Schedule-based automation

    7. 🍓 Raspberry Pi Controller#

    Raspberry Pi installed in each pod acts as a local device controller, receiving commands and triggering relays or sensors.
    📦 Tech Stack
    Python, Django
    🔗 Third-Party Services
    AWS Lambda – logic origin
    🧩 Responsibilities
    Control pod electronics
    Communicate with backend
    Log pod health/status

    8. 🔌 Hardware Devices#

    Embedded electrical hardware controlled by Raspberry Pi, responsible for actual physical control over lights, fans, etc.
    📦 Tech Stack
    Microcontrollers (Raspberry Pi, optional Arduino)
    GPIO, I2C, relays
    🔗 Third-Party Services
    N/A – local only (via Pi)
    🧩 Responsibilities
    Physical actuation of electrical devices
    Receive real-time GPIO signals
    Operate based on booking logic
    Previous
    🧭 Introduction
    Next
    🧰 Tech Stack
    Built with