Configuração Local da API
Este guia orienta você na configuração da API do ChurchApps para desenvolvimento local. Você irá clonar o repositório, configurar suas conexões de banco de dados, inicializar o esquema e iniciar o servidor de desenvolvimento com hot reload.
Antes de Começar
- Instale Node.js 22+, Git e MySQL 8.0+ -- veja Pré-requisitos
- Crie um usuário MySQL com privilégios de criação de banco de dados
- Revise a referência de Variáveis de Ambiente para configuração da API
Configuração Passo a Passo
1. Clone o repositório
git clone https://github.com/ChurchApps/Api.git
2. Instale as dependências
cd Api
npm install
3. Configure as variáveis de ambiente
cp .env.sample .env
Abra o .env e configure suas strings de conexão MySQL. Cada módulo precisa de sua própria conexão de banco de dados no seguinte formato:
mysql://root:password@localhost:3306/dbname
Você precisará de strings de conexão para todos os seis bancos de dados de módulos (membership, attendance, content, giving, messaging, doing).
4. Inicialize os bancos de dados
npm run initdb
Isso cria todos os seis bancos de dados e suas tabelas automaticamente.
Você pode inicializar o banco de dados de um único módulo com npm run initdb:membership (ou attendance, content, giving, messaging, doing).
5. Inicie o servidor de desenvolvimento
npm run dev
A API inicia com hot reload em http://localhost:8084.
Comandos Principais
| Comando | Descrição |
|---|---|
npm run dev | Iniciar servidor de desenvolvimento com hot reload (tsx watch) |
npm run build | Limpar, compilar TypeScript e copiar assets |
npm run test | Executar testes com Jest (inclui cobertura) |
npm run test:watch | Executar testes em modo de observação |
npm run lint | Executar Prettier e ESLint com auto-correção |
Implantação em Staging
Para implantar no ambiente de staging:
npm run deploy-staging
Isso executa um build de produção e depois implanta via Serverless Framework.
Certifique-se de que suas credenciais AWS estejam configuradas antes de executar o comando de implantação.
Desenvolvimento Local de Bibliotecas
Se você precisar desenvolver uma biblioteca compartilhada (@churchapps/helpers ou @churchapps/apihelper) junto com a API, use npm link:
# No diretório da biblioteca
cd Helpers
npm run build
npm link
# No diretório da API
cd ../Api
npm link @churchapps/helpers
Isso permite testar alterações na biblioteca contra a API sem publicar no npm.
Artigos Relacionados
- Banco de Dados -- Entendendo a arquitetura de banco de dados por módulo
- Estrutura do Módulo -- Como controllers, repositórios e modelos são organizados
- Bibliotecas Compartilhadas -- Trabalhando com
@churchapps/helperse@churchapps/apihelper