Pular para o conteúdo principal

Visão Geral dos Projetos

ChurchApps consiste em aproximadamente 20 repositórios independentes, todos publicados na organização GitHub ChurchApps. Esta página fornece um inventário completo de todos os projetos organizados por categoria, juntamente com seus frameworks, portas e relacionamentos.

Antes de começar

  • Instale os pré-requisitos para a categoria de projeto na qual deseja trabalhar

APIs backend

Todas as APIs são construídas com Node.js, Express e TypeScript, e são implantadas no AWS Lambda via Serverless Framework.

ProjetoFinalidadePorta devBanco de dados
ApiMonólito modular principal cobrindo membership, attendance, content, giving, messaging e doing8084Banco MySQL separado por módulo (6 no total)
LessonsApiBackend do Lessons.church--Banco MySQL único lessons
AskApiFerramenta de consulta AI alimentada por OpenAI----
Info

O projeto Api principal é um monólito modular. Cada módulo (membership, attendance, content, giving, messaging, doing) tem seu próprio banco de dados e é acessível em um subcaminho como /membership ou /giving. Em produção, eles são expostos como funções Lambda separadas atrás do API Gateway.

Aplicações web

ProjetoFrameworkPorta devFinalidade
B1AdminReact 19 + Vite + MUI 73101Painel de administração da igreja
B1AppNext.js 16 + React 19 + MUI 73301Aplicação pública para membros da igreja
LessonsAppNext.js 163501Frontend do Lessons.church
B1TransferReact + Vite--Utilitário de importação/exportação de dados
BrochureSitesStatic--Sites estáticos de brochura para igrejas

Aplicativos móveis

Todos os aplicativos móveis usam React Native com Expo.

ProjetoFinalidadeVersões principais
B1MobileAplicativo para membros da igreja para iOS e AndroidExpo 54, React Native 0.81
B1CheckinAplicativo de quiosque para check-inExpo
LessonsScreenDisplay de lições para Android TVExpo
FreePlayReprodução de conteúdo (incluindo TV OS)Expo
FreeShowRemoteControle remoto móvel para FreeShowExpo

Desktop

ProjetoStackFinalidade
FreeShowElectron 37 + Svelte 3 + ViteSoftware de apresentação e adoração

Bibliotecas Compartilhadas

O código compartilhado é publicado no npm sob o escopo @churchapps e consumido como dependências npm regulares pelos projetos acima. Todos os pacotes compartilhados vivem em um único repositório -- Packages -- gerenciado como um workspace Yarn e lançado com changesets.

PacoteFinalidadeUsado por
@churchapps/helpersUtilitários base e interfaces TypeScript compartilhadas (DateHelper, ApiHelper, CurrencyHelper, etc.)Todos os projetos
@churchapps/apihelperUtilitários de servidor Express (auth, controllers base, acesso a banco de dados, integrações AWS)Todas as APIs
@churchapps/apphelperBiblioteca de componentes React com módulos de subcaminho para login, doações, formulários, markdown e construção de websiteTodas as aplicações web
@churchapps/content-providersAbstração de provedor de conteúdo de terceiros (Lessons.church, Planning Center, Dropbox e outros)Api, B1Admin, B1App, FreePlay
@churchapps/integration-sdkKit de ferramentas de integração B1.church: webhooks, cliente REST, OAuthDesenvolvedores de integração externa
@churchapps/textingAbstração de provedor SMSApi

Veja Bibliotecas Compartilhadas para configuração de workspace e o fluxo de trabalho de lançamento.

Relacionamentos entre Projetos

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

Todas as aplicações frontend dependem de @churchapps/helpers. As aplicações web dependem adicionalmente dos pacotes @churchapps/apphelper. Todas as APIs backend dependem tanto de @churchapps/helpers quanto de @churchapps/apihelper.

Próximos passos