Pular para o conteúdo principal

Aplicações Web

O ChurchApps inclui três aplicações web, cada uma servindo um público e propósito diferentes. Elas compartilham uma base tecnológica comum de React 19, TypeScript e Material-UI 7, mas diferem em suas ferramentas de build e alvos de implantação.

Aplicações em Resumo

AppPropósitoFrameworkPorta de Dev
B1AdminPainel de administração da igrejaReact 19 + Vite + MUI 75173
B1AppAplicação pública para membros da igrejaNext.js 16 + React 19 + MUI 73301
LessonsAppGerenciamento de conteúdo de liçõesNext.js 16 + React 193501

Stack Tecnológica Compartilhada

Todas as três aplicações web são construídas com:

  • TypeScript -- Segurança de tipos de ponta a ponta
  • React 19 -- Biblioteca de componentes de UI
  • Material-UI 7 -- Sistema de design e kit de componentes
  • React Query 5 -- Gerenciamento de estado do servidor

Componentes Compartilhados

As aplicações compartilham componentes de UI e utilitários através da família de pacotes @churchapps/apphelper*:

PacotePropósito
@churchapps/apphelperComponentes React compartilhados principais
@churchapps/apphelper-loginComponentes de UI de autenticação
@churchapps/apphelper-donationsFormulários de doação e ofertas
@churchapps/apphelper-formsComponentes de construtor de formulários
@churchapps/apphelper-markdownRenderização de markdown
@churchapps/apphelper-websiteComponentes de website/CMS
Dica

Para detalhes sobre o desenvolvimento desses pacotes compartilhados localmente, veja a documentação do AppHelper.

Script Postinstall

Cada aplicação web tem um script postinstall que copia arquivos de localização e assets CSS do @churchapps/apphelper para o projeto. Isso é executado automaticamente após npm install.

Info

Se os componentes aparecerem sem estilo após instalar dependências, o script postinstall pode não ter sido executado corretamente. Você pode acioná-lo manualmente com npm run postinstall.

Ferramentas de Build

As aplicações usam duas ferramentas de build diferentes:

  • B1Admin usa Vite -- um bundler rápido e moderno ideal para aplicações de página única
  • B1App e LessonsApp usam Next.js -- fornecendo renderização do lado do servidor, roteamento baseado em arquivos e builds de produção otimizados