How rohitkf/rim-church-app works
Church Operations Platform supports church staff coordinating services, departments, volunteers, and operational records through a React web app, with an optional AI assistant for text and voice requests. The main workflow is sign in, choose a team or service task, then read or update shared records; Supabase backs manual UI actions and enforces access through RLS. Service planning proceeds from templates and service dates to running-order sessions, assignments, and exports. The README documents broader capabilities whose individual page wiring was not sampled; those are represented at feature-page level. Backend and planner links reflect the excerpts and README; unsampled implementation details are not inferred.
Main entry points: App.tsx Routes and shell · ServicePlannerPage.tsx Service planner · ServicePlannerIndexPage.tsx Service listing · assistant.py Assistant endpoints
Components 27
Web application
- App entry
frontend/src/main.tsx - Routes and shell
frontend/src/App.tsx - Authentication
frontend/src/auth/AuthContext.tsx
Church operations
- Dashboard
frontend/src/pages/DashboardPage.tsx - Departments
frontend/src/pages/DepartmentsPage.tsx - Volunteers
frontend/src/pages/VolunteersPage.tsx - Events and attendance
frontend/src/pages/EventsPage.tsx - Service listing
frontend/src/pages/ServicePlannerIndexPage.tsx - Service planner
frontend/src/pages/ServicePlannerPage.tsx - Service templates
frontend/src/pages/ServiceTemplatesPage.tsx - Checklists
frontend/src/pages/DepartmentPrepPage.tsx - Availability
frontend/src/pages/AvailabilityPage.tsx - Team rota
frontend/src/pages/TeamRotaPage.tsx
Coordination and records
- Inventory
frontend/src/pages/InventoryPage.tsx - Message board
frontend/src/pages/MessageBoardPage.tsx - Team chat
frontend/src/pages/TeamChatPage.tsx - Debriefs
frontend/src/pages/DebriefsPage.tsx
AI assistant
- Assistant panel
frontend/src/components/AiAssistantPanel.tsx - Assistant API client
frontend/src/lib/assistantApi.ts - Assistant endpoints
backend/app/routers/assistant.py - Tool-calling agent
backend/app/agent.py - Tool executors
backend/app/tools/executors.py - Voice transcription
backend/app/transcribe.py
Data and integrations
- Supabase
- Claude API
- Whisper model
Other components
- Church staff
Connections 43
- Church staff → App entry: opens app
- App entry → Routes and shell: mounts
- Routes and shell → Authentication: provides auth
- Routes and shell → Dashboard: routes
- Routes and shell → Departments: routes
- Routes and shell → Volunteers: routes
- Routes and shell → Events and attendance: routes
- Routes and shell → Service listing: routes
- Routes and shell → Service planner: routes
- Routes and shell → Service templates: routes
- Routes and shell → Checklists: routes
- Routes and shell → Availability: routes
- Routes and shell → Team rota: routes
- Routes and shell → Inventory: routes
- Routes and shell → Message board: routes
- Routes and shell → Team chat: routes
- Routes and shell → Debriefs: routes
- Service listing → Service planner: opens service
- Service planner → Service templates: loads templates
- Church staff → Assistant panel: requests help
- Assistant panel → Assistant API client: sends request
- Assistant API client → Assistant endpoints: calls API
- Assistant endpoints → Tool-calling agent: runs agent
- Tool-calling agent → Claude API: sends tool prompts
- Tool-calling agent → Tool executors: dispatches tools
- Assistant endpoints → Voice transcription: transcribes audio
- Voice transcription → Whisper model: runs inference
- Tool executors → Supabase: reads and writes
- Dashboard → Supabase: reads records
- Departments → Supabase: reads and writes
- Volunteers → Supabase: reads and writes
- Events and attendance → Supabase: reads and writes
- Service listing → Supabase: reads and writes
- Service planner → Supabase: reads and writes
- Service templates → Supabase: reads and writes
- Checklists → Supabase: reads and writes
- Availability → Supabase: reads and writes
- Team rota → Supabase: reads and writes
- Inventory → Supabase: reads and writes
- Message board → Supabase: reads and writes
- Team chat → Supabase: reads and writes
- Debriefs → Supabase: reads and writes
- Authentication → Supabase: authenticates