Naar hoofdinhoud gaan

Local API Setup

Deze gids leidt u door het instellen van de ChurchApps API voor lokale ontwikkeling. U klont de repository, configureert uw databaseverbindingen, initialiseert het schema en start de dev-server met hot reload.

Voordat u begint

  • Installeer Node.js 22+, Git en MySQL 8.0+ -- zie Prerequisites
  • Maak een MySQL-gebruiker met privileges voor databaseaanmaak
  • Lees de Environment Variables-referentie voor API-configuratie

Stapsgewijze Setup

1. Kloon de repository

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

2. Installeer afhankelijkheden

cd Api
npm install

3. Configureer omgevingsvariabelen

cp .env.sample .env

Open .env en configureer uw MySQL-verbindingsreeksen. Elke module heeft zijn eigen databaseverbinding in het volgende formaat nodig:

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

U hebt verbindingsreeksen voor alle zes moduledata nodig (membership, attendance, content, giving, messaging, doing).

4. Initialiseer de databases

npm run initdb

Dit maakt automatisch alle zes databases en hun tabellen aan.

tip

U kunt de database van een enkele module initialiseren met npm run initdb:membership (of attendance, content, giving, messaging, doing).

5. Start de dev-server

npm run dev

De API start met hot reload op http://localhost:8084.

Sleutelcommando's

CommandBeschrijving
npm run devStart dev-server met hot reload (tsx watch)
npm run buildSchoon, compileer TypeScript en kopieer assets
npm run testTests uitvoeren met Jest (inclusief dekking)
npm run test:watchTests in watch-modus uitvoeren
npm run lintPrettier en ESLint met auto-fix uitvoeren

Staging-implementatie

Voer het volgende uit om te implementeren naar de staging-omgeving:

npm run deploy-staging

Dit voert een productiebuild uit en implementeert vervolgens via Serverless Framework.

waarschuwing

Zorg ervoor dat uw AWS-gegevens zijn geconfigureerd voordat u het deployopdracht uitvoert.

Lokale bibliotheekbemoeiing

Als u een gedeelde bibliotheek (@churchapps/helpers of @churchapps/apihelper) naast de API moet ontwikkelen, gebruikt u npm link:

# In de bibliotheekmap
cd Helpers
npm run build
npm link

# In de API-map
cd ../Api
npm link @churchapps/helpers

Dit laat u bibliotheekwijzigingen tegen de API testen zonder naar npm te publiceren.

Gerelateerde Artikelen

  • Database -- De database-per-module-architectuur begrijpen
  • Module Structure -- Hoe controllers, repositories en modellen zijn georganiseerd
  • Shared Libraries -- Werken met @churchapps/helpers en @churchapps/apihelper