Spring til hovedindhold

Lokalt API Setup

Denne vejledning guider dig gennem opsætning af ChurchApps API til lokal udvikling. Du vil klone lageret, konfigurere dine databaseforbindelser, initialisere skemaet og starte dev-serveren med hot reload.

Før du begynder

  • Installer Node.js 22+, Git og MySQL 8.0+ -- se Forudsætninger
  • Opret en MySQL-bruger med databaseoprettelsesprivilegier
  • Gennemgå Miljøvariabler for API-konfiguration

Trin-for-trin opsætning

1. Klon lageret

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

2. Installer afhængigheder

cd Api
npm install

3. Konfigurér miljøvariabler

cp .env.sample .env

Åbn .env og konfigurér dine MySQL-forbindelsesstrenke. Hvert modul har brug for sin egen databaseforbindelse i følgende format:

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

Du får brug for forbindelsesstrenke for alle seks moduldatabaser (medlemskab, tilstedeværelse, indhold, giver, meddelelser, gør).

4. Initialiser databaserne

npm run initdb

Dette opretter alle seks databaser og deres tabeller automatisk.

tip

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

5. Start dev-serveren

npm run dev

API'en starter med hot reload på http://localhost:8084.

Vigtige kommandoer

CommandBeskrivelse
npm run devStart dev-server med hot reload (tsx watch)
npm run buildRens, kompilér TypeScript og kopier aktiver
npm run testKør test med Jest (inkluderer dækning)
npm run test:watchKør test i tilsejlsmode
npm run lintKør Prettier og ESLint med auto-fix

Staging-installation

For at implementere til staging-miljøet:

npm run deploy-staging

Dette kører en produktionsbygning og implementerer derefter via Serverless Framework.

advarsel

Sørg for, at dine AWS-legitimationsoplysninger er konfigureret, før du kører deploy-kommandoen.

Lokal biblioteksudvikling

Hvis du har brug for at udvikle et delt bibliotek (@churchapps/helpers eller @churchapps/apihelper) ved siden af API'en, skal du bruge npm link:

# I biblioteksarkivet
cd Helpers
npm run build
npm link

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

Dette giver dig mulighed for at teste biblioteksændringer mod API'en uden at publicere til npm.

Relaterede artikler

  • Database -- Forståelse af database-per-modul arkitektur
  • Modulstruktur -- Sådan organiseres controllere, repositories og modeller
  • Delte biblioteker -- Arbejde med @churchapps/helpers og @churchapps/apihelper