Skip to content
DailyOratory

Start room request

Prepare a reverent prayer room.

This mock form saves a room draft locally. In Supabase, this becomes a host/coordinator review workflow before a room can open live.

Architecture

Prepared for Supabase Realtime later.

Version 1 stores drafts locally and keeps every live-room concern visible before real-time launch.

Supabase-ready schema

Realtime rooms need explicit boundaries.

live_prayer_rooms

Canonical room records, room status, access, host, devotion type, and current guide step.

  • id uuid primary key
  • room_id text unique not null
  • title text not null
  • description text not null
  • devotion_type text not null
  • room_status text not null
  • access text not null

prayer_room_guides

Approved prayer guides and devotion metadata.

  • id uuid primary key
  • slug text unique not null
  • title text not null
  • devotion_type text not null
  • opening_note text
  • closing_note text
  • source_note text not null

prayer_room_steps

Ordered prayer steps for each approved room guide.

  • id uuid primary key
  • guide_id uuid references prayer_room_guides(id)
  • step_key text not null
  • sort_order integer not null
  • title text not null
  • instruction text not null
  • leader_text text

prayer_room_presence

Supabase Realtime presence shadow table for analytics, abuse review, and host visibility.

  • id uuid primary key
  • room_id uuid references live_prayer_rooms(id)
  • user_id uuid
  • anonymous_session_id text
  • presence_state text not null
  • joined_at timestamptz default now()
  • last_seen_at timestamptz default now()

prayer_room_intentions

Optional room intentions that require moderation before public display.

  • id uuid primary key
  • room_id uuid references live_prayer_rooms(id)
  • body text not null
  • visibility text not null default 'host-only'
  • moderation_status text not null default 'pending'
  • created_at timestamptz default now()

prayer_room_reports

Participant reports for safety, privacy, conduct, and technical issues.

  • id uuid primary key
  • room_id uuid references live_prayer_rooms(id)
  • reporter_user_id uuid
  • anonymous_session_id text
  • reason text not null
  • note text
  • status text not null default 'open'

prayer_room_host_actions

Audit trail for host controls like pausing a room, advancing steps, or hiding an intention.

  • id uuid primary key
  • room_id uuid references live_prayer_rooms(id)
  • host_user_id uuid
  • action text not null
  • metadata jsonb default '{}'
  • created_at timestamptz default now()

Realtime RLS

  • Public users can read published open rooms, guides, and guide steps.
  • Only hosts and moderators can update room status, current step, moderation status, or host action logs.
  • Participants can create presence rows only for their current anonymous session or authenticated user.
  • Participants can delete or expire only their own presence rows.
  • Room intentions default to host-only and require approval before public display.
  • Reports are insert-only for participants and readable only by hosts, moderators, and safety coordinators.
  • Youth-safe and family rooms require verified hosts before going live.

Moderation checklist

  • No direct messaging in version 1.
  • Use first names or broad intentions only.
  • Do not share private medical, legal, canonical, or identifying details.
  • Provide a visible report control in every room.
  • Show an emergency disclaimer wherever urgent intentions can be shared.
  • Require host controls before real-time rooms go beyond mock data.
  • Log moderation actions before sending alerts or opening youth-safe rooms.
  • Keep approved devotion text under editorial review before publication.