बैकेंड इंफ्रास्ट्रक्चर क्या है? संपूर्ण गाइड

Back4app Backend Infrastructure Cover

अपने बैकएंड को डिजाइन करते समय उचित बैकएंड इंफ्रास्ट्रक्चर चुनना महत्वपूर्ण है। यह आपके बैकएंड के प्रदर्शन, लचीलापन और रखरखाव क्षमता पर प्रभाव डाल सकता है, कुछ के नाम लेने के लिए।

इस लेख में, हम समझाएंगे कि बैकएंड इंफ्रास्ट्रक्चर क्या है, विभिन्न प्रकार के बैकएंड इंफ्रास्ट्रक्चर का पता लगाएंगे, और अपने निर्णय लेते समय ध्यान रखने वाले आवश्यक कारकों पर चर्चा करेंगे।

इसके अलावा, हम देखेंगे कि Back4app का उपयोग करके एक बैकएंड इंफ्रास्ट्रक्चर कैसे बनाया जाता है।

उद्देश्य

इस लेख के अंत तक, आप सक्षम होंगे:

  • बैकएंड इंफ्रास्ट्रक्चर क्या है, इसे समझाएं
  • विभिन्न प्रकार के बैकएंड इंफ्रास्ट्रक्चर (जिनमें IaaS, PaaS, और BaaS शामिल हैं) पर चर्चा करें
  • अपने प्रोजेक्ट के लिए उचित बैकएंड इंफ्रास्ट्रक्चर चुनें
  • Back4app का उपयोग करके अपना स्वयं का बैकएंड बनाएं

बैकएंड इंफ्रास्ट्रक्चर क्या है?

बैकएंड इंफ्रास्ट्रक्चर सॉफ़्टवेयर और हार्डवेयर घटकों का संयोजन है जो एक बैकएंड सिस्टम का समर्थन करते हैं। इसमें सर्वर, कंटेनर, नेटवर्किंग घटक, फायरवॉल और अन्य संसाधन शामिल हैं।

बैकएंड इंफ्रास्ट्रक्चर उच्च उपलब्धता, स्केलिंग, लोड बैलेंसिंग, सुरक्षा, रूटिंग आदि के लिए जिम्मेदार होता है। बैकएंड इंफ्रास्ट्रक्चर को इस तरह से डिज़ाइन किया जाना चाहिए कि उपयोगकर्ता अनुभव निर्बाध हो।

बैकएंड इंफ्रास्ट्रक्चर चुनते समय किन बातों पर विचार करें?

आइए बैकएंड इंफ्रास्ट्रक्चर चुनते समय ध्यान देने योग्य आवश्यक कारकों पर चर्चा करें।

गति

गति बैकएंड इंफ्रास्ट्रक्चर की एक महत्वपूर्ण विशेषता है। आपके उपयोगकर्ता चाहते हैं कि ऐप यथासंभव सुचारू रूप से काम करे। इसलिए, आपको क्लाइंट साइड से बैकएंड संचार को अनुकूलित करने की आवश्यकता है।

संचार में देरी की धारणा को कम करने के लिए, आप कुछ चालाक ट्रिक्स का उपयोग कर सकते हैं। उदाहरण के लिए, आप स्केलेटन स्क्रीन, लोडिंग बार, और उपयोगकर्ता इंटरफेस पर टिप्स और ट्रिक्स दिखा सकते हैं।

गति SEO में भी सबसे महत्वपूर्ण कारकों में से एक है।

लचीलापन

लचीलापन से तात्पर्य है कि आपके बैकएंड इंफ्रास्ट्रक्चर में कौन-कौन सी प्रोग्रामिंग भाषाएँ, फ्रेमवर्क और अन्य तकनीकें (जैसे डेटाबेस) समर्थित हैं। बैकएंड इंफ्रास्ट्रक्चर चुनते समय, सुनिश्चित करें कि आप ऐसी चीज चुनें जो विभिन्न तकनीकों का समर्थन करे।

स्केलेबिलिटी

आपको स्केलेबिलिटी पर विचार करना चाहिए जब आप अपना ऐप बनाना शुरू करते हैं। सोचें कि आपका ऐप कैसे उपयोग किया जाएगा। क्या आपके पास उपयोगकर्ताओं की स्थिर संख्या होगी, या कभी-कभी उपयोगकर्ताओं में वृद्धि होगी?

आपके बैकएंड इंफ्रास्ट्रक्चर को इस तरह से बनाया जाना चाहिए कि यह अत्यधिक कार्यभार को संभाल सके। सर्वर खर्चों को कम करने के लिए, आपके एप्लिकेशन इंस्टेंस को फ्लाई पर बनाया और नष्ट किया जाना चाहिए।

रखरखाव क्षमता

अपने ऐप को विकसित और प्रकाशित करना केवल काम का 80% है। इसके बाद, आपको अपने एप्लिकेशन के रखरखाव में बहुत समय निवेश करना होगा। अपने सर्वर सॉफ़्टवेयर को अपडेट करना और सुरक्षा पैच को लागू करना जितना संभव हो उतना आसान होना चाहिए।

एक ऐसे बैकएंड इंफ्रास्ट्रक्चर का चयन करें जिसमें एक बिल्ट-इन CI/CD सिस्टम हो, या अपना खुद का सिस्टम लागू करें।

DevOps आवश्यकताएँ

कुछ प्रकार के बैकएंड इंफ्रास्ट्रक्चर का उपयोग करना अधिक कठिन होता है। उस बैकएंड इंफ्रास्ट्रक्चर को चुनें जिसे प्रबंधित करने के लिए आपके पास समय और संसाधन हों। यदि आप कम-स्तरीय बैकएंड इंफ्रास्ट्रक्चर, जैसे कि IaaS, का उपयोग करने का निर्णय लेते हैं, तो आपको इसे प्रबंधित करने के लिए एक विशेष DevOps टीम की आवश्यकता होगी।

सुरक्षा

आप पूरी तरह से अपने उपयोगकर्ताओं के डेटा को सुरक्षित रखने के लिए जिम्मेदार हैं। साइबर हमलों की बढ़ती संख्या के साथ, आपको सुनिश्चित करना होगा कि आपका बैकएंड इंफ्रास्ट्रक्चर नवीनतम सुरक्षा मानकों का पालन करता है।

मजबूत स्व-जनित पासवर्ड का उपयोग करें, फायरवॉल सेट करें, अपने सर्वरों पर अविश्वसनीय सॉफ़्टवेयर न चलाएं, नियमित सुरक्षा जांचें करें, आदि।

बैकएंड इंफ्रास्ट्रक्चर के प्रकार

आप अपने सर्वरों का उपयोग कर सकते हैं (जिसे पारंपरिक इंफ्रास्ट्रक्चर कहा जाता है) या अपने बैकएंड को तैनात करने के लिए क्लाउड इंफ्रास्ट्रक्चर का लाभ उठा सकते हैं।

पिछले दशक में, कई कंपनियों ने क्लाउड मॉडल की ओर रुख किया है क्योंकि यह उन्हें समय और पैसे बचाने की अनुमति देता है।

आइए कुछ सबसे लोकप्रिय क्लाउड मॉडल का विश्लेषण करें।

Infrastructure as a Service या IaaS

Infrastructure as a Service (IaaS) क्लाउड कंप्यूटिंग मॉडल में सबसे कम अमूर्त है। इस मॉडल में, क्लाउड विक्रेता वर्चुअलाइज्ड वातावरण में कंप्यूटिंग संसाधन प्रदान करता है, जैसे कि सर्वर, स्टोरेज, OS, और नेटवर्किंग घटक।

IaaS 2010 से अस्तित्व में है और अभी भी सबसे लोकप्रिय क्लाउड कंप्यूटिंग मॉडल है। इसके लाभों में उत्कृष्ट स्केलेबिलिटी, उच्च-स्तरीय नियंत्रण, और मूल्य दक्षता शामिल हैं। इसके विपरीत, इसके नुकसान जटिल प्रबंधन और अन्य क्लाउड मॉडलों की तुलना में उच्च रखरखाव लागत हैं।

कुछ लोकप्रिय IaaS विक्रेता हैं:

Platform as a Service या PaaS

Platform as a Service (PaaS) एक क्लाउड कंप्यूटिंग मॉडल है जो उपयोगकर्ता-मित्र एप्लिकेशन विकास, प्रबंधन, और वितरण वातावरण प्रदान करता है। इसमें विभिन्न बिल्ट-इन एप्लिकेशन विकास उपकरण शामिल हैं, जिससे आपका ऐप जल्दी से चलाने में आसानी होती है।

PaaS इंफ्रास्ट्रक्चर प्रबंधन को सरल बनाता है, तेज़ बाजार प्रवेश, बेहतर सुरक्षा, लागत बचत, स्केलेबिलिटी, उच्च उपलब्धता, और कोडिंग में कमी प्रदान करता है। दूसरी ओर, यह आपको विक्रेता की क्षमताओं से बाँध सकता है, विक्रेता लॉक-इन के जोखिम पैदा कर सकता है, और लचीलापन और नियंत्रण को सीमित कर सकता है।

PaaS समाधानों के उदाहरण हैं:

Backend as a Service या BaaS

Backend as a Service (BaaS) सर्वर-साइड विकास और क्लाउड इंफ्रास्ट्रक्चर प्रबंधन को स्वचालित करता है। यह रियल-टाइम डेटाबेस, उपयोगकर्ता प्रबंधन, प्रमाणीकरण, सूचनाएँ, सोशल मीडिया एकीकरण, आदि प्रदान करता है।

BaaS डेवलपर्स को बैकएंड की चिंताओं से मुक्त करता है, जिससे वे फ्रंटेंड और कोर व्यवसाय पर ध्यान केंद्रित कर सकते हैं। BaaS IaaS और PaaS के लाभों को बैकएंड अमूर्तता के साथ जोड़ता है, जिसके परिणामस्वरूप बाजार में तेजी से प्रवेश और लागत बचत होती है। इसके नुकसान नियंत्रण की कमी, विक्रेता लॉक-इन का जोखिम, और अपेक्षाकृत महंगा होना हैं।

मेरे व्यक्तिगत पसंदीदा BaaS प्लेटफॉर्म हैं:

Containers as a Service या CaaS

Containers as a Service (CaaS) कंटेनरों को अपलोड करने, बनाने, स्केल करने, और प्रबंधित करने के लिए एक क्लाउड कंप्यूटिंग मॉडल है। CaaS में आमतौर पर एक कंटेनर रनटाइम, कंटेनर रजिस्ट्री, स्वचालित स्केलिंग कार्यक्षमता, बिल्ट-इन CI/CD सिस्टम, लोड बैलेंसिंग आदि शामिल हैं!

CaaS कंटेनर हैंडलिंग को सरल बनाता है, अंतर्निहित इंफ्रास्ट्रक्चर के बारे में चिंताओं को दूर करता है। यह एजाइल विकास को प्रोत्साहित करता है, माइक्रोसर्विस आर्किटेक्चर को सुविधाजनक बनाता है, और अत्यधिक स्केलेबल एप्लिकेशन के निर्माण को तेज करता है।

CaaS प्लेटफॉर्म में शामिल हैं:

बैकएंड इंफ्रास्ट्रक्चर कैसे बनाएं?

इस लेख के इस भाग में, हम Back4app का उपयोग करके एक बैकएंड इंफ्रास्ट्रक्चर बनाएंगे।

Back4app क्या है?

Back4app एक असाधारण Backend as a Service (BaaS) प्लेटफॉर्म है। यह आपको वेब और मोबाइल एप्लिकेशन के लिए बैकएंड जल्दी से बनाने में सक्षम बनाता है।

यह प्लेटफॉर्म ओपन सोर्स तकनीकों का उपयोग करके बनाया गया है और इसमें कई सुविधाएँ हैं। इसकी विशेषताओं में स्प्रेडशीट-जैसे डेटाबेस, फाइल स्टोरेज, उपयोगकर्ता प्रबंधन, प्रमाणीकरण, स्व-जनित APIs, सूचनाएँ, और बहुत कुछ शामिल हैं!

Back4app आपके बाजार में प्रवेश के समय को काफी बढ़ा सकता है। इसका लाभ उठाकर, आप बैकएंड या अंतर्निहित इंफ्रास्ट्रक्चर की चिंता करने के बजाय अपने व्यवसाय के कोर पर ध्यान केंद्रित कर सकते हैं।

आपको विशेष DevOps इंजीनियरों की आवश्यकता नहीं होगी, और आपके रखरखाव की लागत कम होगी।

Back4app की सबसे अच्छी बात यह है कि यह एक मुफ्त टियर के साथ आता है। मुफ्त टियर प्लेटफॉर्म का परीक्षण करने या पेट प्रोजेक्ट्स की मेजबानी के लिए उत्कृष्ट है। यदि आपका ऐप सफल हो जाता है, तो आप प्रीमियम टियर्स में अपग्रेड कर सकते हैं।

Back4app के बारे में अधिक जानने के लिए, देखें Back4app क्या है?

प्रोजेक्ट अवलोकन

बैकएंड बनाने का प्रदर्शन करने के लिए, हम एक सरल ई-कॉमर्स बैकएंड सेवा बनाएंगे। बैकएंड हमें उत्पादों, श्रेणियों, और ऑर्डर्स का प्रबंधन करने की अनुमति देगा।

हमारे प्रोजेक्ट का ER डायग्राम इस प्रकार दिखेगा:

Back4app E-commerce ER Diagram

हम न्यूनतम कोड के साथ बैकएंड बनाएंगे और यह दिखाएंगे कि इसे क्लाइंट साइड (SDKs के माध्यम से, REST API, और GraphQL API) पर कैसे उपयोग किया जा सकता है।

ऐप बनाएं

साथ देने के लिए, एक Back4app खाता आवश्यक है। एक की आवश्यकता है? आज ही साइन अप करें!

अपने Back4app खाते में लॉगिन करने के बाद, आपको आपके ऐप्स की सूची दिखाई देगी। ऐप-निर्माण प्रक्रिया शुरू करने के लिए “Build app” बटन पर क्लिक करें।

Back4app Create App

अगला, “BaaS” चुनें क्योंकि हम एक बैकएंड सेट अप कर रहे हैं।

Back4app Backend as a Service

एक ऐप नाम चुनें, “NoSQL” चुनें, और ऐप बनाएँ।

Back4app BaaS Configuration

Back4app को सब कुछ सेट अप करने में कुछ समय लगेगा। यह एप्लिकेशन लेयर, डेटाबेस, बैकअप, स्केलिंग, और बहुत कुछ को संभालता है।

जब ऐप बन गया, तो आपको आपके ऐप के रियल-टाइम डेटाबेस पर ले जाया जाएगा।

Back4app Database View

डेटाबेस सेटअप करें

अब जब हमने अपना एप्लिकेशन बना लिया है, तो चलिए डेटाबेस का ध्यान रखें।

सबसे पहले, डेटाबेस में डेटा स्टोर करने के लिए एक क्लास बनाना होगा। आप क्लासेस को टेबल्स (SQL शब्दावली) या मॉडलों (ORM शब्दावली) के रूप में देख सकते हैं। प्रत्येक क्लास में डिफ़ॉल्ट रूप से निम्न चार फ़ील्ड होते हैं:

+-------------+-------------+------------------------------------------+
| Type        | Name        | Description                              |
+-------------+-------------+------------------------------------------+
| String      | objectId    | Object's unique identifier               |
+-------------+-------------+------------------------------------------+
| Date        | updatedAt   | Date time of the last update             |
+-------------+-------------+------------------------------------------+
| Date        | createdAt   | Date time of creation                    |
+-------------+-------------+------------------------------------------+
| ACL         | ACL         | Access Control List                      |
+-------------+-------------+------------------------------------------+

प्रोजेक्ट अवलोकन में उल्लेख किया गया है, हमारे प्रोजेक्ट में तीन क्लासेस होंगी। पहले क्लास को बनाने के लिए साइडबार पर “Create class” बटन पर क्लिक करें। इसे ProductCategory नाम दें:

Back4app Create Database Class

निम्नलिखित फ़ील्ड जोड़ें:

+-----------------------------+-------------+---------------+----------+
| Type                        | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | name        | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| String                      | description | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+

इसी तरह के कदम Product क्लास के लिए भी करें:

+-----------------------------+-------------+---------------+----------+
| Type                        | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | name        | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| String                      | description | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Relation -> ProductCategory | categories  | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Number                      | price       | 0             | yes      |
+-----------------------------+-------------+---------------+----------+

हमने Relation datatype का उपयोग कई-से-कई संबंध को संभालने के लिए किया।

अंत में, Order क्लास बनाएं:

+-----------------------------+------------+---------------+----------+
| Data type                   | Name       | Default value | Required |
+-----------------------------+------------+---------------+----------+
| Pointer -> Product          | product    | <leave blank> | yes      |
+-----------------------------+------------+---------------+----------+
| String                      | cFirstName | <leave blank> | yes      |
+-----------------------------+------------+---------------+----------+
| String                      | cLastName  | <leave blank> | yes      |
+-----------------------------+------------+---------------+----------+
| String                      | cAddress   | <leave blank> | yes      |
+-----------------------------+------------+---------------+----------+
| Number                      | delivered  | false         | yes      |
+-----------------------------+------------+---------------+----------+

हमने Pointer datatype का उपयोग एक-से-कई संबंध को संभालने के लिए किया।

जब आप समाप्त कर लेते हैं, तो आपको साइडबार पर क्लासेस दिखाई देनी चाहिए।

डेटाबेस को भरें

आगे बढ़ते हुए, चलिए डेटाबेस को भरते हैं।

कुछ उत्पाद श्रेणियाँ, उत्पाद, और ऑर्डर्स (इस क्रम में) बनाने से शुरू करें। यदि आपके पास विचार नहीं हैं, तो इस fixture को आयात करने के लिए स्वतंत्र महसूस करें।

एक JSON फ़ाइल आयात करने के लिए “More option > Import > Class data > Select file” का उपयोग करें। सुनिश्चित करें कि JSON फ़ाइलों को निम्न क्रम में आयात करें:

  1. ProductCategory.json
  2. Product.json
  3. _Join꞉categories꞉Product.json
  4. Order.json
Back4app Import Class Data

जब आप समाप्त कर लेते हैं, तो आपके डेटाबेस में कुछ उत्पाद, श्रेणियाँ, और ऑर्डर्स होने चाहिए। यह चरण आवश्यक है क्योंकि हमें बाद के चरण में बैकएंड का परीक्षण करने के लिए कुछ डेटा की आवश्यकता होगी।

डेटाबेस को सुरक्षित करें

डिफ़ॉल्ट रूप से, डेटाबेस क्लासेस “Protected mode” में बनाई जाती हैं। Protected mode में, ऑब्जेक्ट्स के साथ इंटरैक्ट और प्रबंधन करने का एकमात्र तरीका मास्टर की का उपयोग करना है। यह आदर्श नहीं है क्योंकि हम क्लाइंट साइड से ऑब्जेक्ट्स को प्राप्त या प्रबंधित नहीं कर सकते।

इस सक्षम करने के लिए, हमें कुछ प्रतिबंधों को ढीला करना होगा। Back4app/Parse दो प्रतिबंध तंत्रों के साथ आता है:

  1. Class-level permissions (CLPs)
  2. Access-level permissions (ACLs)

CLPs हमें क्लास स्तर पर प्रतिबंध लागू करने की अनुमति देते हैं, जबकि ACLs हमें ऑब्जेक्ट स्तर पर प्रतिबंध लागू करने की अनुमति देते हैं। दोनों तंत्र किसी क्लास या ऑब्जेक्ट को किसी विशेष Role या User तक सीमित कर सकते हैं।

साइडबार पर Product क्लास चुनें, और स्क्रीन के शीर्ष पर “Protected” टेक्स्ट पर क्लिक करें। फिर CLPs को संशोधित करें:

Back4app ProductCategory and Product CLPs

ProductCategory मॉडल के लिए भी वही कदम उठाएं।

फिर Order क्लास के लिए CLPs को अपडेट करें:

Back4app Order CLPs

छवि पर ध्यान दें। यहां, हम Create अनुमति भी सक्षम कर रहे हैं।

नए CLPs अनप्रमाणित उपयोगकर्ताओं को Products और ProductCategoryies को प्राप्त करने, क्वेरी करने, और गिनने की अनुमति देंगे, लेकिन उन्हें संशोधित नहीं कर सकेंगे। Order क्लास के लिए भी यही लागू होता है, लेकिन यहां, उपयोगकर्ता नए ऑर्डर्स भी बना सकते हैं।

और अधिक जानने के लिए, हमारे Parse Server Security लेख को देखें।

Admin App

वर्तमान में, आपके डेटाबेस में ऑब्जेक्ट्स का प्रबंधन करने का एकमात्र तरीका डेटाबेस व्यू का उपयोग करना है। जबकि यह डेवलपर्स के लिए काम करता है, यह गैर-तकनीकी उपयोगकर्ताओं के लिए सहज नहीं है। इसके अलावा, यह उपयोगकर्ताओं को बहुत अधिक नियंत्रण देता है और मानवीय त्रुटियों के प्रति संवेदनशील है।

सौभाग्य से, Back4app आपको आसानी से “Admin App” कार्यक्षमता सक्षम करने की अनुमति देता है। Admin App एक उपयोग में आसान प्रशासन पैनल है जो आपके डेटाबेस क्लासेस के लिए तैयार किया गया है।

इसे सक्षम करने के लिए, पहले साइडबार पर “More > Admin App” पर जाएं। फिर “Enable” पर क्लिक करें:

Back4app Enable Admin App

Back4app आपसे एक उपयोगकर्ता नाम, पासवर्ड, और सबडोमेन चुनने के लिए कहेगा। मैंने निम्नलिखित चुनने का निर्णय लिया है:

user:        root
pass:        complexpassword123
subdomain:   https://binfra.admin.back4app.com/

बहुत बढ़िया, बस इतना ही करना है।

आप “Admin App URL” पर क्लिक करके प्रशासनिक पैनल तक पहुँच सकते हैं। उस पर क्लिक करने पर एक नया ब्राउज़र विंडो खुलेगा, और आपसे अपने एडमिन क्रेडेंशियल्स दर्ज करने के लिए कहा जाएगा। एक बार लॉग इन हो जाने पर, आप ऑब्जेक्ट्स बना सकते हैं, अपडेट कर सकते हैं, और हटा सकते हैं।

डैशबोर्ड के साथ खेलने की कोशिश करें ताकि आप उससे परिचित हो सकें।

Back4app Admin App Dashboard

Cloud Code

Back4app आपको तथाकथित Cloud Code के माध्यम से कस्टम JavaScript कोड चलाने की अनुमति देता है। Cloud Code के साथ, आप ऐसे फंक्शन्स परिभाषित कर सकते हैं जिन्हें Parse, HTTP अनुरोधों द्वारा ट्रिगर किया जा सकता है, या नियमित रूप से चलाया जा सकता है। इसके अलावा, Cloud Code का उपयोग Express का उपयोग करके वेब एप्लिकेशन बनाने के लिए किया जा सकता है।

Cloud Code Function

मान लीजिए कि हम एक Cloud Code फंक्शन चाहते थे जो वर्तमान बिक्री की गणना करता है।

सबसे पहले, साइडबार पर “Cloud Code > Function & Web Hosting” पर जाएं। आप देखेंगे कि Cloud Code व्यू दो भागों में विभाजित है। बाएँ ओर, आप डायरेक्टरी संरचना देख सकते हैं और दाएँ ओर कोड देख सकते हैं।

Back4app Cloud Code

अगला, cloud/main.js खोलें और निम्नलिखित कोड चिपकाएं:

// cloud/main.js

Parse.Cloud.define("calculateSales", async (request) => {
  const orderClass = Parse.Object.extend("Order");
  const orderQuery = new Parse.Query(orderClass);
  let sales = 0;

  try {
    const orders = await orderQuery.find();

    for (var i = 0; i < orders.length; i++) {
      let order = orders[i];
      let productId = order.get("product")["id"];

      const productClass = Parse.Object.extend("Product");
      const productQuery = new Parse.Query(productClass);
      const product = await productQuery.get(productId);

      sales += product.get("price");
    }
    return { 
      sales: sales,
    };
  } catch (error) {
    console.error("Error calculating the sales: " + error.message);
    return {
      sales: 0,
    }
  }
});

Parse.Cloud.job("printSales", async (request, status) => {
  try {
    const result = await Parse.Cloud.run("calculateSales");
    console.log("Sales: " + result.sales + "$");
  } catch (error) {
    console.error("Error calculating the sales: " + error.message);
  }
});
  1. हमने एक Cloud Code फंक्शन calculateSales() परिभाषित किया। यह फंक्शन सभी ऑर्डर्स के माध्यम से लूप करता है, संबंधित उत्पादों को प्राप्त करता है, और उनके कीमतों को जोड़ता है।
  2. हमने एक Cloud Code Job printSales() परिभाषित किया, जिससे हम इसे Parse डैशबोर्ड से चला सकते हैं और इसे नियमित रूप से शेड्यूल कर सकते हैं।

अंत में, “Deploy” पर क्लिक करके Cloud Code को तैनात करें।

सुनिश्चित करें कि जॉब काम करता है, साइडबार पर “Cloud Code > Jobs” पर नेविगेट करें और फिर printSales() जॉब चलाएं। यदि सब कुछ ठीक से काम करता है, तो आपको लॉग्स में Sales: 1440$ जैसे संदेश दिखाई देने चाहिए।

Cloud Code Scheduling

जॉब को शेड्यूल करने के लिए, आपको साइडबार पर “App Settings > Server Settings” पर नेविगेट करना होगा। “Background jobs” तक स्क्रॉल करें, “Schedule a job” पर क्लिक करें, और फॉर्म भरें।

Back4app Schedule Job

सुनिश्चित करें कि यह काम करता है, एक बार फिर लॉग्स की जांच करें।

क्लाइंट साइड

आपके Back4app-आधारित बैकएंड के साथ इंटरैक्ट करने के कई तरीके हैं:

  1. Parse SDK
  2. RESTful API (स्व-जनित)
  3. GraphQL API (स्व-जनित)

एक सामान्य नियम के रूप में, यदि आपके प्लेटफॉर्म के लिए Parse SDK उपलब्ध है, तो हमेशा उसका उपयोग करना चाहिए। यदि नहीं, तो या तो RESTful API या GraphQL API का चयन करें। APIs के बीच चयन आपके डेटा पर निर्भर करता है।

विभिन्न फ्रेमवर्क के साथ Parse SDK का उपयोग कैसे करें, यह जानने के लिए docs देखें।

फिर भी, चलिए अपने बैकएंड का परीक्षण बिल्ट-इन REST कंसोल का उपयोग करके करते हैं।

साइडबार पर “API > REST” पर नेविगेट करें, और फॉर्म भरकर सभी उत्पादों को क्वेरी करने का प्रयास करें:

Back4app REST Console

आपको एक समान प्रतिक्रिया मिलनी चाहिए:

{
    "results": [
        {
            "objectId": "4ZyHH3X0RQ",
            "name": "Fitness Tracker Watch",
            "description": "...",
            "price": 80,
            "createdAt": "2023-10-17T20:03:55.424Z",
            "updatedAt": "2023-10-17T20:24:12.322Z",
            "categories": {
                "__type": "Relation",
                "className": "ProductCategory"
            }
        },
        {
            "objectId": "cDqlGJzT5U",
            "name": "Organic Fruit Basket",
            "description": "...",
            "price": 40,
            "createdAt": "2023-10-17T20:04:10.063Z",
            "updatedAt": "2023-10-17T20:24:00.382Z",
            "categories": {
                "__type": "Relation",
                "className": "ProductCategory"
            }
        },
    // ...
}

निम्नलिखित क्वेरी करने का प्रयास करें:

  1. सभी उत्पादों को प्राप्त करें जो 50 से अधिक महंगे हैं
  2. सभी ऑर्डर्स को प्राप्त करें जिन्हें अभी तक वितरित नहीं किया गया है
  3. एक नया उत्पाद बनाएं और उसमें एक श्रेणी जोड़ें
  4. एक ऑर्डर हटाएं

निष्कर्ष

निष्कर्षस्वरूप, आप अब जानते हैं कि बैकएंड इंफ्रास्ट्रक्चर क्या है, विभिन्न प्रकार के बैकएंड इंफ्रास्ट्रक्चर से परिचित हैं, और अपने प्रोजेक्ट के लिए उचित इंफ्रास्ट्रक्चर चुनना जानते हैं।

इसके अलावा, आपने Back4app पर एक बैकएंड इंफ्रास्ट्रक्चर बनाने का तरीका सीखा है। आपने डेटाबेस, डेटाबेस सुरक्षा, कस्टम कोड, जॉब शेड्यूलिंग, और API परीक्षण का ख्याल रखा है।

Back4app-आधारित बैकएंड के लिए क्लाइंट साइड बनाने के मार्गदर्शन के लिए, हमारे अन्य लेखों का अन्वेषण करें:

  1. फ्रंटेंड और बैकएंड कैसे होस्ट करें?
  2. सोशल मीडिया ऐप कैसे विकसित करें?
  3. React का उपयोग करके चैटबॉट कैसे बनाएं?

अतिरिक्त लेख संसाधन एक GitHub repo पर ओपन-सोर्स किए गए हैं।


Leave a reply

Your email address will not be published.