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