Yeqa uye kokucuketse lokuyinhloko

Kuhlela I-API Endzaweni Yakho

Lomhlahlandlela uyakuhambisa ekuhleleni i-ChurchApps API kutfutfuka endzaweni yakho. Utawuklona i-repository, uhlele kuxhumana kwakho kwe-database, ucalise i-schema, futsi ucalise i-dev server ine-hot reload.

Ngaphambi Kwekucala

  • Faka Node.js 22+, Git, kanye ne-MySQL 8.0+ -- buka Prerequisites
  • Akha umsebentisi we-MySQL lonelungelo lekwakha ema-database
  • Buyeketa i-Environment Variables yekuhlela i-API

Kuhlela Sinyatselo Ngesinyatselo

1. Klona i-repository

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

2. Faka tidzingo

Iprojekthi isebentisa i-Yarn (kunemvikeli levimbela npm install):

cd Api
yarn install

3. Hlela ema-environment variable

cp .env.sample .env

Vula i-.env bese uhlela emastringi akho ekuxhumana ne-MySQL. Module ngayinye idzinga kuxhumana kwayo kwe-database ngalomumo lolandzelako:

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

Utawudzinga emastringi ekuxhumana kuwo wonkhe ema-database lasi-6 emamodule (membership, attendance, content, giving, messaging, doing).

4. Calisa ema-database

npm run initdb

Loku kwakha onkhe ema-database lasi-6 nemathebula awo ngekutentekela.

seluleko

Ungacalisa database ye-module linye nge-npm run initdb -- --module=membership (nobe attendance, content, giving, messaging, doing).

5. Calisa dev server

npm run dev

I-API icala nge-hot reload ku-http://localhost:8084.

Imiyalo Lesemcoka

UmyaloIncazelo
npm run devCalisa dev server ine-hot reload (tsx watch)
npm run buildHlambulula, hlanganisa i-TypeScript, futsi ukopishe letifaka
npm run testHambisa ema-test nge-Jest (kufaka ne-coverage)
npm run test:watchHambisa ema-test ku-watch mode
npm run lintHambisa i-ESLint ne-auto-fix (i-ESLint yiyona lodwa yekulungisa umumo)

Kudeploya Ku-Staging

Kudeploya ku-simo se-staging:

npm run deploy-staging

Loku kuhambisa i-build ye-production bese kudeployiwe nge-Serverless Framework.

sicwayiso

Cinisekisa kutsi ema-credential akho e-AWS ahleliwe ngaphambi kwekuhambisa umyalo wekudeploya.

Kutfutfukiswa Kwephakheji Endzaweni Yakho

Nangabe udzinga kutfutfukisa liphakheji lelihlanganyelwako (@churchapps/helpers nobe @churchapps/apihelper) kanye ne-API, yakhe ku-workspace ye-Packages bese wengeta i-Yarn portal yesikhashana ku-API:

# Ku-workspace ye-Packages
yarn build

# Ku-directory ye-API
yarn link ../Packages/helpers
# ... hlola ...
yarn unlink ../Packages/helpers && yarn install

Loku kukuvumela kuhlola kushintjwa kwe-library kumelene ne-API ngaphandle kwekushicelela ku-npm. Buka Shared Libraries kuemininingwane -- futsi ungakaze wenze commit ye-portal resolution leyibhala i-link ku-package.json.

Emahlandla Lahlobene

  • Database -- Kucondzisisa umumo we-database-nga-module ngayinye
  • Module Structure -- Kuhlelwa kwema-controller, ema-repository, kanye nema-model
  • Shared Libraries -- Kusebenta ne-@churchapps/helpers kanye ne-@churchapps/apihelper