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