Saltar al contenido principal

Configuración Local de API

Esta guía te acompaña en la configuración de la API de ChurchApps para el desarrollo local. Clonarás el repositorio, configurarás tus conexiones de base de datos, inicializarás el esquema, e iniciarás el servidor de desarrollo con recarga en caliente.

Antes de comenzar

  • Instala Node.js 22+, Git, y MySQL 8.0+ -- consulta Requisitos Previos
  • Crea un usuario de MySQL con privilegios de creación de bases de datos
  • Revisa la referencia de Variables de Entorno para la configuración de la API

Configuración Paso a Paso

1. Clonar el repositorio

git clone https://github.com/ChurchApps/Api.git

2. Instalar dependencias

El proyecto usa Yarn (una protección bloquea npm install):

cd Api
yarn install

3. Configurar variables de entorno

cp .env.sample .env

Abre .env y configura tus cadenas de conexión MySQL. Cada módulo necesita su propia conexión de base de datos en el siguiente formato:

mysql://root:password@localhost:3306/dbname

Necesitarás cadenas de conexión para las seis bases de datos de módulo (membership, attendance, content, giving, messaging, doing).

4. Inicializar las bases de datos

npm run initdb

Esto crea las seis bases de datos y sus tablas automáticamente.

tip

Puedes inicializar la base de datos de un solo módulo con npm run initdb -- --module=membership (o attendance, content, giving, messaging, doing).

5. Iniciar el servidor de desarrollo

npm run dev

La API se inicia con recarga en caliente en http://localhost:8084.

Comandos Clave

ComandoDescripción
npm run devIniciar servidor de desarrollo con recarga en caliente (tsx watch)
npm run buildLimpiar, compilar TypeScript, y copiar recursos
npm run testEjecutar pruebas con Jest (incluye cobertura)
npm run test:watchEjecutar pruebas en modo watch
npm run lintEjecutar ESLint con auto-corrección (ESLint es el único formateador)

Implementación en Staging

Para implementar en el entorno de staging:

npm run deploy-staging

Esto ejecuta una compilación de producción y luego implementa vía Serverless Framework.

aviso

Asegúrate de que tus credenciales de AWS estén configuradas antes de ejecutar el comando de implementación.

Desarrollo Local de Bibliotecas

Si necesitas desarrollar una biblioteca compartida (@churchapps/helpers o @churchapps/apihelper) junto con la API, constrúyela en el espacio de trabajo de Packages y agrega un portal Yarn temporal en la API:

# En el espacio de trabajo Packages
yarn build

# En el directorio API
yarn link ../Packages/helpers
# ... probar ...
yarn unlink ../Packages/helpers && yarn install

Esto te permite probar cambios de biblioteca contra la API sin publicar en npm. Consulta Bibliotecas Compartidas para más detalles -- y nunca confirmes la resolución de portal que el link escribe en package.json.

Artículos Relacionados