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 75173Painel 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. Estes são consumidos como dependências npm regulares pelos projetos acima.

PacoteNome npmFinalidadeUsado por
Helpers@churchapps/helpersUtilitários base (DateHelper, ApiHelper, CurrencyHelper, etc.)Todos os projetos
ApiHelper@churchapps/apihelperUtilitários de servidor Express (auth middleware, DB helpers, integração AWS)Todas as APIs
AppHelperWorkspace com 6 pacotesBiblioteca de componentes ReactTodas as aplicações web
ContentProviderHelper@churchapps/content-provider-helperProvedores de conteúdo YouTube, Vimeo e locaisFreeShow, FreePlay, Api

Sub-pacotes AppHelper

O projeto AppHelper é um workspace monorepo que publica seis pacotes:

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

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