🌐 Deployment Architecture
🧩 Deployment Architecture – Component Descriptions#
📁 Supabase (Bookings DB & Automation DB)#
Supabase serves as the backend database powering both booking and automation modules. It stores meeting reservations, device configurations, sensor logs, and user data using a scalable Postgres setup.
🧑💻 Booking Admin#
A web portal for system administrators to manage bookings, users, pod availability, and reporting.
Deployment: Hosted on AWS Amplify using CI/CD from CodeCatalyst.
Data Source: Connects to Supabase and communicates with AWS Lambda and API Gateway.
👤 Booking Client#
The main interface for customers to browse, book, and manage SmartPod reservations.
Deployment: Hosted on AWS Amplify with auto-deployment from CodeCatalyst.
Integrations: Stripe for payments, Supabase for user data and availability, Google Calendar for sync.
🔧 Automation Portal#
Used by internal teams to control and configure IoT devices inside SmartPods such as lights, fans, and locks.
Deployment: Hosted on AWS Amplify and linked to Raspberry Pi via API calls.
Functions: Manages device access, permissions, and real-time hardware commands.
📲 Meeting Pod Display (Outside Pod)#
An Android tablet mounted outside the pod that shows availability, meeting status, and allows check-ins.
Platform: Native Android (Java) with Firebase integration for updates and remote control.
📱 Meeting Pod Display (Inside Pod)#
A tablet inside the SmartPod that controls lights, fans, and door locks.
Platform: Native Android app using Firebase for notifications and UI to control pod environment.
🔌 Raspberry Pi (Django Server)#
Hardware controller inside each SmartPod that receives commands from the Automation Portal or Lambda functions.
Tech: Python + Django
Purpose: Translates API requests into physical actions on hardware devices.
💡 Hardware Devices#
Includes smart lights, fans, and electronic door locks. Connected to and controlled via Raspberry Pi using GPIO or serial interfaces.
🛰️ API Gateway#
Entry point for all client-side and server-side API requests. Routes calls securely to either Lambda functions or Raspberry Pi.
🦾 AWS Lambda#
Stateless functions that handle key logic such as booking workflows, notification dispatch, and Google Calendar integration.
| Service | Purpose |
|---|
| Firebase | Push notifications to in-pod and out-pod Android devices. |
| Stripe | Secure online payments. |
| Google Calendar | Synchronizes bookings with user's calendar. |
| AWS EventBridge | Triggers automation events and schedules. |
| AWS CloudWatch | Logs and monitors Lambda and system metrics. |
| AWS CodeCatalyst | Source management & CI/CD to Amplify. |
| AWS Amplify | Hosting platform for Booking Admin, Booking Client, and Automation Portal. |
| AWS Route 53 | Domain name management and DNS routing. |
🖼️ Architecture Diagram PlaceholderHow Customer Accesses the Pod
📌 Key Architectural Features#
Serverless backend: Scalable and cost-efficient using AWS Lambda
Real-time device control: Raspberry Pi with FCM & Supabase polling
Cross-platform UIs: Single codebase across admin and client interfaces
API-first design: Fully documented in Apidog for team collaboration
Secure and Modular: Auth via Supabase and service separation by role
Modified at 2025-06-04 11:04:04