मुख्य सामग्री के लिए छोड़ें
संस्करण: 1.x

वास्तुकला

यह पृष्ठ WCPOS की तकनीकी वास्तुकला को डेवलपर्स और उन्नत उपयोगकर्ताओं के लिए समझाता है।

दो-भाग प्रणाली

WCPOS को दो-भाग प्रणाली के रूप में डिज़ाइन किया गया है:

  1. PHP प्लगइन: आपके सर्वर पर होस्ट किया गया, यह एक अपेक्षाकृत छोटा प्लगइन है जो WooCommerce REST API का विस्तार करता है।

  2. JavaScript क्लाइंट: यह आपके ब्राउज़र या डेस्कटॉप ऐप में स्थानीय रूप से चलता है, और बाद में iOS और Android ऐप्स पर।

आप इसे दो अलग-अलग दुनिया के रूप में सोच सकते हैं:

  • PHP दुनिया वह जगह है जहाँ डेटा प्रबंधन WordPress और WooCommerce का उपयोग करके होता है।
  • JavaScript दुनिया आपके WooCommerce स्टोर को स्थानीय रूप से पुन: प्रस्तुत करती है, तेज़ खोजने और ऑफ़लाइन उपयोग के लिए अनुकूलित।
pos-client-woo-server

डेटा समकालिकता

डेटा WooCommerce से WooCommerce REST API का उपयोग करके लाया जाता है। इसका मतलब है कि POS को हर उत्पाद, भिन्नता, उत्पाद श्रेणी, ग्राहक, कर दर, और अधिक डाउनलोड करने की आवश्यकता होती है ताकि उन्हें स्थानीय रूप से संग्रहीत किया जा सके।

हालांकि यह प्रारंभ में समय लेने वाला हो सकता है, एक बार डाउनलोड हो जाने के बाद, ये तुरंत उपलब्ध होते हैं बिना सर्वर से निरंतर लाने की आवश्यकता के।

क्या समकालिकता होती है?

  • उत्पाद और भिन्नताएँ
  • उत्पाद श्रेणियाँ और टैग
  • ग्राहक
  • कर दरें और कर श्रेणियाँ
  • भुगतान गेटवे (चेकआउट के लिए)
  • ऑर्डर (Pro में ऑर्डर इतिहास के लिए)

समकालिकता रणनीति

WCPOS एक वृद्धिशील समकालिकता रणनीति का उपयोग करता है:

  1. प्रारंभिक समकालिकता: पहले लोड पर सभी डेटा डाउनलोड करता है
  2. वृद्धिशील अपडेट: केवल पिछले समकालिकता के बाद बदलाव लाता है
  3. पृष्ठभूमि समकालिकता: अवधि पर अपडेट के लिए जांचता है
  4. हस्तक्षेप समकालिकता: उपयोगकर्ता किसी भी समय समकालिकता को सक्रिय कर सकता है

वास्तुकला के पेशेवर और विपक्ष

अच्छा 😊बुरा 😟
स्थानीय डेटा की खोज तात्कालिक हैडेटा को समकालिक में रखना चुनौतीपूर्ण है
कैश किए गए डेटा ऑफ़लाइन उपलब्ध हैंWooCommerce REST API द्वारा सीमित
डेस्कटॉप, iOS, और Android के लिए बेहतर स्वदेशी ऐप बनाने की क्षमताWordPress थीम और हुक्स POS ऐप को अनुकूलित नहीं कर सकते

स्थानीय डेटाबेस

JavaScript क्लाइंट डेटा को IndexedDB में संग्रहीत करता है, जो एक ब्राउज़र-आधारित डेटाबेस है। यह प्रदान करता है:

  • स्थायीता: डेटा ब्राउज़र पुनः आरंभों से बचता है
  • प्रदर्शन: नेटवर्क विलंबता के बिना तेज़ क्वेरी
  • ऑफ़लाइन ब्राउज़िंग: कैश किया गया डेटा बिना इंटरनेट के सुलभ रहता है

चेकआउट वास्तुकला

चेकआउट प्रक्रिया एक iframe/webview का उपयोग करती है जो WooCommerce ऑर्डर भुगतान पृष्ठ को लोड करती है। यह दृष्टिकोण:

  • मौजूदा भुगतान गेटवे का उपयोग करता है: कोई भी WooCommerce भुगतान गेटवे POS में काम कर सकता है
  • सुरक्षा बनाए रखता है: भुगतान प्रक्रिया WooCommerce के सुरक्षित बुनियादी ढांचे के माध्यम से होती है
  • जटिलता को कम करता है: भुगतान गेटवे एकीकरण को फिर से लागू करने की आवश्यकता नहीं है

API विस्तार

PHP प्लगइन POS-विशिष्ट कार्यक्षमता के लिए अतिरिक्त एंडपॉइंट्स के साथ WooCommerce REST API का विस्तार करता है। विवरण के लिए WooCommerce REST API देखें।