Hopp til hovedinnhold

Prosjektoversikt

ChurchApps består av omtrent 20 uavhengige repositorier, alle publisert under ChurchApps GitHub-organisasjonen. Denne siden gir en komplett oversikt over alle prosjekter organisert etter kategori, sammen med deres rammeverk, porter og relasjoner.

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ålDev-portDatabase
ApiKjerne modulær monolitt som dekker membership, attendance, content, giving, messaging og doing8084Separat MySQL-database per modul (6 totalt)
LessonsApiLessons.church backend--Enkel lessons MySQL-database
AskApiAI-spørringsverktø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 understi som /membership eller /giving. I produksjon eksponeres disse som separate Lambda-funksjoner bak API Gateway.

Webapper

ProsjektRammeverkDev-portFormål
B1AdminReact 19 + Vite + MUI 75173Dashboard for kirkeadministrasjon
B1AppNext.js 16 + React 19 + MUI 73301Offentlig app for kirkemedlemmer
LessonsAppNext.js 163501Lessons.church frontend
B1TransferReact + Vite--Verktøy for dataimport/-eksport
BrochureSitesStatic--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
B1CheckinKiosk-app for innsjekkingExpo
LessonsScreenAndroid TV-visning av leksjonerExpo
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-scope. Disse konsumeres som vanlige npm-avhengigheter av prosjektene ovenfor.

Pakkenpm-navnFormålBrukt av
Helpers@churchapps/helpersBasisverktøy (DateHelper, ApiHelper, CurrencyHelper, osv.)Alle prosjekter
ApiHelper@churchapps/apihelperExpress-serververktøy (auth middleware, DB-hjelpere, AWS-integrasjon)Alle API-er
AppHelperWorkspace med 6 pakkerReact-komponentbibliotekAlle webapper
ContentProviderHelper@churchapps/content-provider-helperYouTube, Vimeo og lokale innholdsleverandørerFreeShow, FreePlay, Api

AppHelper underpakker

AppHelper-prosjektet er et monorepo-workspace som publiserer seks pakker:

Pakkenpm-navn
Core@churchapps/apphelper
Login@churchapps/apphelper-login
Donations@churchapps/apphelper-donations
Forms@churchapps/apphelper-forms
Markdown@churchapps/apphelper-markdown
Website@churchapps/apphelper-website

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. Webapper avhenger i tillegg av @churchapps/apphelper-pakkene. Alle backend-API-er avhenger av både @churchapps/helpers og @churchapps/apihelper.

Neste steg