Vai al contenuto principale

Panoramica del Progetto

ChurchApps è composto da circa 20 repository indipendenti, ciascuno pubblicato sotto l'organizzazione GitHub ChurchApps. Questa pagina fornisce un inventario completo di tutti i progetti organizzati per categoria, insieme ai 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--Database MySQL singolo lessons
AskApiStrumento di query AI alimentato da OpenAI----
Info

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

Applicazioni Web

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

Applicazioni Mobile

Tutte le applicazioni mobile utilizzano React Native con Expo.

ProgettoScopoVersioni chiave
B1MobileApp per i membri della chiesa per iOS e AndroidExpo 54, React Native 0.81
B1CheckinApp kiosk per il check-inExpo
LessonsScreenDisplay delle lezioni per Android TVExpo
FreePlayRiproduzione di 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 sotto lo scope @churchapps e consumato come dipendenze npm regolari dai progetti sopra elencati. Tutti i pacchetti condivisi risiedono in un unico repository -- Packages -- gestito come workspace Yarn e rilasciato con changesets.

PacchettoScopoUsato da
@churchapps/helpersUtilità di base e interfacce TypeScript condivise (DateHelper, ApiHelper, CurrencyHelper, ecc.)Tutti i progetti
@churchapps/apihelperUtilità del server Express (autenticazione, controller base, accesso al database, integrazioni AWS)Tutte le API
@churchapps/apphelperLibreria di componenti React con moduli subpath per login, donazioni, moduli, markdown e costruzione di siti webTutte le applicazioni web
@churchapps/content-providersAstrazione dei provider di contenuti di terze parti (Lessons.church, Planning Center, Dropbox e altri)Api, B1Admin, B1App, FreePlay
@churchapps/integration-sdkToolkit di integrazione B1.church: webhook, client REST, OAuthSviluppatori di integrazioni esterne
@churchapps/textingAstrazione del provider SMSApi

Vedi Librerie Condivise per la configurazione del workspace e il flusso di rilascio.

Relazioni tra i Progetti

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

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

Prossimi Passi