Hopp til hovedinnhold

Prosjektoversikt

ChurchApps består av omtrent 20 uavhengige repositorier, hver publisert under ChurchApps GitHub-organisasjonen. Denne siden gir en fullstendig oversikt over alle prosjekter organisert etter kategori, sammen med rammeverkene, portene og relasjonene deres.

Før du begynner

Backend-API-er

Alle API-er er bygget med Node.js, Express og TypeScript, og distribueres til AWS Lambda via Serverless Framework.

ProsjektFormålUtviklingsportDatabase
ApiKjerne-modulær monolitt som dekker membership, attendance, content, giving, messaging og doing8084Separat MySQL-database per modul (6 totalt)
LessonsApiBackend for Lessons.church--Enkelt lessons-MySQL-database
AskApiAI-spørreverktøy drevet av OpenAI----
Info

Kjerne-Api-prosjektet er en modulær monolitt. Hver modul (membership, attendance, content, giving, messaging, doing) har sin egen database og er tilgjengelig på en delsti som /membership eller /giving. I produksjon eksponeres disse som separate Lambda-funksjoner bak API Gateway.

Nettapper

ProsjektRammeverkUtviklingsportFormål
B1AdminReact 19 + Vite + MUI 73101Administrasjonsdashbord for kirken
B1AppNext.js 16 + React 19 + MUI 73301Offentlig medlemsapp for kirken
LessonsAppNext.js 163501Frontend for Lessons.church
B1TransferReact + Vite--Verktøy for dataimport/-eksport
BrochureSitesStatisk--Statiske brosjyrenettsteder for kirker

Mobilapper

Alle mobilapper bruker React Native med Expo.

ProsjektFormålNøkkelversjoner
B1MobileKirkemedlemsapp for iOS og AndroidExpo 54, React Native 0.81
B1CheckinInnsjekkingskiosk-appExpo
LessonsScreenLeksjonsvisning for Android TVExpo
FreePlayInnholdsavspilling (inkludert TV OS)Expo
FreeShowRemoteMobil fjernkontroll for FreeShowExpo

Skrivebord

ProsjektStackFormål
FreeShowElectron 37 + Svelte 3 + VitePresentasjons- og gudstjenesteprogramvare

Delte biblioteker

Delt kode publiseres til npm under @churchapps-omfanget, og konsumeres som vanlige npm-avhengigheter av prosjektene ovenfor. Alle delte pakker bor i ett enkelt repositorium -- Packages -- administrert som et Yarn-arbeidsområde og utgitt med changesets.

PakkeFormålBrukt av
@churchapps/helpersGrunnleggende verktøy og delte TypeScript-grensesnitt (DateHelper, ApiHelper, CurrencyHelper, osv.)Alle prosjekter
@churchapps/apihelperExpress-serververktøy (autentisering, basiskontrollere, databasetilgang, AWS-integrasjoner)Alle API-er
@churchapps/apphelperReact-komponentbibliotek med delsti-moduler for innlogging, donasjoner, skjemaer, markdown og nettstedsbyggingAlle nettapper
@churchapps/content-providersAbstraksjon for tredjeparts innholdsleverandører (Lessons.church, Planning Center, Dropbox, og andre)Api, B1Admin, B1App, FreePlay
@churchapps/integration-sdkB1.church-integrasjonsverktøy: webhooks, REST-klient, OAuthEksterne integrasjonsutviklere
@churchapps/textingAbstraksjon for SMS-leverandørerApi

Se Delte biblioteker for arbeidsområdeoppsett og utgivelsesarbeidsflyt.

Prosjektrelasjoner

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

Alle frontend-apper avhenger av @churchapps/helpers. Nettapper avhenger i tillegg av @churchapps/apphelper-pakkene. Alle backend-API-er avhenger av både @churchapps/helpers og @churchapps/apihelper.

Neste steg