Vai al contenuto principale

Setup Locale dell'API

Questa guida ti accompagna nella configurazione dell'API di ChurchApps per lo sviluppo locale. Clonerai il repository, configurerai le connessioni al database, inizializzerai lo schema e avvierai il server di sviluppo con hot reload.

Prima di Iniziare

  • Installa Node.js 22+, Git e MySQL 8.0+ -- vedi Prerequisiti
  • Crea un utente MySQL con privilegi di creazione database
  • Consulta il riferimento delle Variabili d'Ambiente per la configurazione dell'API

Setup Passo-Passo

1. Clona il repository

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

2. Installa le dipendenze

cd Api
npm install

3. Configura le variabili d'ambiente

cp .env.sample .env

Apri .env e configura le stringhe di connessione MySQL. Ogni modulo necessita della propria connessione al database nel seguente formato:

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

Avrai bisogno delle stringhe di connessione per tutti e sei i database dei moduli (membership, attendance, content, giving, messaging, doing).

4. Inizializza i database

npm run initdb

Questo crea tutti e sei i database e le relative tabelle automaticamente.

Suggerimento

Puoi inizializzare il database di un singolo modulo con npm run initdb:membership (o attendance, content, giving, messaging, doing).

5. Avvia il server di sviluppo

npm run dev

L'API si avvia con hot reload su http://localhost:8084.

Comandi Principali

ComandoDescrizione
npm run devAvvia il server di sviluppo con hot reload (tsx watch)
npm run buildPulisce, compila TypeScript e copia gli asset
npm run testEsegue i test con Jest (include la copertura)
npm run test:watchEsegue i test in modalità watch
npm run lintEsegue Prettier ed ESLint con auto-fix

Deployment di Staging

Per deployare nell'ambiente di staging:

npm run deploy-staging

Questo esegue una build di produzione e poi deploya tramite Serverless Framework.

Avviso

Assicurati che le credenziali AWS siano configurate prima di eseguire il comando di deploy.

Sviluppo Locale delle Librerie

Se hai bisogno di sviluppare una libreria condivisa (@churchapps/helpers o @churchapps/apihelper) insieme all'API, usa npm link:

# Nella directory della libreria
cd Helpers
npm run build
npm link

# Nella directory dell'API
cd ../Api
npm link @churchapps/helpers

Questo ti permette di testare le modifiche alla libreria contro l'API senza pubblicare su npm.

Articoli Correlati