Pular para o conteúdo principal

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.

Dica

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​

ComandoDescrição
npm run devIniciar servidor de desenvolvimento com hot reload (tsx watch)
npm run buildLimpar, compilar TypeScript e copiar assets
npm run testExecutar testes com Jest (inclui cobertura)
npm run test:watchExecutar testes em modo de observação
npm run lintExecutar 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.

Aviso

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​