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
O projeto usa Yarn (uma proteção bloqueia npm install):
cd Api
yarn 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 -- --module=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 ESLint com auto-fix (ESLint é o único formatador) |
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, construa-a no workspace Packages e adicione um portal Yarn temporário na API:
# No workspace do Packages
yarn build
# No diretório da API
yarn link ../Packages/helpers
# ... teste ...
yarn unlink ../Packages/helpers && yarn install
Isso permite testar alterações na biblioteca contra a API sem publicar no npm. Veja Bibliotecas Compartilhadas para detalhes -- e nunca faça commit da resolução do portal que o link escreve em package.json.
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