# manohar1212/prayer-warriors architecture

> Architecture diagram of the GitHub repository manohar1212/prayer-warriors, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/manohar1212/prayer-warriors
- Repository: https://github.com/manohar1212/prayer-warriors

## Overview

Prayer Warriors is a private fellowship app: members sign in, browse and contribute to shared prayer-circle features, while administrators manage members and funds. Mobile routes present the experience; feature services use Parse for data access and Cloud Code for writes. The Bible reader also uses a bundled offline database, and group calls use LiveKit. Backend module links are supported by the Cloud Code entry-point imports; other feature flows follow the README’s documented architecture, so unsampled details are not inferred.

Main entry points: [`backend/cloud/main.js`](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/main.js) (Cloud Code entry), [`apps/mobile/app`](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/app) (App routes), [`apps/mobile/src/features/prayer`](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/prayer) (Prayer requests), [`apps/mobile/src/lib/parse.ts`](https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/lib/parse.ts) (Parse access)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mobile["Mobile app"]
  node_routes["App routes"]
  node_auth["Sign-in<br/>[service.ts]"]
  node_query["Cached queries<br/>[useCachedQuery.ts]"]
  node_parse["Parse access<br/>[parse.ts]"]
end

subgraph group_community["Prayer circle"]
  node_members["Member directory"]
  node_prayer["Prayer requests"]
  node_journal["Private journal<br/>[journal.ts]"]
  node_points["Prayer points<br/>[prayerPoints.js]"]
  node_nights["Prayer nights<br/>[prayerNight.js]"]
  node_funds["Fellowship funds"]
end

subgraph group_engagement["Content and engagement"]
  node_resources["Shared resources"]
  node_bible["Offline Bible<br/>[service.ts]"]
  node_bibledb[("Bible database<br/>[bibleDb.native.ts]")]
  node_home["Home and verse"]
  node_quiz["Daily quiz<br/>[service.ts]"]
  node_calls["Group calls"]
  node_notifications["Notifications"]
end

subgraph group_backend["Backend services"]
  node_cloud["Cloud Code entry<br/>[main.js]"]
  node_cloudmembers["Member handlers<br/>[members.js]"]
  node_cloudprayer["Prayer handlers<br/>[prayer.js]"]
  node_cloudfinance["Finance handlers<br/>[finance.js]"]
  node_cloudresources["Resource handlers<br/>[resources.js]"]
  node_cloudquiz["Quiz handlers<br/>[quiz.js]"]
  node_cloudquizq["Quiz questions<br/>[quizQuestions.js]"]
  node_cloudnotify["Notification handlers<br/>[notifications.js]"]
  node_cloudcalls["Call handlers<br/>[calls.js]"]
end

subgraph group_integrations["External services"]
  node_parseplatform[("Parse Server")]
  node_livekit["LiveKit service<br/>[livekit.js]"]
  node_push["Expo push"]
end

node_member(("Fellowship member"))

node_member -->|"uses"| node_routes
node_routes -.->|"signs in through"| node_auth
node_routes -.->|"uses"| node_prayer
node_routes -.->|"uses"| node_funds
node_routes -.->|"uses"| node_bible
node_routes -.->|"uses"| node_calls
node_routes -.->|"uses"| node_notifications
node_prayer -.->|"supports"| node_journal
node_prayer -.->|"manages"| node_points
node_nights -->|"resets claims"| node_points
node_bible -.->|"queries"| node_bibledb
node_home -->|"gets daily verse"| node_bible
node_member -.->|"views cached data"| node_query
node_query -.->|"loads data"| node_parse
node_auth -->|"authenticates"| node_parse
node_parse -->|"reads and writes"| node_parseplatform
node_cloud -->|"handles Cloud Code"| node_parseplatform
node_cloud -->|"registers handlers"| node_cloudmembers
node_cloud -->|"registers handlers"| node_cloudprayer
node_cloud -->|"registers handlers"| node_points
node_cloud -->|"registers handlers"| node_nights
node_cloud -->|"registers handlers"| node_cloudfinance
node_cloud -->|"registers handlers"| node_cloudresources
node_cloud -->|"registers handlers"| node_cloudquiz
node_cloud -->|"registers handlers"| node_cloudquizq
node_cloud -->|"registers handlers"| node_cloudnotify
node_cloud -->|"registers handlers"| node_cloudcalls
node_calls -.->|"joins calls"| node_livekit
node_notifications -.->|"delivers pushes"| node_push

click node_routes "https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/app"
click node_auth "https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/features/auth/service.ts"
click node_query "https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/lib/useCachedQuery.ts"
click node_parse "https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/lib/parse.ts"
click node_members "https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/members"
click node_prayer "https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/prayer"
click node_journal "https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/features/prayer/journal.ts"
click node_points "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/prayerPoints.js"
click node_nights "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/prayerNight.js"
click node_funds "https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/funds"
click node_resources "https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/resources"
click node_bible "https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/features/bible/service.ts"
click node_bibledb "https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/lib/bibleDb.native.ts"
click node_home "https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/home"
click node_quiz "https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/features/quiz/service.ts"
click node_calls "https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/calls"
click node_notifications "https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/notifications"
click node_cloud "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/main.js"
click node_cloudmembers "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/members.js"
click node_cloudprayer "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/prayer.js"
click node_cloudfinance "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/finance.js"
click node_cloudresources "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/resources.js"
click node_cloudquiz "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/quiz.js"
click node_cloudquizq "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/quizQuestions.js"
click node_cloudnotify "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/notifications.js"
click node_cloudcalls "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/calls.js"
click node_livekit "https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/livekit.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_routes,node_auth,node_query,node_parse toneBlue
class node_members,node_prayer,node_journal,node_points,node_nights,node_funds toneAmber
class node_resources,node_bible,node_bibledb,node_home,node_quiz,node_calls,node_notifications toneMint
class node_cloud,node_cloudmembers,node_cloudprayer,node_cloudfinance,node_cloudresources,node_cloudquiz,node_cloudquizq,node_cloudnotify,node_cloudcalls toneRose
class node_parseplatform,node_livekit,node_push,node_member toneIndigo
```

## Components

### Mobile app

- [App routes](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/app): `apps/mobile/app`
- [Sign-in](https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/features/auth/service.ts): `apps/mobile/src/features/auth/service.ts`
- [Cached queries](https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/lib/useCachedQuery.ts): `apps/mobile/src/lib/useCachedQuery.ts`
- [Parse access](https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/lib/parse.ts): `apps/mobile/src/lib/parse.ts`

### Prayer circle

- [Member directory](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/members): `apps/mobile/src/features/members`
- [Prayer requests](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/prayer): `apps/mobile/src/features/prayer`
- [Private journal](https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/features/prayer/journal.ts): `apps/mobile/src/features/prayer/journal.ts`
- [Prayer points](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/prayerPoints.js): `backend/cloud/prayerPoints.js`
- [Prayer nights](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/prayerNight.js): `backend/cloud/prayerNight.js`
- [Fellowship funds](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/funds): `apps/mobile/src/features/funds`

### Content and engagement

- [Shared resources](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/resources): `apps/mobile/src/features/resources`
- [Offline Bible](https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/features/bible/service.ts): `apps/mobile/src/features/bible/service.ts`
- [Bible database](https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/lib/bibleDb.native.ts): `apps/mobile/src/lib/bibleDb.native.ts`
- [Home and verse](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/home): `apps/mobile/src/features/home`
- [Daily quiz](https://github.com/manohar1212/prayer-warriors/blob/main/apps/mobile/src/features/quiz/service.ts): `apps/mobile/src/features/quiz/service.ts`
- [Group calls](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/calls): `apps/mobile/src/features/calls`
- [Notifications](https://github.com/manohar1212/prayer-warriors/tree/main/apps/mobile/src/features/notifications): `apps/mobile/src/features/notifications`

### Backend services

- [Cloud Code entry](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/main.js): `backend/cloud/main.js`
- [Member handlers](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/members.js): `backend/cloud/members.js`
- [Prayer handlers](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/prayer.js): `backend/cloud/prayer.js`
- [Finance handlers](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/finance.js): `backend/cloud/finance.js`
- [Resource handlers](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/resources.js): `backend/cloud/resources.js`
- [Quiz handlers](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/quiz.js): `backend/cloud/quiz.js`
- [Quiz questions](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/quizQuestions.js): `backend/cloud/quizQuestions.js`
- [Notification handlers](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/notifications.js): `backend/cloud/notifications.js`
- [Call handlers](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/calls.js): `backend/cloud/calls.js`

### External services

- **Parse Server**
- [LiveKit service](https://github.com/manohar1212/prayer-warriors/blob/main/backend/cloud/livekit.js): `backend/cloud/livekit.js`
- **Expo push**

### Other components

- **Fellowship member**

## Connections

- Fellowship member → App routes: uses
- App routes → Sign-in: signs in through
- App routes → Prayer requests: uses
- App routes → Fellowship funds: uses
- App routes → Offline Bible: uses
- App routes → Group calls: uses
- App routes → Notifications: uses
- Prayer requests → Private journal: supports
- Prayer requests → Prayer points: manages
- Prayer nights → Prayer points: resets claims (evidence: `backend/cloud/prayerPoints.js`)
- Offline Bible → Bible database: queries
- Home and verse → Offline Bible: gets daily verse (evidence: `apps/mobile/src/features/home/useVerseOfTheDay.ts`)
- Fellowship member → Cached queries: views cached data
- Cached queries → Parse access: loads data
- Sign-in → Parse access: authenticates (evidence: `apps/mobile/src/features/auth/service.ts`)
- Parse access → Parse Server: reads and writes
- Cloud Code entry → Parse Server: handles Cloud Code
- Cloud Code entry → Member handlers: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Prayer handlers: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Prayer points: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Prayer nights: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Finance handlers: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Resource handlers: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Quiz handlers: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Quiz questions: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Notification handlers: registers handlers (evidence: `backend/cloud/main.js`)
- Cloud Code entry → Call handlers: registers handlers (evidence: `backend/cloud/main.js`)
- Group calls → LiveKit service: joins calls
- Notifications → Expo push: delivers pushes
