How ednikamrotciv/twocchurch-site works
World Overcomers is a church website with public ministry/content pages, livestream and presentation experiences, and an office-facing CMS. Visitors enter through the React app, which resolves routes and renders public pages in a shared layout; editors use the admin console to manage and publish content through the CMS client and shared content backend. The repository also documents sermon, giving, prayer, events, locations, and other ministry capabilities. Unsampled page and backend internals are represented at their exact tree paths; their detailed call relationships are not inferred.
Main entry points: App.tsx App shell · layout.tsx Shared layout and blocks · pages Public ministry pages · WatchLive.tsx Livestream experience
Components 22
Application Shell
- React entry
src/main.tsx - App shell
src/App.tsx - Route registry
src/lib/routes.tsx - Shared layout and blocks
src/components/layout.tsx
Church Content
- Public ministry pages
src/pages - Church content data
src/data/content.ts - Site and branch data
src/data/site.ts - Editable and translated copy
src/data/copy.ts - Sermon library
src/data/sermons.ts
Live and Media
- Livestream experience
src/pages/WatchLive.tsx - Live status and verification
src/lib/livestatus.ts - Recent streams
src/lib/recentstreams.ts - Presentation and slides
src/components/slides.tsx
Content Management
- Admin console
src/pages/Admin.tsx - Content editor
src/components/editor.tsx - CMS client
src/lib/cms.ts - Shared content backend
scripts/cms-server.js
Shared Runtime
- Browser state store
src/lib/store.ts - Reactive hooks
src/lib/hooks.ts - Language services
src/lib/i18n.ts - Media embed helpers
src/lib/embed.ts
Other components
- Site visitor
Connections 24
- Site visitor → React entry: opens site
README.md - React entry → App shell: mounts
src/main.tsx - App shell → Route registry: resolves routes
src/App.tsx - Route registry → Public ministry pages: dispatches pages
src/lib/routes.tsx - App shell → Shared layout and blocks: renders
src/App.tsx - Shared layout and blocks → Church content data: reads content
src/components/layout.tsx - Shared layout and blocks → Site and branch data: reads site data
src/components/layout.tsx - Shared layout and blocks → Editable and translated copy: reads copy
src/components/layout.tsx - Public ministry pages → Church content data: uses content
src/pages/Prayer.tsx - Public ministry pages → Sermon library: uses sermons
src/pages/Admin.tsx - Public ministry pages → Livestream experience: includes live page
- Livestream experience → Live status and verification: checks status
src/pages/WatchLive.tsx - Livestream experience → Recent streams: loads streams
src/pages/WatchLive.tsx - Livestream experience → Media embed helpers: uses embed helpers
src/pages/WatchLive.tsx - App shell → Presentation and slides: provides slides
- Admin console → Content editor: renders editor
src/pages/Admin.tsx - Admin console → CMS client: uses CMS
src/pages/Admin.tsx - Content editor → CMS client: edits content
src/components/editor.tsx - CMS client → Shared content backend: publishes content
README.md - CMS client → Browser state store: persists draft state
src/lib/cms.ts - Reactive hooks → Browser state store: reacts to storage
src/lib/store.ts - Editable and translated copy → Language services: translates text
src/data/copy.ts - Sermon library → Media embed helpers: builds watch links
src/data/sermons.ts - Live status and verification → Media embed helpers: parses video IDs
src/lib/livestatus.ts