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