वास्तुकला
यह पृष्ठ डेवलपर्स और उन्नत उपयोगकर्ताओं के लिए WCPOS की तकनीकी वास्तुकला को समझाता है।
दो-भाग प्रणाली
WCPOS को दो-भाग प्रणाली के रूप में डिज़ाइन किया गया है:
-
PHP प्लगइन: आपके सर्वर पर होस्ट किया गया, यह एक अपेक्षाकृत छोटा प्लगइन है जो WooCommerce REST API का विस्तार करता है।
-
JavaScript क्लाइंट: यह आपके ब्राउज़र या डेस्कटॉप ऐप में स्थानीय रूप से चलता है, और बाद में iOS और Android ऐप्स पर।
आप इसे दो अलग-अलग दुनिया के रूप में सोच सकते हैं:
- PHP दुनिया वह स्थान है जहाँ डेटा प्रबंधन WordPress और WooCommerce का उपयोग करके होता है।
- JavaScript दुनिया आपके WooCommerce स्टोर को स्थानीय रूप से पुन: प्रस्तुत करती है, तेज़ खोजने और ऑफ़लाइन उपयोग के लिए अनुकूलित।
डेटा समकालिकता
डेटा WooCommerce से WooCommerce REST API का उपयोग करके लाया जाता है। इसका मतलब है कि POS को हर उत्पाद, भिन्नता, उत्पाद श्रेणी, ग्राहक, कर दर, और अधिक डाउनलोड करने की आवश्यकता होती है ताकि उन्हें स्थानीय रूप से संग्रहीत किया जा सके।
हालांकि यह प्रारंभ में समय लेने वाला हो सकता है, एक बार डाउनलोड हो जाने के बाद, ये तुरंत उपलब्ध होते हैं बिना सर्वर से निरंतर लाने की आवश्यकता के।
क्या समकालिक होता है?
- उत्पाद और भिन्नताएँ
- उत्पाद श्रेणियाँ और टैग
- ग्राहक
- कर दरें और कर श्रेणियाँ
- भुगतान गेटवे (चेकआउट के लिए)
- ऑर्डर (Pro में ऑर्डर इतिहास के लिए)
समकालिकता रणनीति
WCPOS एक वृद्धिशील समकालिकता रणनीति का उपयोग करता है:
- प्रारंभिक समकालिकता: पहले लोड पर सभी डेटा डाउनलोड करता है
- वृद्धिशील अपडेट: केवल पिछले समकालिकता के बाद बदलाव लाता है
- पृष्ठभूमि समकालिकता: समय-समय पर अपडेट के लिए जांचता है
- मैनुअल समकालिकता: उपयोगकर्ता किसी भी समय समकालिकता को ट्रिगर कर सकता है
वास्तुकला के पेशेवर और विपक्ष
| अच्छा 😊 | बुरा 😟 |
|---|---|
| स्थानीय डेटा की खोज तात्कालिक है | डेटा को समकालिक में रखना चुनौतीपूर्ण है |
| कैश किए गए डेटा ऑफ़लाइन उपलब्ध है | WooCommerce REST API द्वारा सीमित |
| डेस्कटॉप, iOS, और Android के लिए बेहतर स्वदेशी ऐप बनाने की क्षमता | WordPress थीम और हुक्स POS ऐप को अनुकूलित नहीं कर सकते |
स्थानीय डेटाबेस
JavaScript क्लाइंट डेटा को IndexedDB में संग्रहीत करता है, जो एक ब्राउज़र-आधारित डेटाबेस है। यह प्रदान करता है:
- स्थितिशीलता: डेटा ब्राउज़र पुनः आरंभ से बचता है
- प्रदर्शन: नेटवर्क विलंबता के बिना तेज़ क्वेरी
- ऑफ़लाइन ब्राउज़िंग: कैश किया गया डेटा बिना इंटरनेट के सुलभ रहता है
चेकआउट वास्तुकला
चेकआउट प्रक्रिया एक iframe/webview का उपयोग करती है जो WooCommerce ऑर्डर पे पृष्ठ को लोड करती है। यह दृष्टिकोण:
- मौजूदा भुगतान गेटवे का उपयोग करता है: कोई भी WooCommerce भुगतान गेटवे POS में काम कर सकता है
- सुरक्षा बनाए रखता है: भुगतान प्रक्रिया WooCommerce के सुरक्षित ढांचे के माध्यम से होती है
- जटिलता को कम करता है: भुगतान गेटवे एकीकरण को फिर से लागू करने की आवश्यकता नहीं है
API विस्तार
PHP प्लगइन POS-विशिष्ट कार्यक्षमता के लिए अतिरिक्त एंडपॉइंट्स के साथ WooCommerce REST API का विस्तार करता है। विवरण के लिए WooCommerce REST API देखें।