Zum Hauptinhalt springen

Lokale API-Einrichtung

Diese Anleitung führt Sie durch die Einrichtung der ChurchApps-API für die lokale Entwicklung. Sie klonen das Repository, konfigurieren Ihre Datenbankverbindungen, initialisieren das Schema und starten den Entwicklungsserver mit Hot Reload.

Bevor Sie beginnen

  • Installieren Sie Node.js 22+, Git und MySQL 8.0+ -- siehe Voraussetzungen
  • Erstellen Sie einen MySQL-Benutzer mit Berechtigungen zum Anlegen von Datenbanken
  • Lesen Sie die Referenz Umgebungsvariablen für die API-Konfiguration

Schrittweise Einrichtung

1. Repository klonen

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

2. Abhängigkeiten installieren

Das Projekt verwendet Yarn (eine Schutzmaßnahme blockiert npm install):

cd Api
yarn install

3. Umgebungsvariablen konfigurieren

cp .env.sample .env

Öffnen Sie .env und konfigurieren Sie Ihre MySQL-Verbindungszeichenfolgen. Jedes Modul benötigt seine eigene Datenbankverbindung im folgenden Format:

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

Sie benötigen Verbindungszeichenfolgen für alle sechs Modul-Datenbanken (membership, attendance, content, giving, messaging, doing).

4. Datenbanken initialisieren

npm run initdb

Dadurch werden alle sechs Datenbanken und ihre Tabellen automatisch erstellt.

Tipp

Sie können die Datenbank eines einzelnen Moduls mit npm run initdb -- --module=membership initialisieren (oder attendance, content, giving, messaging, doing).

5. Entwicklungsserver starten

npm run dev

Die API startet mit Hot Reload unter http://localhost:8084.

Wichtige Befehle

BefehlBeschreibung
npm run devEntwicklungsserver mit Hot Reload starten (tsx watch)
npm run buildBereinigen, TypeScript kompilieren und Assets kopieren
npm run testTests mit Jest ausführen (inklusive Coverage)
npm run test:watchTests im Watch-Modus ausführen
npm run lintESLint mit automatischer Korrektur ausführen (ESLint ist der einzige Formatierer)

Staging-Deployment

Um in die Staging-Umgebung zu deployen:

npm run deploy-staging

Dies führt einen Produktions-Build durch und deployt anschließend über das Serverless Framework.

Warnung

Stellen Sie sicher, dass Ihre AWS-Zugangsdaten konfiguriert sind, bevor Sie den Deploy-Befehl ausführen.

Lokale Bibliotheksentwicklung

Wenn Sie eine gemeinsam genutzte Bibliothek (@churchapps/helpers oder @churchapps/apihelper) parallel zur API entwickeln müssen, erstellen Sie sie im Packages-Workspace und fügen Sie in der API ein temporäres Yarn-Portal hinzu:

# Im Packages-Workspace
yarn build

# Im API-Verzeichnis
yarn link ../Packages/helpers
# ... testen ...
yarn unlink ../Packages/helpers && yarn install

So können Sie Bibliotheksänderungen gegen die API testen, ohne sie auf npm zu veröffentlichen. Details finden Sie unter Gemeinsam genutzte Bibliotheken -- und committen Sie niemals die Portal-Auflösung, die der Link in package.json schreibt.

Verwandte Artikel