Spring til hovedindhold

Projektoversigt

ChurchApps består af cirka 20 uafhængige lagre, hver udgivet under ChurchApps GitHub-organisationen. Denne side giver et fuldstændigt lager over alle projekter organiseret efter kategori sammen med deres frameworks, porte og relationer.

Før du begynder

Backend-API'er

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

ProjectFormålDev PortDatabase
ApiCore modulariseret monolith, der dækker medlemskab, tilstedeværelse, indhold, giver, meddelelser og gøre8084Separat MySQL-database pr. modul (6 i alt)
LessonsApiLessons.church-backend--Enkelt lessons MySQL-database
AskApiAI-forespørgselsværktøj powered af OpenAI----
info

Core Api-projektet er en modulariseret monolith. Hvert modul (medlemskab, tilstedeværelse, indhold, giver, meddelelser, gør) har sin egen database og er tilgængelig på en understi såsom /membership eller /giving. I produktionen vises disse som separate Lambda-funktioner bag API Gateway.

Webapps

ProjectFrameworkDev PortFormål
B1AdminReact 19 + Vite + MUI 75173Kirkadministrationsdashboard
B1AppNext.js 16 + React 19 + MUI 73301Offentlig-vendt kirkmedlemsapp
LessonsAppNext.js 163501Lessons.church frontend
B1TransferReact + Vite--Dataindport-/udportværktøj
BrochureSitesStatisk--Statiske kirkbrochurewebsteder

Mobilapps

Alle mobilapps bruger React Native med Expo.

ProjectFormålVigtige versioner
B1MobileKirkmedlemsapp til iOS og AndroidExpo 54, React Native 0.81
B1CheckinCheck-in kiosk-appExpo
LessonsScreenAndroid TV-lektionsvisningExpo
FreePlayIndholdsafspilning (inkl. TV OS)Expo
FreeShowRemoteMobil fjernbetjening til FreeShowExpo

Skrivebord

ProjectStackFormål
FreeShowElectron 37 + Svelte 3 + VitePræsentations- og tilbedeelsessoftware

Delte biblioteker

Delt kode udgives til npm under @churchapps scope. Disse forbruges som almindelige npm-afhængigheder af projekterne ovenfor.

Packagenpm NameFormålBrugt af
Helpers@churchapps/helpersGrundlæggende værktøjer (DateHelper, ApiHelper, CurrencyHelper osv.)Alle projekter
ApiHelper@churchapps/apihelperExpress-serverværktøjer (auth middleware, DB-hjælpere, AWS-integration)Alle API'er
AppHelperArbejdsrum med 6 pakkerReact-komponentbibliotekAlle webapps
ContentProviderHelper@churchapps/content-provider-helperYouTube-, Vimeo- og lokale indholdsudbydereFreeShow, FreePlay, Api

AppHelper-underpakker

AppHelper-projektet er et monorepo-arbejdsrum, der udgiver seks pakker:

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

Projektrelationer

Frontend-apps            Delte biblioteker       Backend-API'er
----------- ---------------- -----------
B1Admin ──────┐
B1App ──────┤ @churchapps/helpers ◄───── Api
LessonsApp ──────┼──► @churchapps/apphelper LessonsApi
B1Mobile ──────┤ AskApi
FreeShow ──────┘ @churchapps/apihelper ◄────┘

Alle frontend-apps afhænger af @churchapps/helpers. Webapps afhænger desuden af @churchapps/apphelper-pakker. Alle backend-API'er afhænger af både @churchapps/helpers og @churchapps/apihelper.

Næste trin