Hopp til hovedinnhold

Lokalt API-oppsett

Denne veiledningen leder deg gjennom oppsettet av ChurchApps-API-et for lokal utvikling. Du vil klone repositoriet, konfigurere databasetilkoblingene dine, initialisere skjemaet og starte utviklingsserveren med hot reload.

Før du begynner

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

Trinnvis oppsett​

1. Klon repositoriet​

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

2. Installer avhengigheter​

Prosjektet bruker Yarn (en vakt blokkerer npm install):

cd Api
yarn 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/dbname

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

4. Initialiser databasene​

npm run initdb

Dette oppretter alle seks databasene og tabellene deres automatisk.

Tips

Du kan initialisere databasen til én enkelt modul med npm run initdb -- --module=membership (eller attendance, content, giving, messaging, doing).

5. Start utviklingsserveren​

npm run dev

API-et starter med hot reload på http://localhost:8084.

Viktige kommandoer​

KommandoBeskrivelse
npm run devStart utviklingsserver med hot reload (tsx watch)
npm run buildRydd opp, kompiler TypeScript og kopier ressurser
npm run testKjør tester med Jest (inkluderer dekningsgrad)
npm run test:watchKjør tester i watch-modus
npm run lintKjør ESLint med automatisk retting (ESLint er den eneste formattereren)

Distribusjon til staging​

For å distribuere til staging-miljøet:

npm run deploy-staging

Dette kjører et produksjonsbygg og distribuerer deretter via Serverless Framework.

Advarsel

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

Lokal biblioteksutvikling​

Hvis du trenger å utvikle et delt bibliotek (@churchapps/helpers eller @churchapps/apihelper) sammen med API-et, bygg det i Packages-arbeidsområdet og legg til en midlertidig Yarn-portal i API-et:

# I Packages-arbeidsområdet
yarn build

# I API-katalogen
yarn link ../Packages/helpers
# ... test ...
yarn unlink ../Packages/helpers && yarn install

Dette lar deg teste biblioteksendringer mot API-et uten å publisere til npm. Se Delte biblioteker for detaljer -- og aldri commit portal-oppløsningen som lenken skriver til package.json.

Relaterte artikler​

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