This document maps each GitHub repository to the architectural components shown in the System Overview.
| GitHub Repo | Architecture Component | Tech Stack | Primary Purpose |
|---|---|---|---|
ThriveChurchOfficialAPI |
Global API | C#/.NET 8, MongoDB, Redis, Docker | Central hub for all sermon and configuration data |
ThriveAPIMediaTool |
Admin Tool | Angular 20, TypeScript, Docker/nginx | Staff UI for uploading and managing content |
ThriveChurchOfficialApp_CrossPlatform |
Mobile App | React Native 0.81 / Expo, TypeScript, Zustand, React Query | iOS and Android mobile app for attenders |
Thrive-FL.org |
Public Website | Next.js 16, TypeScript, Howler.js, AWS Amplify | Public marketing site and sermon browsing |
AWSLambdas |
AI Processing Pipeline | Python 3.11, AWS Lambda, Azure Speech API, OpenAI | Transcription, summarization, tagging, podcast generation |
Sermon_Summarization_Agent |
AI Pipeline (LangGraph Agent) | Python, LangGraph, OpenAI | Future: advanced sermon analysis and enrichment |
ThriveAPIMediaTool |
Media Storage & Serving | AWS S3 | Hosts sermon audio files and podcast RSS feeds |
Thrive_Stream_Controller |
Livestream Control Dashboard | C#/.NET, React, Docker | One-click stream management UI |
ProPresenter_Automations |
Livestream Graphics Automation | Python, ProPresenter API | Auto-triggers OBS scene changes and graphics during playback |
Architecture |
Documentation | Markdown, GitHub Pages | Central source of truth for system architecture and relationships |
Repository: ThriveChurchOfficialAPI
Stack: C#/.NET 8, MongoDB, Redis, Docker
Endpoints: Swagger UI at /swagger (dev: localhost:8080)
Responsibilities:
Data Flow:
Repository: ThriveAPIMediaTool
Stack: Angular 20, TypeScript, Docker/nginx
Dev URL: localhost:4200 (expects API at localhost:8080)
Responsibilities:
Data Flow:
Repository: ThriveChurchOfficialApp_CrossPlatform
Stack: React Native 0.81 / Expo, TypeScript, Zustand (state), React Query (data fetching)
Root folder: ThriveChurchExpo/
Responsibilities:
Data Flow:
Repository: Thrive-FL.org
Stack: Next.js 16, TypeScript, Howler.js (audio playback), AWS Amplify
Dev URL: localhost:3000 (via npm run dev)
Responsibilities:
Data Flow:
Repository: AWSLambdas
Stack: Python 3.11, AWS Lambda, Azure Speech-to-Text, OpenAI API, AWS S3
Config: AWS SAM template at repo root
Responsibilities:
Lambda Functions:
transcription_processor – Receives upload event, downloads audio, calls Azure Speech API, stores transcriptsermon_processor – Generates summary, tags, waveform; updates MongoDB; conditionally invokes series_summary_processorpodcast_rss_generator – Creates podcast descriptions, updates PodcastEpisodes collection, regenerates RSS XMLseries_summary_processor – Aggregates completed series, generates cohesive series summary, updates MongoDBData Flow:
Repository: Sermon_Summarization_Agent
Stack: Python, LangGraph (AI orchestration), OpenAI, LangChain
Purpose: Advanced multi-step sermon analysis (future expansion of AI pipeline)
Responsibilities:
Service: AWS S3 Hosted in: Global API configuration (S3 bucket paths and credentials)
Hosted on S3:
Access:
Primary Repository: Thrive_Stream_Controller
Support Repository: ProPresenter_Automations
Stack:
Responsibilities:
Data Flow:
See Livestream & Production for detailed signal flow.
Staff ──upload──> Admin Tool ──> Global API ──> MongoDB + S3
|
invokes (when sermon created)
|
v
AI Processing Pipeline
(transcription → enrichment)
|
v
Enriched data back to MongoDB
(summaries, tags, waveform, RSS)
|
┌───────────────────┴──────────────────┐
v v
Mobile App & Website Podcast Platforms
(read via Global API) (Apple, Spotify, Google, etc.)
| Layer | Technology |
|---|---|
| Backend API | C#/.NET 8, MongoDB, Redis, JWT |
| Frontend (Staff) | Angular 20, TypeScript |
| Frontend (Attenders - Mobile) | React Native 0.81 / Expo |
| Frontend (Attenders - Web) | Next.js 16, TypeScript |
| AI & Processing | Python 3.11, AWS Lambda, OpenAI API, Azure Speech |
| Media | AWS S3 |
| Cache & Sessions | Redis (prod), in-memory (dev) |
| Database | MongoDB (SermonSeries database) |
| Livestream | OBS Studio, ProPresenter 7, Blackmagic ATEM, Python automations |
| Deployment | Docker, AWS App Runner, AWS Amplify, AWS Lambda/SAM |
Each repo deploys independently:
master push)See Deployment Order for safe update sequences.