मुख्य सामग्री पर जाएं

पर्यावरण चर

प्रत्येक ChurchApps प्रोजेक्ट स्थानीय कॉन्फ़िगरेशन के लिए .env फ़ाइल का उपयोग करता है। प्रत्येक प्रोजेक्ट में एक नमूना फ़ाइल शामिल है जिसे आप कॉपी और कस्टमाइज़ करते हैं। यह पृष्ठ API, वेब ऐप और मोबाइल ऐप के लिए पर्यावरण चर को कवर करता है, जिसमें स्टेजिंग और स्थानीय API लक्ष्य के बीच चयन करना शामिल है।

शुरू करने से पहले

  • अपने प्रोजेक्ट के लिए पूर्वापेक्षाएँ इंस्टॉल करें
  • जिस प्रोजेक्ट पर काम करना चाहते हैं उसकी रिपॉज़िटरी क्लोन करें
  • यह समझने के लिए प्रोजेक्ट अवलोकन देखें कि आपके प्रोजेक्ट को किन API मॉड्यूल की आवश्यकता है

सामान्य पैटर्न

  1. प्रोजेक्ट रूट में dotenv.sample.txt या .env.sample खोजें।
  2. इसे .env में कॉपी करें।
  3. आवश्यकतानुसार मान संपादित करें।
# .env.sample वाले प्रोजेक्ट के लिए उदाहरण
cp .env.sample .env

# dotenv.sample.txt वाले प्रोजेक्ट के लिए उदाहरण
cp dotenv.sample.txt .env
चेतावनी

.env फ़ाइलें कभी वर्शन कंट्रोल में कमिट न करें। इनमें डेटाबेस क्रेडेंशियल, API कुंजी और JWT सीक्रेट जैसे रहस्य होते हैं। सभी ChurchApps प्रोजेक्ट .gitignore में .env शामिल करते हैं, लेकिन कमिट करने से पहले हमेशा दोबारा जाँच करें।

API लक्ष्य चुनना

सबसे महत्वपूर्ण निर्णय यह है कि आपका फ्रंटएंड API कॉल के लिए कहाँ पॉइंट करता है। दो विकल्प हैं:

विकल्प 1: स्टेजिंग API (फ्रंटएंड विकास के लिए अनुशंसित)

साझा स्टेजिंग एनवायरनमेंट का उपयोग करें। कोई स्थानीय API या डेटाबेस सेटअप की आवश्यकता नहीं।

# बेस URL पैटर्न
https://api.staging.churchapps.org/{module}

# मॉड्यूल URL उदाहरण
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

विकल्प 2: स्थानीय API

अपनी मशीन पर Api प्रोजेक्ट चलाएँ। प्रत्येक मॉड्यूल के लिए बनाए गए डेटाबेस के साथ MySQL 8.0+ आवश्यक है। API स्थानीय सेटअप गाइड देखें।

# बेस URL पैटर्न
http://localhost:8084/{module}

# मॉड्यूल URL उदाहरण
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 पर्यावरण चर

मुख्य Api प्रोजेक्ट (.env.sample) में सबसे अधिक कॉन्फ़िगरेशन है। यहाँ प्रमुख चर हैं:

साझा सेटिंग्स

चरविवरणउदाहरण
ENVIRONMENTरनटाइम एनवायरनमेंटdev
SERVER_PORTस्थानीय डेव सर्वर के लिए HTTP पोर्ट8084
ENCRYPTION_KEYसंवेदनशील डेटा के लिए 192-बिट एन्क्रिप्शन कुंजीaSecretKeyOfExactly192BitsLength
JWT_SECRETJSON Web Tokens साइन करने के लिए सीक्रेटjwt-secret-dev
FILE_STOREअपलोड की गई फ़ाइलें कहाँ संग्रहीत करें (disk या s3)disk
CORS_ORIGINअनुमत CORS ऑरिजिन (स्थानीय डेव के लिए *)*

डेटाबेस कनेक्शन

प्रत्येक API मॉड्यूल का अपना MySQL डेटाबेस और कनेक्शन स्ट्रिंग है:

चरडेटाबेस
MEMBERSHIP_CONNECTION_STRINGmysql://root:password@localhost:3306/membership
ATTENDANCE_CONNECTION_STRINGmysql://root:password@localhost:3306/attendance
CONTENT_CONNECTION_STRINGmysql://root:password@localhost:3306/content
GIVING_CONNECTION_STRINGmysql://root:password@localhost:3306/giving
MESSAGING_CONNECTION_STRINGmysql://root:password@localhost:3306/messaging
DOING_CONNECTION_STRINGmysql://root:password@localhost:3306/doing
सुझाव

root:password को अपने वास्तविक MySQL क्रेडेंशियल से अपडेट करें। API चलाने से पहले प्रत्येक डेटाबेस बनाया जाना चाहिए। सभी मॉड्यूल के लिए स्कीमा बनाने के लिए npm run initdb या एकल मॉड्यूल के लिए npm run initdb:membership उपयोग करें।

WebSocket सेटिंग्स

चरविवरणउदाहरण
SOCKET_PORTWebSocket सर्वर के लिए पोर्ट8087
SOCKET_URLक्लाइंट कनेक्ट करने के लिए WebSocket URLws://localhost:8087

वेब ऐप पर्यावरण चर

B1Admin (React + Vite)

नमूना फ़ाइल: .env.sample

चरविवरणउदाहरण (स्टेजिंग)
REACT_APP_STAGEएनवायरनमेंट नामdemo
PORTडेव सर्वर पोर्ट3101
REACT_APP_MEMBERSHIP_APIMembership API URLhttps://api.staging.churchapps.org/membership
REACT_APP_ATTENDANCE_APIAttendance API URLhttps://api.staging.churchapps.org/attendance
REACT_APP_GIVING_APIGiving API URLhttps://api.staging.churchapps.org/giving
REACT_APP_CONTENT_ROOTसामग्री डिलीवरी URLhttps://content.staging.churchapps.org
REACT_APP_GOOGLE_ANALYTICSGoogle Analytics ID (वैकल्पिक)UA-123456789-1

स्थानीय API विकास के लिए, localhost वेरिएंट अनकमेंट करें और उपयोग करें:

REACT_APP_MEMBERSHIP_API=http://localhost:8084/membership
REACT_APP_ATTENDANCE_API=http://localhost:8084/attendance
REACT_APP_GIVING_API=http://localhost:8084/giving
REACT_APP_CONTENT_API=http://localhost:8084/content
REACT_APP_DOING_API=http://localhost:8084/doing
REACT_APP_MESSAGING_API=http://localhost:8084/messaging

B1App (Next.js)

नमूना फ़ाइल: .env.sample

चरविवरणउदाहरण (स्टेजिंग)
NEXT_PUBLIC_MEMBERSHIP_APIMembership API URLhttps://api.staging.churchapps.org/membership
NEXT_PUBLIC_ATTENDANCE_APIAttendance API URLhttps://api.staging.churchapps.org/attendance
NEXT_PUBLIC_GIVING_APIGiving API URLhttps://api.staging.churchapps.org/giving
NEXT_PUBLIC_MESSAGING_APIMessaging API URLhttps://api.staging.churchapps.org/messaging
NEXT_PUBLIC_CONTENT_APIContent API URLhttps://api.staging.churchapps.org/content
NEXT_PUBLIC_CONTENT_ROOTसामग्री डिलीवरी URLhttps://staging.churchapps.org/content
NEXT_PUBLIC_CHURCH_APPS_URLChurchApps बेस URLhttps://staging.churchapps.org
NEXT_PUBLIC_GOOGLE_ANALYTICSGoogle Analytics ID (वैकल्पिक)UA-123456789-1
जानकारी

Next.js में ब्राउज़र में उपलब्ध होने वाले किसी भी पर्यावरण चर के लिए NEXT_PUBLIC_ प्रीफ़िक्स आवश्यक है। केवल-सर्वर चर को इस प्रीफ़िक्स की आवश्यकता नहीं है।

LessonsApp (Next.js)

नमूना फ़ाइल: dotenv.sample.txt

चरविवरणउदाहरण (स्टेजिंग)
STAGEएनवायरनमेंट स्टेजstaging
NEXT_PUBLIC_LESSONS_APILessons API URLhttps://api.staging.lessons.church
NEXT_PUBLIC_CONTENT_ROOTसामग्री डिलीवरी URLhttps://api.staging.lessons.church/content
NEXT_PUBLIC_CHURCH_APPS_URLChurchApps बेस URLhttps://staging.churchapps.org

मोबाइल ऐप पर्यावरण चर

B1Mobile (React Native / Expo)

नमूना फ़ाइल: dotenv.sample.txt

चरविवरणउदाहरण (स्टेजिंग)
STAGEएनवायरनमेंट नामdev
MEMBERSHIP_APIMembership API URLhttps://api.staging.churchapps.org/membership
MESSAGING_APIMessaging API URLhttps://api.staging.churchapps.org/messaging
ATTENDANCE_APIAttendance API URLhttps://api.staging.churchapps.org/attendance
GIVING_APIGiving API URLhttps://api.staging.churchapps.org/giving
DOING_APIDoing API URLhttps://api.staging.churchapps.org/doing
CONTENT_APIContent API URLhttps://api.churchapps.org/content
CONTENT_ROOTसामग्री डिलीवरी URLhttps://content.staging.churchapps.org
LESSONS_ROOTLessons साइट URLhttps://staging.lessons.church
जानकारी

मोबाइल ऐप REACT_APP_ या NEXT_PUBLIC_ प्रीफ़िक्स का उपयोग नहीं करते। पर्यावरण चर एक्सेस Expo कॉन्फ़िगरेशन द्वारा संभाला जाता है।


त्वरित संदर्भ: नमूना फ़ाइल स्थान

प्रोजेक्टनमूना फ़ाइल
Api.env.sample
B1Admin.env.sample
B1App.env.sample
B1Mobiledotenv.sample.txt
B1Checkindotenv.sample.txt
LessonsAppdotenv.sample.txt
AskApidotenv.sample.txt