Zum Hauptinhalt springen

Projektübersicht

ChurchApps besteht aus etwa 20 unabhängigen Repositorys, jedes veröffentlicht unter der ChurchApps-GitHub-Organisation. Diese Seite bietet ein vollständiges Verzeichnis aller Projekte, organisiert nach Kategorie, samt ihrer Frameworks, Ports und Beziehungen.

Bevor Sie beginnen

  • Installieren Sie die Voraussetzungen für die Projektkategorie, an der Sie arbeiten möchten

Backend-APIs

Alle APIs sind mit Node.js, Express und TypeScript gebaut und werden über das Serverless Framework auf AWS Lambda bereitgestellt.

ProjektZweckDev-PortDatenbank
ApiKern-Modul-Monolith für Mitgliedschaft, Anwesenheit, Inhalte, Spenden, Messaging und Doing8084Separate MySQL-Datenbank pro Modul (6 insgesamt)
LessonsApiLessons.church-Backend--Einzelne lessons-MySQL-Datenbank
AskApiKI-Abfragewerkzeug, angetrieben von OpenAI----
Info

Das Kernprojekt Api ist ein Modul-Monolith. Jedes Modul (Mitgliedschaft, Anwesenheit, Inhalte, Spenden, Messaging, Doing) hat seine eigene Datenbank und ist unter einem Unterpfad wie /membership oder /giving erreichbar. In der Produktion werden diese als separate Lambda-Funktionen hinter dem API Gateway bereitgestellt.

Webanwendungen

ProjektFrameworkDev-PortZweck
B1AdminReact 19 + Vite + MUI 73101Kirchenverwaltungs-Dashboard
B1AppNext.js 16 + React 19 + MUI 73301Öffentlich zugängliche App für Kirchenmitglieder
LessonsAppNext.js 163501Lessons.church-Frontend
B1TransferReact + Vite--Werkzeug für Datenimport/-export
BrochureSitesStatisch--Statische Kirchen-Broschürenwebsites

Mobile Apps

Alle mobilen Apps verwenden React Native mit Expo.

ProjektZweckSchlüsselversionen
B1MobileApp für Kirchenmitglieder für iOS und AndroidExpo 54, React Native 0.81
B1CheckinCheck-in-Kiosk-AppExpo
LessonsScreenAndroid-TV-LektionsanzeigeExpo
FreePlayInhaltswiedergabe (einschließlich TV OS)Expo
FreeShowRemoteMobile Fernbedienung für FreeShowExpo

Desktop

ProjektStackZweck
FreeShowElectron 37 + Svelte 3 + VitePräsentations- und Anbetungssoftware

Gemeinsame Bibliotheken

Gemeinsamer Code wird unter dem @churchapps-Scope auf npm veröffentlicht und von den obigen Projekten als reguläre npm-Abhängigkeiten konsumiert. Alle gemeinsamen Pakete leben in einem einzigen Repository -- Packages -- verwaltet als Yarn-Workspace und veröffentlicht mit Changesets.

PaketZweckVerwendet von
@churchapps/helpersBasis-Utilities und gemeinsame TypeScript-Schnittstellen (DateHelper, ApiHelper, CurrencyHelper usw.)Alle Projekte
@churchapps/apihelperExpress-Server-Utilities (Auth, Basis-Controller, Datenbankzugriff, AWS-Integrationen)Alle APIs
@churchapps/apphelperReact-Komponentenbibliothek mit Unterpfad-Modulen für Login, Spenden, Formulare, Markdown und Website-AufbauAlle Webanwendungen
@churchapps/content-providersAbstraktion für Drittanbieter-Inhaltsanbieter (Lessons.church, Planning Center, Dropbox und andere)Api, B1Admin, B1App, FreePlay
@churchapps/integration-sdkB1.church-Integrations-Toolkit: Webhooks, REST-Client, OAuthExterne Integrationsentwickler
@churchapps/textingSMS-Anbieter-AbstraktionApi

Siehe Gemeinsame Bibliotheken für die Workspace-Einrichtung und den Release-Workflow.

Projektbeziehungen

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

Alle Frontend-Apps hängen von @churchapps/helpers ab. Webanwendungen hängen zusätzlich von @churchapps/apphelper-Paketen ab. Alle Backend-APIs hängen sowohl von @churchapps/helpers als auch von @churchapps/apihelper ab.

Nächste Schritte