PocketBase एक ओपन-सोर्स बैकएंड है जिसमें डेटा सत्यापन, रीयल-टाइम सब्सक्रिप्शन और उपयोग में आसान REST API के साथ एम्बेडेड SQLite डेटाबेस शामिल है। यह मीडिया फ़ाइलों के लिए प्रमाणीकरण और फ़ाइल संग्रहण भी प्रदान करता है।
पॉकेटबेस उन परियोजनाओं के लिए एकदम सही है, जिनके लिए आप समय की कमी या सुविधा के कारण बैकएंड नहीं बनाना चाहते हैं क्योंकि यह पूरी तरह से पोर्टेबल है और न्यूनतम सेटअप की आवश्यकता है। यह Vue, Svelte, React, Angular और Flutter जैसी लोकप्रिय तकनीकों के साथ भी एकीकृत है।
पॉकेटबेस द्वारा प्रदान की जाने वाली सेवाएं
PocketBase अन्य बैकएंड प्रदाताओं जैसे SupaBase द्वारा प्रदान की जाने वाली अधिकांश सेवाएँ प्रदान करता है।
- SQLite डेटाबेस: PocketBase में एक एम्बेडेड SQLite डेटाबेस शामिल है। यह अन्य बैकएंड प्रदाताओं से अलग है जो PostgreSQL या MySQL जैसे बड़े डेटाबेस का उपयोग करते हैं। SQLite का उपयोग PocketBase को अधिक हल्का बनाता है। आप एपीआई के माध्यम से रीयल-टाइम डेटाबेस इवेंट्स की सदस्यता भी ले सकते हैं।
- प्रमाणीकरण: PocketBase ईमेल/पासवर्ड प्रमाणीकरण का समर्थन करता है, और OAuth2 प्रमाणीकरण Facebook, Google, GitLab और GitHub के माध्यम से।
- फ़ाइल भंडारण: आप PocketBase का उपयोग करके फोटो, ऑडियो और वीडियो फ़ाइलों को स्थानीय स्टोरेज या S3 बकेट में अपलोड कर सकते हैं।
- व्यवस्थापक डैशबोर्ड: व्यवस्थापक डैशबोर्ड आपको डेटाबेस में संग्रह बनाने और प्रबंधित करने देता है। आप फ़ाइलें अपलोड भी कर सकते हैं, लॉग फ़ाइलें देख सकते हैं और ईमेल भेजने के लिए सेटिंग कॉन्फ़िगर कर सकते हैं,
डॉक्स के अनुसार, पॉकेटबेस आसानी से 10,000+ समवर्ती और लगातार वास्तविक समय की सेवा कर सकता है 6 वर्चुअल प्राइवेट सर्वर पर कनेक्शन इसे छोटे से मध्यम के लिए एक किफायती बैकएंड विकल्प बनाते हैं अनुप्रयोग।
ध्यान दें कि पॉकेटबेस केवल लंबवत रूप से मापता है। इसका मतलब है कि प्रोसेसिंग पावर बढ़ाने के लिए आपको और सीपीयू और रैम जोड़ने की जरूरत है। यदि आपके पास एक बड़ा अनुप्रयोग है, तो एक पर विचार करें बैकएंड प्रदाता जैसे फायरबेस जो क्षैतिज स्केलिंग की अनुमति देता है।
पॉकेटबेस के साथ शुरुआत करना
वर्तमान में पॉकेटबेस दो एसडीके प्रदान करता है:
- एक JavaScript SDK जिसे आप Svelte, React, Vue और Angular जैसे JavaScript फ्रेमवर्क के साथ उपयोग कर सकते हैं।
- के लिए एक डार्ट एसडीके स्पंदन क्षुधा.
आरंभ करने का सबसे आसान तरीका है पॉकेटबेस डाउनलोड करें. कई लिंक हैं, इसलिए अपने पर्यावरण के अनुकूल डाउनलोड करना सुनिश्चित करें।
एक बार जब आप इसे डाउनलोड कर लेते हैं, तो इसे निकालें और पॉकेटबेस फ़ोल्डर में नेविगेट करें। फिर इस आदेश को टर्मिनल में चलाएं:
./पॉकेटबेस सर्व करें
यह आदेश इन मार्गों पर एक वेब सर्वर प्रारंभ करना चाहिए।
- सर्वर: http://127.0.0.1:8090/
- बाकी एपीआई: http://127.0.0.1:8090/api/
- व्यवस्थापक यूआई: http://127.0.0.1:8090/_/
पर नेविगेट करें http://127.0.0.1:8090/_/ व्यवस्थापक डैशबोर्ड का उपयोग करके अपना पहला संग्रह बनाने के लिए URL.
पॉकेटबेस में एक संग्रह बनाना
पहली बार जब आप एडमिन यूआई खोलते हैं, तो यह एडमिन अकाउंट बनाने के लिए एक ईमेल एड्रेस और पासवर्ड मांगेगा।
यहाँ व्यवस्थापक UI कैसा दिखता है:
क्लिक कर रहा है नया संग्रह व्यवस्थापक UI में बटन एक संग्रह पैनल खोलेगा जिसमें आप एक नया संग्रह बनाने के लिए विवरण भर सकते हैं।
यहां बताया गया है कि आप एक शीर्षक और पूर्ण फ़ील्ड वाले टूडोस नामक एक संग्रह कैसे बनाते हैं:
एक संग्रह या तो आधार या प्रामाणिक संग्रह हो सकता है। आधार संग्रह डिफ़ॉल्ट संग्रह प्रकार है और आप इसे किसी भी प्रकार के डेटा के लिए उपयोग कर सकते हैं। एक प्रामाणिक संग्रह में उपयोगकर्ताओं को प्रबंधित करने के लिए अतिरिक्त फ़ील्ड होते हैं, जैसे उपयोगकर्ता नाम, ईमेल और सत्यापित।
संग्रह बनाने के लिए आपको व्यवस्थापक UI का उपयोग करने की आवश्यकता नहीं है; आप वेब एपीआई का उपयोग करके एक बना सकते हैं। पॉकेटबेस डॉक्स एपीआई के माध्यम से संग्रह बनाने और प्रबंधित करने के तरीके के एसडीके-विशिष्ट उदाहरण प्रदान करें। आप संग्रह बना सकते हैं, देख सकते हैं, अपडेट कर सकते हैं, हटा सकते हैं या आयात कर सकते हैं।
रिएक्ट एप्लिकेशन में PocketBase का उपयोग करना
जावास्क्रिप्ट एसडीके आपको रिएक्ट प्रोजेक्ट से पॉकेटबेस के साथ बातचीत करने की अनुमति देता है।
साथ चलने के लिए, से शुरू करें एक प्रतिक्रिया परियोजना बनाना.
फिर, अपने रिएक्ट प्रोजेक्ट में पॉकेटबेस जावास्क्रिप्ट एसडीके को npm के माध्यम से स्थापित करें:
npm पॉकेटबेस स्थापित करें --save
इसके बाद, app.js में PocketBase इम्पोर्ट करें और इसे इनिशियलाइज़ करें।
आयात पॉकेटबेस से'पॉकेटबेस';
कॉन्स्ट पीबी = नया पॉकेटबेस(' http://127.0.0.1:8090');
PocketBase रिएक्ट को कैसे एकीकृत करता है, यह समझाने के लिए, आप एक टू-डू एप्लिकेशन के लिए सहायक फ़ंक्शंस बनाएंगे। ये फ़ंक्शन आइटम बनाएंगे, अपडेट करेंगे, पुनर्प्राप्त करेंगे और हटाएंगे।
एक टोडो आइटम बनाएँ
App.js में, AddTodo नामक एक फ़ंक्शन बनाएं।
कॉन्स्ट ऐड टोडो = async (टूडू) => {
कोशिश {
कॉन्स्ट रिकॉर्ड = इंतजारइंतजार पंजाब संग्रह ("सब".बनाना (टूडू);
वापस करना अभिलेख;
} पकड़ना (गलती) {
वापस करना { गलती: त्रुटि संदेश };
}
};
यह फ़ंक्शन todos संग्रह में एक नया रिकॉर्ड जोड़ता है।
एक टूडू आइटम अपडेट करें
टूडू संग्रह में एक रिकॉर्ड को अपडेट करने के लिए, अपडेटटोडो नामक एक फ़ंक्शन बनाएं और अपडेट विधि का उपयोग करें।
कॉन्स्ट अपडेट टोडो = async (रिकॉर्ड_आईडी, टूडू) => {
कोशिश {
कॉन्स्ट रिकॉर्ड = इंतजार पंजाब संग्रह ("सब".अपडेट (रिकॉर्ड_आईडी, टूडू);
वापस करना अभिलेख;
} पकड़ना (गलती) {
वापस करना { गलती: त्रुटि संदेश };
}
};
UpdateTodo फ़ंक्शन रिकॉर्ड आईडी के आधार पर टू-डू आइटम ढूंढता है और इसे नए डेटा के साथ अपडेट करता है।
एक टूडू आइटम हटाएं
app.js में, डिलीटटोडो नामक एक फ़ंक्शन बनाएं जो टूडू संग्रह में एक रिकॉर्ड को हटा देता है।
कॉन्स्ट डिलीट टोडो = async (रिकॉर्ड_आईडी) => {
कोशिश {
इंतजार पंजाब संग्रह ("सब".हटाएं (रिकॉर्ड_आईडी);
} पकड़ना (गलती) {
वापस करना { गलती: त्रुटि संदेश };
}
};
टोडो आइटम को पुनः प्राप्त करें
आप एक टू-डू आइटम या संग्रह से सभी आइटम पुनर्प्राप्त कर सकते हैं।
यह फ़ंक्शन आईडी द्वारा एकल टू-डू आइटम पुनर्प्राप्त करता है:
कॉन्स्ट गेट टोडो = async (रिकॉर्ड_आईडी) => {
कोशिश {
कॉन्स्ट रिकॉर्ड = इंतजार पंजाब संग्रह ("सब".getOne (रिकॉर्ड_आईडी, {
बढ़ाना: "relField1, relField2.subRelField",
});
वापस करना अभिलेख
} पकड़ना (गलती) {
वापस करना { गलती: त्रुटि संदेश };
}
};
जबकि नीचे दिया गया कार्य टूडू संग्रह में सभी अभिलेखों को पुनः प्राप्त करेगा:
कॉन्स्ट गेट टोडोस = async (रिकॉर्ड_आईडी) => {
कोशिश {
कॉन्स्ट रिकॉर्ड = इंतजार पंजाब
।संग्रह("सब")
.getFullList(200 /* बैच का आकार */, {
क्रम से लगाना: "-बनाया था",
});
वापस करना रिकॉर्ड;
} पकड़ना (गलती) {
वापस करना { गलती: त्रुटि संदेश };
}
}
एप्लिकेशन के UI को बनाने और अपडेट करने के लिए आप इन कार्यों का उपयोग कर सकते हैं।
अधिक विस्तृत उदाहरणों के लिए, देखें पॉकेटबेस रिकॉर्ड एपीआई प्रलेखन या "व्यवस्थापक यूआई> संग्रह> एपीआई पूर्वावलोकन" में उत्पन्न एपीआई दस्तावेज। आपको अपने संग्रह के लिए सूची, देखने, बनाने, अपडेट करने, हटाने और रीयल-टाइम दस्तावेज़ों तक पहुंचने में सक्षम होना चाहिए।
आपको PocketBase का उपयोग क्यों करना चाहिए
पॉकेटबेस छोटी से मध्यम परियोजनाओं के लिए सबसे अच्छा बैकएंड है। इसके लिए न्यूनतम सेटअप की आवश्यकता होती है और इसका उपयोग करना आसान है। यह दो क्लाइंट एसडीके-एक जावास्क्रिप्ट एसडीके और एक डार्ट एसडीके- प्रदान करता है और आप इसे वेब और मोबाइल एप्लिकेशन में उपयोग कर सकते हैं।
पॉकेटबेस स्वयं-होस्ट करने योग्य भी है, और आप इसे स्थानीय सर्वर या वीपीएस पर होस्ट कर सकते हैं। हालांकि यह क्लाउड फ़ंक्शंस का समर्थन नहीं करता है, आप इसे गो फ्रेमवर्क के रूप में उपयोग कर सकते हैं और कस्टम बिजनेस लॉजिक के साथ अपना खुद का ऐप बना सकते हैं।