Hopp til hovedinnhold

Lokalt API-oppsett

Denne guiden veileder deg gjennom oppsett av ChurchApps API for lokal utvikling. Du vil klone repositoriet, konfigurere databasetilkoblingene, initialisere skjemaet og starte utviklingsserveren med automatisk omlasting.

Før du begynner

  • Installer Node.js 22+, Git og MySQL 8.0+ -- se Forutsetninger
  • Opprett en MySQL-bruker med rettigheter til å opprette databaser
  • Gjennomgå referansen for Miljøvariabler for API-konfigurasjon

Trinnvis oppsett

1. Klon repositoriet

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

2. Installer avhengigheter

cd Api
npm install

3. Konfigurer miljøvariabler

cp .env.sample .env

Åpne .env og konfigurer MySQL-tilkoblingsstrengene dine. Hver modul trenger sin egen databasetilkobling i følgende format:

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

Du trenger tilkoblingsstrenger for alle seks moduldatabaser (membership, attendance, content, giving, messaging, doing).

4. Initialiser databasene

npm run initdb

Dette oppretter alle seks databaser og deres tabeller automatisk.

Tips

Du kan initialisere en enkelt moduls database med npm run initdb:membership (eller attendance, content, giving, messaging, doing).

5. Start utviklingsserveren

npm run dev

API-et starter med automatisk omlasting på http://localhost:8084.

Viktige kommandoer

KommandoBeskrivelse
npm run devStart utviklingsserver med automatisk omlasting (tsx watch)
npm run buildRens, kompiler TypeScript og kopier ressurser
npm run testKjør tester med Jest (inkluderer dekning)
npm run test:watchKjør tester i overvåkingsmodus
npm run lintKjør Prettier og ESLint med automatisk retting

Distribusjon til staging

For å distribuere til staging-miljøet:

npm run deploy-staging

Dette kjører en produksjonsbygging og distribuerer deretter via Serverless Framework.

Advarsel

Sørg for at AWS-legitimasjonen din er konfigurert før du kjører distribusjonskommandoen.

Lokal bibliotekutvikling

Hvis du trenger å utvikle et delt bibliotek (@churchapps/helpers eller @churchapps/apihelper) sammen med API-et, bruk npm link:

# I bibliotekskatalogen
cd Helpers
npm run build
npm link

# I API-katalogen
cd ../Api
npm link @churchapps/helpers

Dette lar deg teste bibliotekendringer mot API-et uten å publisere til npm.

Relaterte artikler

  • Database -- Forstå database-per-modul-arkitekturen
  • Modulstruktur -- Hvordan kontrollere, repositories og modeller er organisert
  • Delte biblioteker -- Jobbe med @churchapps/helpers og @churchapps/apihelper