Ugrás a fő tartalomra

Környezeti változók

Minden ChurchApps-projekt a helyi konfigurációhoz .env fájlt használ. Minden projekt tartalmaz egy mintafájlt, amelyet át kell másolni és testre kell szabni. Ez az oldal az API-k, a webalkalmazások és a mobilalkalmazások környezeti változóit ismerteti, beleértve azt is, hogyan lehet a demó és a helyi API-célpont között választani.

Mielőtt elkezdené

  • Telepítse a előfeltételeket az adott projekthez
  • Klónozza le a projekt tárolóját, amelyen dolgozni szeretne
  • Tekintse át a Projekt áttekintést, hogy megismerje, mely API-modulokra van szüksége a projektnek

Általános működés​

  1. Keressen dotenv.sample.txt vagy .env.sample fájlt a projekt gyökerében.
  2. Másolja át .env néven.
  3. Szerkessze a értékeket szükség szerint.
# Példa a .env.sample fájllal rendelkező projekthez
cp .env.sample .env

# Példa a dotenv.sample.txt fájllal rendelkező projekthez
cp dotenv.sample.txt .env
figyelmeztetés

Soha ne commitolja a .env fájlokat a verziókezelőbe. Ezek titkos adatokat tartalmaznak, például adatbázis-hitelesítő adatokat, API-kulcsokat és JWT-titkokat. Minden ChurchApps-projekt felveszi a .env fájlt a .gitignore fájlba, de commitolás előtt mindig ellenőrizze újra.

API-célpont kiválasztása​

A legfontosabb döntés, hogy a frontend hová irányítsa az API-hívásokat. Két lehetőség van:

1. lehetőség: Demó API-k (ajánlott frontend-fejlesztéshez)​

Használja a közös demókörnyezetet. Nincs szükség helyi API-ra vagy adatbázis-beállításra. Ez a main ágon lévő legfrissebb kódot futtatja, a mintaadatai pedig éjszaka újratöltődnek.

# Alap URL-minta
https://api.demo.churchapps.org/{module}

# Példa modul-URL-ek
https://api.demo.churchapps.org/membership
https://api.demo.churchapps.org/attendance
https://api.demo.churchapps.org/content
https://api.demo.churchapps.org/giving
https://api.demo.churchapps.org/messaging
https://api.demo.churchapps.org/doing
figyelmeztetés

A staging környezet (api.staging.churchapps.org, api.staging.lessons.church és a kapcsolódó gazdagépek) megszűnt. Egyes mintafájlok .env még tartalmazhatnak staging URL-eket; cserélje ki őket az ezen az oldalon látható demó vagy helyi értékekre. Nincs megosztott, nem éles Lessons API – ha szükséges, futtassa helyben a LessonsApi projektet (a 8090 porton figyel).

2. lehetőség: Helyi API​

Futtassa az Api projektet a saját gépén. MySQL 8.0+ szükséges, minden modulhoz létrehozott adatbázisokkal. Lásd: helyi API-beállítás útmutató.

# Alap URL-minta
http://localhost:8084/{module}

# Példa modul-URL-ek
http://localhost:8084/membership
http://localhost:8084/attendance
http://localhost:8084/content
http://localhost:8084/giving
http://localhost:8084/messaging
http://localhost:8084/doing

API környezeti változói​

A fő Api projekt (.env.sample) rendelkezik a legtöbb beállítással. Íme a legfontosabb változók:

Közös beállítások​

VáltozóLeírásPélda
ENVIRONMENTFuttatókörnyezetdev
SERVER_PORTA helyi fejlesztői szerver HTTP-portja8084
ENCRYPTION_KEY192 bites titkosítókulcs az érzékeny adatokhozaSecretKeyOfExactly192BitsLength
JWT_SECRETA JSON Web Tokenek aláírásához használt titkos kulcsjwt-secret-dev
FILE_STOREHol tárolja a feltöltött fájlokat (disk vagy s3)disk
CORS_ORIGINEngedélyezett CORS-eredetek (* helyi fejlesztéshez)*

Adatbázis-kapcsolat​

Egyetlen alap URL mutatja meg az API-nak a MySQL-t. Az API ebből az alapból modulonként egy adatbázist származtat (/membership, /attendance, /content, /giving, /messaging, /doing, /reporting).

VáltozóPélda
API_DATABASE_URLmysql://root:password@localhost:3306
tipp

Cserélje le a root:password részt a saját MySQL-hitelesítő adataira. Minden modulhoz tartozó adatbázisnak léteznie kell az API indítása előtt. Az összes modul sémáját az npm run initdb paranccsal hozhatja létre, vagy egyetlen modulét az npm run initdb:membership paranccsal.

WebSocket-beállítások​

VáltozóLeírásPélda
SOCKET_PORTA WebSocket-szerver portja8087
SOCKET_URLAz a WebSocket-URL, amelyhez a kliensek csatlakoznakws://localhost:8087

Webalkalmazások környezeti változói​

B1Admin (React + Vite)​

Mintafájl: .env.sample

VáltozóLeírásPélda (demó)
REACT_APP_STAGEKörnyezet nevedemo
PORTA fejlesztői szerver portja3101
REACT_APP_API_BASEEgyetlen alap URL minden ChurchApps API-hoz (/membership, /attendance, /content, /giving, /messaging, /doing, /reporting automatikusan hozzáfűződik)https://api.demo.churchapps.org
REACT_APP_CONTENT_ROOTA tartalomkézbesítő URL-jehttps://democontent.churchapps.org
REACT_APP_GOOGLE_ANALYTICSGoogle Analytics-azonosító (opcionális)UA-123456789-1

Helyi API-fejlesztéshez irányítsa az alap URL-t a helyi környezetre:

REACT_APP_API_BASE=http://localhost:8084

B1App (Next.js)​

Mintafájl: .env.sample

VáltozóLeírásPélda (demó)
NEXT_PUBLIC_API_BASEEgyetlen alap URL minden ChurchApps API-hoz (/membership, /attendance, /content, /giving, /messaging, /doing, /reporting automatikusan hozzáfűződik)https://api.demo.churchapps.org
NEXT_PUBLIC_CONTENT_ROOTA tartalomkézbesítő URL-jehttps://democontent.churchapps.org
NEXT_PUBLIC_GOOGLE_ANALYTICSGoogle Analytics-azonosító (opcionális)UA-123456789-1
info

A Next.js megköveteli a NEXT_PUBLIC_ előtagot minden olyan környezeti változónál, amelynek a böngészőben is elérhetőnek kell lennie. A csak a szerveren használt változóknak nincs szükségük erre az előtagra.

LessonsApp (Next.js)​

Mintafájl: dotenv.sample.txt

VáltozóLeírásPélda (helyi LessonsApi)
STAGEKörnyezeti szakasz (helyi fejlesztéshez hagyja üresen vagy dev)dev
NEXT_PUBLIC_LESSONS_APIA Lessons API URL-jehttp://localhost:8090
NEXT_PUBLIC_CONTENT_ROOTA tartalomkézbesítő URL-jehttp://localhost:8090/content
NEXT_PUBLIC_API_BASEA bejelentkezéshez használt ChurchApps API alap URL-je (csak akkor érvényesül, ha a STAGE nincs beállítva vagy dev)https://api.demo.churchapps.org

Mobilalkalmazások környezeti változói​

B1Checkin (React Native / Expo)​

Mintafájl: dotenv.sample.txt

VáltozóLeírásPélda
EXPO_PUBLIC_STAGEAzt határozza meg, hogy az alkalmazás melyik API-készletre csatlakozzon: dev (helyi API a http://127.0.0.1:8084 címen), staging vagy prod (alapértelmezett, ha nincs beállítva)dev

A B1Checkin csak a Membership és Attendance API-modulokat, valamint a tartalomkézbesítő URL-t használja; az egyes szakaszokhoz tartozó címek a src/helpers/EnvironmentHelper.ts fájlban vannak beállítva.

info

Az Expo csak az EXPO_PUBLIC_ előtaggal rendelkező változókat építi bele az alkalmazás csomagjába. A .env módosítása után indítsa újra a fejlesztői szervert a yarn start --reset-cache paranccsal.


Gyors áttekintés: mintafájlok helye​

ProjektMintafájl
Api.env.sample
B1Admin.env.sample
B1App.env.sample
B1Checkindotenv.sample.txt
LessonsAppdotenv.sample.txt
AskApidotenv.sample.txt