Yeqa uye kokucuketse lokuyinhloko

Emavariyebuli Endzawo

Lonkhe liphrojekthi le-ChurchApps lisebentisa ifayela le-.env ekuhleleni kwendzawo yasekhaya. Ngalinye liphrojekthi lihlanganisa ifayela lesibonelo (sample) longalikopisha bese ulilungisa. Lelikhasi likhuluma ngemavariyebuli endzawo ema-API, tinhlelo te-web, kanye netinhlelo teselula, kuhlanganisa nendlela yekukhetsa emkatsi kwe-staging kanye netagethi te-API tasekhaya (local).

Ngaphambi Kwekutsi Ucale

  • Faka tidzingo tekucala teliphrojekthi lakho
  • Kopisha (clone) i-repository yeliphrojekthi lofuna kusebentela kulo
  • Bukisisa Simo Sonkhe Semaphrojekthi kute ucondze kutsi ngimaphi ema-module e-API lawadzingekako liphrojekthi lakho

Iphetheni Lejwayelekile

  1. Funa i-dotenv.sample.txt kumbe i-.env.sample ku-root yeliphrojekthi.
  2. Yikopishe uyifake ku-.env.
  3. Lungisa emanani ngendlela lokuya ngayo.
# Sibonelo seliphrojekthi lelinele-.env.sample
cp .env.sample .env

# Sibonelo seliphrojekthi lelinele-dotenv.sample.txt
cp dotenv.sample.txt .env
sicwayiso

Ungakemuva ufake emafayela e-.env ku-version control. Aphetse imfihlo (secrets) njenge-database credentials, ema-API key, kanye ne-JWT secrets. Onkhe emaphrojekthi e-ChurchApps ahlanganisa i-.env ku-.gitignore, kodvwa chaka njalo ngaphambi kwekufaka (commit).

Kukhetsa Tagethi Ye-API

Sincumo lesibalulekile kakhulu kusiphi indzawo lapho i-frontend yakho ikhomba khona kutakwenta ema-API call. Kunetintfo letimbili longakhetsa kuto:

Sincumo 1: Ema-Staging API (Kuncocedwa Ekutfutfukisweni Kwe-Frontend)

Sebentisa indzawo ye-staging lesabelwanako. Akudzingeki i-API yasekhaya kumbe kuhlelwa kwe-database.

# Iphetheni ye-Base URL
https://api.staging.churchapps.org/{module}

# Tibonelo tema-URL yema-module
https://api.staging.churchapps.org/membership
https://api.staging.churchapps.org/attendance
https://api.staging.churchapps.org/content
https://api.staging.churchapps.org/giving
https://api.staging.churchapps.org/messaging
https://api.staging.churchapps.org/doing

Sincumo 2: I-API Yasekhaya

Gijimisa liphrojekthi le-Api emshinini wakho. Kudzinga i-MySQL 8.0+ nema-database lakhiwe kumamodyuli wonkhe. Bona umhlahlandlela we-API local setup.

# Iphetheni ye-Base URL
http://localhost:8084/{module}

# Tibonelo tema-URL yema-module
http://localhost:8084/membership
http://localhost:8084/attendance
http://localhost:8084/content
http://localhost:8084/giving
http://localhost:8084/messaging
http://localhost:8084/doing

Emavariyebuli Endzawo Ye-API

Liphrojekthi le-core Api (.env.sample) linekuhlelwa lokunyenti kakhulu. Nawa emavariyebuli labalulekile:

Kuhlelwa Lokusabelwanako

IvariyebuliIncazeloSibonelo
ENVIRONMENTIndzawo yekusebentadev
SERVER_PORTI-HTTP port ye-dev server yasekhaya8084
ENCRYPTION_KEYInkhinombolo (key) ye-encryption ye-192-bit yemininingwane lebalulekileaSecretKeyOfExactly192BitsLength
JWT_SECRETImfihlo yekusayina ema-JSON Web Tokenjwt-secret-dev
FILE_STOREKutsi emafayela lafakiwe agcinwa kuphi (disk kumbe s3)disk
CORS_ORIGINEma-origin la-CORS lavunywe (* kutfutfukiswa kwasekhaya)*

Kuxhuma Ku-Database

I-base URL yinye ikhomba i-API ku-MySQL. I-API yakha i-database yinye ngamunye we-module (/membership, /attendance, /content, /giving, /messaging, /doing, /reporting) kusuka kulobu-base.

IvariyebuliSibonelo
API_DATABASE_URLmysql://root:password@localhost:3306
seluleko

Shintja i-root:password ube ne-credentials yakho yangempela ye-MySQL. Ngamunye we-database ye-module kufanele ibe khona ngaphambi kwekugijimisa i-API. Sebentisa i-npm run initdb kute wakhe i-schema kuwo onkhe ema-module, kumbe i-npm run initdb:membership ku-module yinye.

Kuhlelwa Kwe-WebSocket

IvariyebuliIncazeloSibonelo
SOCKET_PORTI-port ye-WebSocket server8087
SOCKET_URLI-WebSocket URL yekutsi tikhulumisani tixhumews://localhost:8087

Emavariyebuli Endzawo Tinhlelo Te-Web

B1Admin (React + Vite)

Ifayela lesibonelo: .env.sample

IvariyebuliIncazeloSibonelo (Staging)
REACT_APP_STAGELigama lendzawo yekusebentademo
PORTI-port ye-dev server3101
REACT_APP_API_BASEI-base URL yinye kuwo onkhe ema-API e-ChurchApps (/membership, /attendance, /content, /giving, /messaging, /doing, /reporting tengetwa ngekutitigenzi)https://api.staging.churchapps.org
REACT_APP_CONTENT_ROOTI-URL yekulethwa kwekucuketfwehttps://content.staging.churchapps.org
REACT_APP_GOOGLE_ANALYTICSI-ID ye-Google Analytics (akudzingeki)UA-123456789-1

Ekutfutfukisweni kwe-API yasekhaya, khomba i-base URL kusitulo sakho sasekhaya:

REACT_APP_API_BASE=http://localhost:8084

B1App (Next.js)

Ifayela lesibonelo: .env.sample

IvariyebuliIncazeloSibonelo (Staging)
NEXT_PUBLIC_API_BASEI-base URL yinye kuwo onkhe ema-API e-ChurchApps (/membership, /attendance, /content, /giving, /messaging, /doing, /reporting tengetwa ngekutitigenzi)https://api.staging.churchapps.org
NEXT_PUBLIC_CONTENT_ROOTI-URL yekulethwa kwekucuketfwehttps://staging.churchapps.org/content
NEXT_PUBLIC_CHURCH_APPS_URLI-base URL ye-ChurchAppshttps://staging.churchapps.org
NEXT_PUBLIC_GOOGLE_ANALYTICSI-ID ye-Google Analytics (akudzingeki)UA-123456789-1
imininingwane

I-Next.js idzinga i-prefix ye-NEXT_PUBLIC_ kunoma nguluphi luvariyebuli lolwendzawo lolufuneka lutfolakale ku-browser. Emavariyebuli lasebentela ku-server kuphela awadzingi lesiprefix.

LessonsApp (Next.js)

Ifayela lesibonelo: dotenv.sample.txt

IvariyebuliIncazeloSibonelo (Staging)
STAGEIsigaba sendzawo yekusebentastaging
NEXT_PUBLIC_LESSONS_APII-URL ye-Lessons APIhttps://api.staging.lessons.church
NEXT_PUBLIC_CONTENT_ROOTI-URL yekulethwa kwekucuketfwehttps://api.staging.lessons.church/content
NEXT_PUBLIC_CHURCH_APPS_URLI-base URL ye-ChurchAppshttps://staging.churchapps.org

Emavariyebuli Endzawo Tinhlelo Teselula

B1Mobile (React Native / Expo)

Ifayela lesibonelo: dotenv.sample.txt

IvariyebuliIncazeloSibonelo (Staging)
STAGELigama lendzawo yekusebentadev
API_BASEI-base URL yinye kuwo onkhe ema-API e-ChurchApps (/membership, /attendance, /content, /giving, /messaging, /doing tengetwa ngekutitigenzi)https://api.staging.churchapps.org
LESSONS_APII-Lessons API (host lehlukene)https://api.staging.lessons.church
CONTENT_ROOTI-URL yekulethwa kwekucuketfwehttps://content.staging.churchapps.org
LESSONS_ROOTI-URL yesayithi ye-Lessonshttps://staging.lessons.church
imininingwane

Tinhlelo teselula atisebentisi i-prefix ye-REACT_APP_ kumbe i-NEXT_PUBLIC_. Kufinyelelwa kwemavariyebuli endzawo kuphatfwa yikuhlelwa kwe-Expo.


Kubuka Ngekushesha: Tindzawo Tema-Fayela Esibonelo

LiphrojekthiIfayela Lesibonelo
Api.env.sample
B1Admin.env.sample
B1App.env.sample
B1Mobiledotenv.sample.txt
B1Checkindotenv.sample.txt
LessonsAppdotenv.sample.txt
AskApidotenv.sample.txt