वेब ऐप
ChurchApps में तीन वेब एप्लिकेशन शामिल हैं, प्रत्येक एक अलग दर्शक और उद्देश्य की सेवा करता है। वे React 19, TypeScript और Material-UI 7 की एक सामान्य तकनीकी नींव साझा करते हैं, लेकिन उनके बिल्ड टूलिंग और डिप्लॉयमेंट लक्ष्यों में भिन्नता है।
एक नज़र में एप्लिकेशन
| ऐप | उद्देश्य | फ्रेमवर्क | डेव पोर्ट |
|---|---|---|---|
| B1Admin | चर्च प्रशासन डैशबोर्ड | React 19 + Vite + MUI 7 | 5173 |
| B1App | सार्वजनिक-सामने वाला चर्च सदस्य ऐप | Next.js 16 + React 19 + MUI 7 | 3301 |
| LessonsApp | पाठ सामग्री प्रबंधन | Next.js 16 + React 19 | 3501 |
साझा तकनीकी स्टैक
तीनों वेब ऐप इनके साथ बनाए गए हैं:
- TypeScript -- एंड-टू-एंड टाइप सेफ़्टी
- React 19 -- UI कंपोनेंट लाइब्रेरी
- Material-UI 7 -- डिज़ाइन सिस्टम और कंपोनेंट टूलकिट
- React Query 5 -- सर्वर स्टेट प्रबंधन
साझा कंपोनेंट
ऐप @churchapps/apphelper* पैकेज परिवार के माध्यम से UI कंपोनेंट और उपयोगिताएँ साझा करते हैं:
| पैकेज | उद्देश्य |
|---|---|
@churchapps/apphelper | कोर साझा React कंपोनेंट |
@churchapps/apphelper-login | प्रमाणीकरण UI कंपोनेंट |
@churchapps/apphelper-donations | दान और दान फ़ॉर्म |
@churchapps/apphelper-forms | फ़ॉर्म बिल्डर कंपोनेंट |
@churchapps/apphelper-markdown | मार्कडाउन रेंडरिंग |
@churchapps/apphelper-website | वेबसाइट/CMS कंपोनेंट |
इन साझा पैकेज को स्थानीय रूप से विकसित करने के विवरण के लिए, AppHelper दस्तावेज़ीकरण देखें।
Postinstall स्क्रिप्ट
प्रत्येक वेब ऐप में एक postinstall स्क्रिप्ट है जो @churchapps/apphelper से लोकेल फ़ाइलें और CSS एसेट को प्रोजेक्ट में कॉपी करती है। यह npm install के बाद स्वचालित रूप से चलती है।
यदि डिपेंडेंसी इंस्टॉल करने के बाद कंपोनेंट अनस्टाइल्ड दिखते हैं, तो postinstall स्क्रिप्ट सही ढंग से नहीं चली हो सकती। आप npm run postinstall से इसे मैन्युअल रूप से ट्रिगर कर सकते हैं।
बिल्ड टूलिंग
ऐप दो अलग-अलग बिल्ड टूल का उपयोग करते हैं:
- B1Admin Vite का उपयोग करता है -- सिंगल-पेज एप्लिकेशन के लिए एक तेज़, आधुनिक बंडलर
- B1App और LessonsApp Next.js का उपयोग करते हैं -- सर्वर-साइड रेंडरिंग, फ़ाइल-आधारित रूटिंग और ऑप्टिमाइज़्ड प्रोडक्शन बिल्ड प्रदान करते हैं