Aller au contenu principal

Aperçu du projet

ChurchApps comprend environ 20 référentiels indépendants, chacun publié sous l'organisation GitHub ChurchApps. Cette page fournit un inventaire complet de tous les projets organisés par catégorie, ainsi que leurs frameworks, ports et relations.

Avant de commencer

  • Installer les prérequis pour la catégorie de projet sur laquelle vous voulez travailler

APIs backend

Toutes les APIs sont construites avec Node.js, Express et TypeScript, et sont déployées sur AWS Lambda via Serverless Framework.

ProjetObjectifPort de développementBase de données
ApiMonolithe modulaire core couvrant membership, attendance, content, giving, messaging et doing8084Bases de données MySQL séparées par module (6 au total)
LessonsApiBackend Lessons.church--Base de données MySQL unique lessons
AskApiOutil de requête IA alimenté par OpenAI----
info

Le projet Api core est un monolithe modulaire. Chaque module (membership, attendance, content, giving, messaging, doing) a sa propre base de données et est accessible à un sous-chemin tel que /membership ou /giving. En production, ceux-ci sont exposés en tant que fonctions Lambda séparées derrière API Gateway.

Applications web

ProjetFrameworkPort de développementObjectif
B1AdminReact 19 + Vite + MUI 75173Tableau de bord d'administration d'église
B1AppNext.js 16 + React 19 + MUI 73301Application publique des membres de l'église
LessonsAppNext.js 163501Frontend Lessons.church
B1TransferReact + Vite--Utilitaire d'importation/exportation de données
BrochureSitesStatique--Sites de brochure d'église statiques

Applications mobiles

Toutes les applications mobiles utilisent React Native avec Expo.

ProjetObjectifVersions clés
B1MobileApplication des membres de l'église pour iOS et AndroidExpo 54, React Native 0.81
B1CheckinApplication de kiosque de check-inExpo
LessonsScreenApplication Android TV pour l'affichage des leçonsExpo
FreePlayLecture de contenu (y compris TV OS)Expo
FreeShowRemoteTélécommande mobile pour FreeShowExpo

Bureau

ProjetPileObjectif
FreeShowElectron 37 + Svelte 3 + ViteLogiciel de présentation et d'adoration

Bibliothèques partagées

Le code partagé est publié sur npm sous le scope @churchapps. Ceux-ci sont consommés en tant que dépendances npm régulières par les projets ci-dessus.

PaquetNom npmObjectifUtilisé par
Helpers@churchapps/helpersUtilitaires de base (DateHelper, ApiHelper, CurrencyHelper, etc.)Tous les projets
ApiHelper@churchapps/apihelperUtilitaires du serveur Express (middleware d'authentification, helpers de DB, intégration AWS)Toutes les APIs
AppHelperEspace de travail avec 6 paquetsBibliothèque de composants ReactToutes les applications web
ContentProviderHelper@churchapps/content-provider-helperFournisseurs de contenu YouTube, Vimeo et locauxFreeShow, FreePlay, Api

Sous-paquets AppHelper

Le projet AppHelper est un espace de travail monorepo qui publie six paquets :

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

Relations des projets

Applications Frontend       Bibliothèques partagées    APIs Backend
-------------- ---------------- ------------
B1Admin ──────┐
B1App ──────┤ @churchapps/helpers ◄───── Api
LessonsApp ──────┼──► @churchapps/apphelper LessonsApi
B1Mobile ──────┤ AskApi
FreeShow ──────┘ @churchapps/apihelper ◄────┘

Toutes les applications frontend dépendent de @churchapps/helpers. Les applications web dépendent en outre des paquets @churchapps/apphelper. Toutes les APIs backend dépendent de @churchapps/helpers et @churchapps/apihelper.

Étapes suivantes