Lumipat sa pangunahing nilalaman

Lokal na Pag-setup ng API

Ginagabayan ka ng patnubay na ito sa pag-setup ng ChurchApps API para sa lokal na development. I-clone mo ang repository, i-configure ang iyong mga koneksyon sa database, simulan ang schema, at simulan ang dev server na may hot reload.

Bago Ka Magsimula

  • Mag-install ng Node.js 22+, Git, at MySQL 8.0+ -- tingnan ang Mga Pangangailangan
  • Lumikha ng MySQL user na may mga pribilehiyo sa paglikha ng database
  • Suriin ang sanggunian ng Mga Variable ng Kapaligiran para sa configuration ng API

Sunud-sunod na Pag-setup

1. I-clone ang repository

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

2. Mag-install ng mga dependency

cd Api
npm install

3. I-configure ang mga variable ng kapaligiran

cp .env.sample .env

Buksan ang .env at i-configure ang iyong mga MySQL connection string. Ang bawat module ay nangangailangan ng sariling koneksyon sa database sa sumusunod na format:

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

Kakailanganin mo ng mga connection string para sa lahat ng anim na database ng module (membership, attendance, content, giving, messaging, doing).

4. Simulan ang mga database

npm run initdb

Lumilikha ito ng lahat ng anim na database at ang kanilang mga talahanayan nang awtomatiko.

Tip

Maaari mong simulan ang database ng isang module gamit ang npm run initdb:membership (o attendance, content, giving, messaging, doing).

5. Simulan ang dev server

npm run dev

Ang API ay nagsisimula na may hot reload sa http://localhost:8084.

Mga Pangunahing Utos

UtosPaglalarawan
npm run devSimulan ang dev server na may hot reload (tsx watch)
npm run buildLinisin, i-compile ang TypeScript, at kopyahin ang mga asset
npm run testPatakbuhin ang mga test gamit ang Jest (kasama ang coverage)
npm run test:watchPatakbuhin ang mga test sa watch mode
npm run lintPatakbuhin ang Prettier at ESLint na may auto-fix

Pag-deploy sa Staging

Para mag-deploy sa staging na kapaligiran:

npm run deploy-staging

Nagpapatakbo ito ng production build at pagkatapos ay nagde-deploy sa pamamagitan ng Serverless Framework.

Babala

Siguraduhing naka-configure ang iyong mga AWS credential bago patakbuhin ang deploy command.

Lokal na Development ng Library

Kung kailangan mong mag-develop ng shared library (@churchapps/helpers o @churchapps/apihelper) kasabay ng API, gamitin ang npm link:

# Sa direktoryo ng library
cd Helpers
npm run build
npm link

# Sa direktoryo ng API
cd ../Api
npm link @churchapps/helpers

Pinapayagan ka nitong subukan ang mga pagbabago sa library laban sa API nang hindi nagpa-publish sa npm.

Mga Kaugnay na Artikulo

  • Database -- Pag-unawa sa arkitekturang database-per-module
  • Istraktura ng Module -- Kung paano inorganisa ang mga controller, repository, at modelo
  • Mga Shared Library -- Pagtatrabaho sa @churchapps/helpers at @churchapps/apihelper