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.
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
| Kommando | Beskrivelse |
|---|---|
npm run dev | Start utviklingsserver med hot reload (tsx watch) |
npm run build | Rydd opp, kompiler TypeScript og kopier ressurser |
npm run test | Kjør tester med Jest (inkluderer dekningsgrad) |
npm run test:watch | Kjør tester i watch-modus |
npm run lint | Kjø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.
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/helpersog@churchapps/apihelper