प्रोजेक्ट अवलोकन
ChurchApps में लगभग 20 स्वतंत्र रिपॉज़िटरीज़ शामिल हैं, जो सभी ChurchApps GitHub संगठन के तहत प्रकाशित हैं। यह पृष्ठ श्रेणी के अनुसार सभी प्रोजेक्ट्स की एक पूर्ण सूची प्रदान करता है, साथ ही उनके फ्रेमवर्क, पोर्ट और संबंधों का विवरण भी।
शुरू करने से पहले
- जिस प्रोजेक्ट श्रेणी पर आप काम करना चाहते हैं, उसके लिए आवश्यक शर्तें इंस्टॉल करें
बैकएंड API
सभी API Node.js, Express, और TypeScript के साथ बनाए गए हैं, और Serverless Framework के माध्यम से AWS Lambda पर डिप्लॉय किए जाते हैं।
| प्रोजेक्ट | उद्देश्य | डेव पोर्ट | डेटाबेस |
|---|---|---|---|
| Api | membership, attendance, content, giving, messaging, और doing को कवर करने वाला कोर मॉड्यूलर मोनोलिथ | 8084 | प्रति मॉड्यूल अलग MySQL डेटाबेस (कुल 6) |
| LessonsApi | Lessons.church बैकएंड | -- | एकल lessons MySQL डेटाबेस |
| AskApi | OpenAI द्वारा संचालित AI क्वेरी टूल | -- | -- |
कोर Api प्रोजेक्ट एक मॉड्यूलर मोनोलिथ है। प्रत्येक मॉड्यूल (membership, attendance, content, giving, messaging, doing) का अपना डेटाबेस है और /membership या /giving जैसे सबपाथ पर पहुँचा जा सकता है। प्रोडक्शन में, ये API Gateway के पीछे अलग Lambda फ़ंक्शन के रूप में एक्सपोज़ किए जाते हैं।
वेब ऐप्स
| प्रोजेक्ट | फ्रेमवर्क | डेव पोर्ट | उद्देश्य |
|---|---|---|---|
| B1Admin | React 19 + Vite + MUI 7 | 3101 | चर्च प्रशासन डैशबोर्ड |
| B1App | Next.js 16 + React 19 + MUI 7 | 3301 | सार्वजनिक चर्च सदस्य ऐप |
| LessonsApp | Next.js 16 | 3501 | Lessons.church फ्रंटएंड |
| B1Transfer | React + Vite | -- | डेटा आयात/निर्यात उपयोगिता |
| BrochureSites | Static | -- | स्थिर चर्च ब्रोशर वेबसाइटें |
मोबाइल ऐप्स
सभी मोबाइल ऐप्स Expo के साथ React Native का उपयोग करते हैं।
| प्रोजेक्ट | उद्देश्य | मुख्य संस्करण |
|---|---|---|
| B1Mobile | iOS और Android के लिए चर्च सदस्य ऐप | Expo 54, React Native 0.81 |
| B1Checkin | चेक-इन कियोस्क ऐप | Expo |
| LessonsScreen | Android TV पाठ प्रदर्शन | Expo |
| FreePlay | सामग्री प्लेबैक (TV OS सहित) | Expo |
| FreeShowRemote | FreeShow के लिए मोबाइल रिमोट कंट्रोल | Expo |
डेस्कटॉप
| प्रोजेक्ट | स्टैक | उद्देश्य |
|---|---|---|
| FreeShow | Electron 37 + Svelte 3 + Vite | प्रस्तुतीकरण और उपासना सॉफ़्टवेयर |
साझा लाइब्रेरीज़
साझा कोड npm पर @churchapps scope के तहत प्रकाशित किया जाता है और ऊपर दिए गए प्रोजेक्ट्स द्वारा नियमित npm dependencies के रूप में उपभोग किया जाता है। सभी साझा पैकेज एक एकल repository -- Packages -- में रहते हैं, जिसे Yarn workspace के रूप में प्रबंधित किया जाता है और changesets के साथ released किया जाता है।
| पैकेज | उद्देश्य | उपयोग किए गए |
|---|---|---|
@churchapps/helpers | आधार उपयोगिताएं और साझा TypeScript इंटरफेस (DateHelper, ApiHelper, CurrencyHelper, आदि) | सभी प्रोजेक्ट्स |
@churchapps/apihelper | Express सर्वर उपयोगिताएं (auth, base controllers, database access, AWS integrations) | सभी API |
@churchapps/apphelper | लॉगिन, दान, फॉर्म, markdown, और website building के लिए subpath modules वाली React component library | सभी web apps |
@churchapps/content-providers | तीसरे पक्ष की सामग्री प्रदाता abstraction (Lessons.church, Planning Center, Dropbox, और अन्य) | Api, B1Admin, B1App, FreePlay |
@churchapps/integration-sdk | B1.church integration toolkit: webhooks, REST client, OAuth | बाहरी integration developers |
@churchapps/texting | SMS provider abstraction | Api |
साझा लाइब्रेरीज़ देखें workspace setup और release workflow के लिए।
प्रोजेक्ट संबंध
Frontend Apps Shared Libraries Backend APIs
-------------- ---------------- ------------
B1Admin ──────┐
B1App ──────┤ @churchapps/helpers ◄───── Api
LessonsApp ──────┼──► @churchapps/apphelper LessonsApi
B1Mobile ──────┤ AskApi
FreeShow ──────┘ @churchapps/apihelper ◄────┘
सभी फ्रंटएंड ऐप्स @churchapps/helpers पर निर्भर करते हैं। वेब ऐप्स अतिरिक्त रूप से @churchapps/apphelper पैकेजों पर निर्भर करते हैं। सभी बैकएंड API @churchapps/helpers और @churchapps/apihelper दोनों पर निर्भर करते हैं।
अगले कदम
- एनवायरनमेंट वेरिएबल्स -- API से कनेक्ट करने के लिए अपनी
.envफ़ाइलें कॉन्फ़िगर करें - API स्थानीय सेटअप -- बैकएंड API को स्थानीय रूप से सेट करें