Lumipat sa pangunahing nilalaman

Project Overview

Ang ChurchApps ay binubuo ng takrang 20 na independent repositories, bawat isa ay nai-publish sa ilalim ng ChurchApps GitHub organization. Ang page na ito ay nagbibigay ng isang kumpletong inventory ng lahat ng projects na ino-organize ayon sa category, kasama ang kanilang frameworks, ports, at relationships.

Bago Ka Magsimula

  • I-install ang prerequisites para sa project category na nais mong magtrabaho

Backend APIs

Ang lahat ng APIs ay itinayo gamit ang Node.js, Express, at TypeScript, at na-deploy sa AWS Lambda sa pamamagitan ng Serverless Framework.

ProjectPurposeDev PortDatabase
ApiCore modular monolith na sumasaklaw sa membership, attendance, content, giving, messaging, at doing8084Hiwalay na MySQL database bawat module (6 total)
LessonsApiLessons.church backend--Single lessons MySQL database
AskApiAI query tool na powered ng OpenAI----
Impormasyon

Ang core Api project ay isang modular monolith. Bawat module (membership, attendance, content, giving, messaging, doing) ay may sarili nitong database at accessible sa isang subpath tulad ng /membership o /giving. Sa production, ang mga ito ay exposed bilang hiwalay na Lambda functions sa likod ng API Gateway.

Web Apps

ProjectFrameworkDev PortPurpose
B1AdminReact 19 + Vite + MUI 73101Church administration dashboard
B1AppNext.js 16 + React 19 + MUI 73301Public-facing church member app
LessonsAppNext.js 163501Lessons.church frontend
B1TransferReact + Vite--Data import/export utility
BrochureSitesStatic--Static church brochure websites

Mobile Apps

Ang lahat ng mobile apps ay gumagamit ng React Native na may Expo.

ProjectPurposeKey Versions
B1MobileChurch member app para sa iOS at AndroidExpo 54, React Native 0.81
B1CheckinCheck-in kiosk appExpo
LessonsScreenAndroid TV lesson displayExpo
FreePlayContent playback (kasama ang TV OS)Expo
FreeShowRemoteMobile remote control para sa FreeShowExpo

Desktop

ProjectStackPurpose
FreeShowElectron 37 + Svelte 3 + VitePresentation at worship software

Shared Libraries

Ang shared code ay nai-publish sa npm sa ilalim ng @churchapps scope at consumed bilang regular na npm dependencies ng mga projects sa itaas. Ang lahat ng shared packages ay nakatira sa isang repository -- Packages -- pinamamahalaan bilang Yarn workspace at inilabas gamit ang changesets.

PackagePurposeUsed By
@churchapps/helpersBase utilities at shared TypeScript interfaces (DateHelper, ApiHelper, CurrencyHelper, atbp.)Lahat ng projects
@churchapps/apihelperExpress server utilities (auth, base controllers, database access, AWS integrations)Lahat ng APIs
@churchapps/apphelperReact component library na may subpath modules para sa login, donations, forms, markdown, at website buildingLahat ng web apps
@churchapps/content-providersThird-party content provider abstraction (Lessons.church, Planning Center, Dropbox, at iba pa)Api, B1Admin, B1App, FreePlay
@churchapps/integration-sdkB1.church integration toolkit: webhooks, REST client, OAuthExternal integration developers
@churchapps/textingSMS provider abstractionApi

Tingnan ang Shared Libraries para sa workspace setup at ang release workflow.

Project Relationships

Frontend Apps              Shared Libraries           Backend APIs
-------------- ---------------- ------------
B1Admin ──────┐
B1App ──────┤ @churchapps/helpers ◄───── Api
LessonsApp ──────┼──► @churchapps/apphelper LessonsApi
B1Mobile ──────┤ AskApi
FreeShow ──────┘ @churchapps/apihelper ◄────┘

Ang lahat ng frontend apps ay nakadepende sa @churchapps/helpers. Ang web apps ay dagdag na nakadepende sa @churchapps/apphelper packages. Ang lahat ng backend APIs ay nakadepende sa pareho ng @churchapps/helpers at @churchapps/apihelper.

Next Steps