Saltar al contenido principal

Descripción del Proyecto

ChurchApps consta de aproximadamente 20 repositorios independientes, cada uno publicado bajo la Organización ChurchApps de GitHub. Esta página proporciona un inventario completo de todos los proyectos organizados por categoría, junto con sus frameworks, puertos, y relaciones.

Antes de comenzar

APIs de Backend

Todas las APIs se construyen con Node.js, Express, y TypeScript, y se implementan en AWS Lambda vía Serverless Framework.

ProyectoPropósitoPuerto DevBase de Datos
ApiMonolito modular principal que cubre membership, attendance, content, giving, messaging, y doing8084Base de datos MySQL separada por módulo (6 en total)
LessonsApiBackend de Lessons.church--Base de datos MySQL única lessons
AskApiHerramienta de consulta de IA impulsada por OpenAI----
info

El proyecto Api principal es un monolito modular. Cada módulo (membership, attendance, content, giving, messaging, doing) tiene su propia base de datos y es accesible en una subruta como /membership o /giving. En producción, estos se exponen como funciones Lambda separadas detrás de API Gateway.

Aplicaciones Web

ProyectoFrameworkPuerto DevPropósito
B1AdminReact 19 + Vite + MUI 73101Panel de administración de la iglesia
B1AppNext.js 16 + React 19 + MUI 73301Aplicación de miembro de iglesia orientada al público
LessonsAppNext.js 163501Frontend de Lessons.church
B1TransferReact + Vite--Utilidad de importación/exportación de datos
BrochureSitesEstático--Sitios web de folleto de iglesia estáticos

Aplicaciones Móviles

Todas las aplicaciones móviles usan React Native con Expo.

ProyectoPropósitoVersiones Clave
B1MobileAplicación de miembro de iglesia para iOS y AndroidExpo 54, React Native 0.81
B1CheckinAplicación de quiosco de check-inExpo
LessonsScreenVisualización de lecciones para Android TVExpo
FreePlayReproducción de contenido (incluyendo TV OS)Expo
FreeShowRemoteControl remoto móvil para FreeShowExpo

Escritorio

ProyectoStackPropósito
FreeShowElectron 37 + Svelte 3 + ViteSoftware de presentación y adoración

Bibliotecas Compartidas

El código compartido se publica en npm bajo el alcance @churchapps y se consume como dependencias npm regulares por los proyectos anteriores. Todos los paquetes compartidos viven en un único repositorio -- Packages -- gestionado como un espacio de trabajo Yarn y lanzado con changesets.

PaquetePropósitoUsado Por
@churchapps/helpersUtilidades base e interfaces TypeScript compartidas (DateHelper, ApiHelper, CurrencyHelper, etc.)Todos los proyectos
@churchapps/apihelperUtilidades de servidor Express (auth, controladores base, acceso a base de datos, integraciones AWS)Todas las APIs
@churchapps/apphelperBiblioteca de componentes React con módulos de subruta para login, donaciones, formularios, markdown, y construcción de sitios webTodas las aplicaciones web
@churchapps/content-providersAbstracción de proveedor de contenido de terceros (Lessons.church, Planning Center, Dropbox, y otros)Api, B1Admin, B1App, FreePlay
@churchapps/integration-sdkKit de herramientas de integración de B1.church: webhooks, cliente REST, OAuthDesarrolladores de integración externos
@churchapps/textingAbstracción de proveedor SMSApi

Consulta Bibliotecas Compartidas para la configuración del espacio de trabajo y el flujo de trabajo de lanzamiento.

Relaciones de Proyecto

Aplicaciones Frontend       Bibliotecas Compartidas    APIs de Backend
-------------- ---------------- ------------
B1Admin ──────┐
B1App ──────┤ @churchapps/helpers ◄───── Api
LessonsApp ──────┼──► @churchapps/apphelper LessonsApi
B1Mobile ──────┤ AskApi
FreeShow ──────┘ @churchapps/apihelper ◄────┘

Todas las aplicaciones frontend dependen de @churchapps/helpers. Las aplicaciones web adicionalmente dependen de paquetes @churchapps/apphelper. Todas las APIs de backend dependen tanto de @churchapps/helpers como de @churchapps/apihelper.

Próximos Pasos