Vai al contenuto principale

Panoramica dei progetti

ChurchApps è composto da circa 20 repository indipendenti, tutti pubblicati sotto l'organizzazione GitHub ChurchApps. Questa pagina fornisce un inventario completo di tutti i progetti organizzati per categoria, con i relativi framework, porte e relazioni.

Prima di iniziare

  • Installa i prerequisiti per la categoria di progetto su cui vuoi lavorare

API backend

Tutte le API sono costruite con Node.js, Express e TypeScript, e vengono distribuite su AWS Lambda tramite Serverless Framework.

ProgettoScopoPorta devDatabase
ApiMonolite modulare principale che copre membership, attendance, content, giving, messaging e doing8084Database MySQL separato per modulo (6 totali)
LessonsApiBackend di Lessons.church--Singolo database MySQL lessons
AskApiStrumento di query AI alimentato da OpenAI----
Info

Il progetto Api principale è un monolite modulare. Ogni modulo (membership, attendance, content, giving, messaging, doing) ha il proprio database ed è accessibile tramite un sottopercorso come /membership o /giving. In produzione, questi vengono esposti come funzioni Lambda separate dietro API Gateway.

App web

ProgettoFrameworkPorta devScopo
B1AdminReact 19 + Vite + MUI 75173Dashboard di amministrazione della chiesa
B1AppNext.js 16 + React 19 + MUI 73301App pubblica per i membri della chiesa
LessonsAppNext.js 163501Frontend di Lessons.church
B1TransferReact + Vite--Utilità di importazione/esportazione dati
BrochureSitesStatic--Siti web brochure statici per chiese

App mobili

Tutte le app mobili utilizzano React Native con Expo.

ProgettoScopoVersioni principali
B1MobileApp per i membri della chiesa per iOS e AndroidExpo 54, React Native 0.81
B1CheckinApp kiosk per il check-inExpo
LessonsScreenDisplay per lezioni su Android TVExpo
FreePlayRiproduzione contenuti (incluso TV OS)Expo
FreeShowRemoteTelecomando mobile per FreeShowExpo

Desktop

ProgettoStackScopo
FreeShowElectron 37 + Svelte 3 + ViteSoftware per presentazioni e culto

Librerie condivise

Il codice condiviso viene pubblicato su npm con lo scope @churchapps. Queste vengono consumate come normali dipendenze npm dai progetti sopra elencati.

PacchettoNome npmScopoUsato da
Helpers@churchapps/helpersUtilità base (DateHelper, ApiHelper, CurrencyHelper, ecc.)Tutti i progetti
ApiHelper@churchapps/apihelperUtilità server Express (auth middleware, DB helpers, integrazione AWS)Tutte le API
AppHelperWorkspace con 6 pacchettiLibreria di componenti ReactTutte le app web
ContentProviderHelper@churchapps/content-provider-helperProvider di contenuti YouTube, Vimeo e localiFreeShow, FreePlay, Api

Sotto-pacchetti AppHelper

Il progetto AppHelper è un workspace monorepo che pubblica sei pacchetti:

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

Relazioni tra progetti

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

Tutte le app frontend dipendono da @churchapps/helpers. Le app web dipendono inoltre dai pacchetti @churchapps/apphelper. Tutte le API backend dipendono sia da @churchapps/helpers che da @churchapps/apihelper.

Prossimi passi