Skip to content

Backend Overview

CloudAlt’s backend follows an API-first architecture with three independent Django services.

Each BU has its own Django project with:

  • Independent database schemas
  • Separate deployment pipelines
  • Isolated scaling characteristics

Users have one membership per Business Unit, shared across all divisions within that BU.

Example: A user joining Pink Guest (Stay Overnight) automatically has access to Roommate Works and Stay Match with the same credentials.

See ADR-001: Centralized Membership for the full decision rationale.

  • No Django templates (frontend is separate React/React Native apps)
  • JSON-only responses
  • OpenAPI/Swagger documentation auto-generated
Frontend Apps (React/React Native)
API Client Layer (TypeScript)
REST API Endpoints (Django REST Framework)
PostgreSQL (Supabase) + Firestore + Cloud Storage

Each division has its own PostgreSQL schema within the shared Supabase database:

  • stays_stayovernight - Stay Overnight data
  • stays_roommate - Roommate Works data
  • stays_staymatch - Stay Match data
  • discovery_altfinder - AltFinder data
  • services_pridecity - Pride City data
  • services_bonjour - Bonjour Locker data