firebase
नोड के साथ फायरबेस का उपयोग करना
खोज…
हेलो वर्ल्ड फायरबेस रियलटाइम डेटाबेस इन नोड
सिस्टम आवश्यकताएं:
शुरू करना
- सबसे पहले Firebase Console में जाएं और New Project बनाएं।
- प्रोजेक्ट बनाने के बाद, प्रोजेक्ट में बाईं ओर के साइडबार में प्रोजेक्ट नाम के अलावा सेटिंग्स आइकन पर क्लिक करें और अनुमतियाँ चुनें।
- अनुमतियाँ पृष्ठ पर बाईं साइडबार में सेवा खातों पर क्लिक करें और फिर सेवा खाता बनाएँ पर क्लिक करें
- पॉपअप विंडो में अपना सेवा खाता नाम दर्ज करें और खाता भूमिका चुनें और एक नई निजी कुंजी का चयन करें और उसके बाद JSON चुनें और क्रिएट (Google ऐप डोमेन-वाइड डेलिगेशन अनचेक करें छोड़ें) पर क्लिक करें।
- जब आप क्लिक करते हैं तो यह आपके खाता क्रेडेंशियल्स के साथ एक JSON फ़ाइल डाउनलोड करेगा, बस अपने सिस्टम में कहीं भी फ़ाइल सहेजें।
- अगला कदम है अपने Firebase कंसोल में एक डेटाबेस बनाना जिसके लिए Firebase कंसोल पर जाएं और बाएं साइडबार में डेटाबेस पर क्लिक करें। उसके बाद बस नाम के साथ एक नया डेटाबेस ऑब्जेक्ट बनाएं user_data कुछ डमी मूल्य के साथ।
- अब आपका Firebase Database प्रोजेक्ट सेटअप हो गया है, बस अपने प्रोजेक्ट डायरेक्टरी में कोड को कॉपी करें।
//Loading Firebase Package
var firebase = require("firebase");
/**
* Update your Firebase Project
* Credentials and Firebase Database
* URL
*/
firebase.initializeApp({
serviceAccount: "<path to Firebase Credentials Json File>",
databaseURL: "<Firebase Database URL>"
}); //by adding your credentials, you get authorized to read and write from the database
/**
* Loading Firebase Database and refering
* to user_data Object from the Database
*/
var db = firebase.database();
var ref = db.ref("/user_data"); //Set the current directory you are working in
/**
* Setting Data Object Value
*/
ref.set([
{
id:20,
name:"Jane Doe",
email:"[email protected]",
website:"https://jane.foo.bar"
},
{
id:21,
name:"John doe",
email:"[email protected]",
website:"https://foo.bar"
}
]);
/**
* Pushing New Value
* in the Database Object
*/
ref.push({
id:22,
name:"Jane Doe",
email:"[email protected]",
website:"https://jane.foo.bar"
});
/**
* Reading Value from
* Firebase Data Object
*/
ref.once("value", function(snapshot) {
var data = snapshot.val(); //Data is in JSON format.
console.log(data);
});
- बस JSON क्रेडेंशियल फ़ाइल URL के साथ परिवर्तन करें (शुरुआत के लिए केवल समान फ़ोल्डर में क्रेडेंशियल फ़ाइल की प्रतिलिपि बनाएँ और index.js फ़ाइल में केवल क्रेडेंशियल फ़ाइल नाम जोड़ें)।
- अगला कदम वास्तविक फायरबेस डेटाबेस URL के साथ index.js में परिवर्तन करना है, आप डेटाबेस टैब में फायरबेस कंसोल में इस URL को ढूंढ पाएंगे, URL https: //.firebaseio.com/ की तरह होगा।
- अंतिम चरण करना है
npm install firebase
- कमांड एनपीएम से ऊपर निष्पादित होने के बाद फायरबेस के लिए आवश्यक पैकेज स्थापित करेगा। अंत में चलाने और परीक्षण परियोजना निष्पादित करने के लिए
node index.js
परियोजना वास्तव में क्या करती है?
परियोजना क्लाउड आधारित फायरबेस डेटाबेस से डेटा लोड करती है। प्रोजेक्ट यह भी दर्शाता है कि फायरबेस डेटा ऑब्जेक्ट से डेटा कैसे लिखें और पढ़ें।
अपने डेटा को रियलटाइम में अपडेट होते देखने के लिए, अपने कंसोल पर जाएं आपके द्वारा बनाई गई परियोजना पर और बाईं ओर, हिट डेटाबेस पर क्लिक करें। वहां, आप देख सकते हैं कि आपका डेटा वास्तविक समय में अपडेट हो गया है, साथ ही उनके मूल्यों को भी।
फायरबेस-कतार और कार्यकर्ता
आप फायरबेस रियलटाइम डेटाबेस में कार्यों या डेटा को धक्का दे सकते हैं और एक कार्यकर्ता को चला सकते हैं जो कुछ पृष्ठभूमि प्रक्रिया को चलाने के लिए फायरबेस कतार में सुनता है
सेटअप फायरबेस
यदि आपके पास पहले से एक नहीं है, तो Firebase कंसोल में एक Firebase प्रोजेक्ट बनाएं। यदि आपके पास पहले से कोई Google प्रोजेक्ट आपके ऐप से जुड़ा है, तो Google प्रोजेक्ट आयात करें पर क्लिक करें। अन्यथा, Create New Project पर क्लिक करें।
सेटिंग्स आइकन पर क्लिक करें और अनुमतियां चुनें।
बाईं ओर स्थित मेनू से सेवा खातों का चयन करें।
सेवा खाता बनाएँ पर क्लिक करें।
अपने सेवा खाते के लिए एक नाम दर्ज करें।
आप वैकल्पिक रूप से नाम से स्वचालित रूप से उत्पन्न आईडी से आईडी को अनुकूलित कर सकते हैं।
भूमिका ड्रॉपडाउन से प्रोजेक्ट> संपादक चुनें।
एक नई निजी कुंजी का चयन करें और JSON के रूप में कुंजी प्रकार छोड़ दें।
Google Apps डोमेन-चौड़ा प्रतिनिधि को अचयनित छोड़ें सक्षम करें।
क्रिएट पर क्लिक करें
जब आप सेवा खाता बनाते हैं, तो आपके सेवा खाते की क्रेडेंशियल्स वाली JSON फाइल आपके लिए डाउनलोड की जाती है। आपको सर्वर में एसडीके को इनिशियलाइज़ करने के लिए इसकी आवश्यकता होगी।
सेटअप सर्वर
अपने नोडज एप्लिकेशन में npm का उपयोग करके फायरबेस-कतार स्थापित करें
npm install firebase firebase-queue --save
एक बार जब आप फायरबेस और फायरबेस-क्यू स्थापित कर लेते हैं, तो आप एक नया क्यू बनाकर और इसे अपने फायरबेस संदर्भ और एक प्रसंस्करण फ़ंक्शन से पारित कर सकते हैं।
अब ऐप से एक फायरबस कतार कार्य बनाने देता है जब एक नया उपयोगकर्ता बनाया जाता है और कार्यकर्ता को फायरबेस-कतार कार्य के लिए सुनने के लिए सेट किया जाता है और बनाए गए उपयोगकर्ताओं को एक ईमेल भेजता है।
* server.js
var app=express();
var Queue = require('firebase-queue'),
Firebase = require('firebase');
अपने फायरबेस प्रोजेक्ट क्रेडेंशियल्स और फायरबेस डेटाबेस URL को अपडेट करें
var firebase = Firebase.initializeApp({
serviceAccount: "path/to/serviceAccountCredentials.json",
databaseURL: "https://databaseName.firebaseio.com"
});
या आप नीचे के रूप में सीधे फायरबेस क्रेडेंशियल्स इनपुट कर सकते हैं
var firebase = Firebase.initializeApp({
serviceAccount: {
projectId: "projectId",
clientEmail: "[email protected]",
privateKey: "-----BEGIN PRIVATE KEY-----\nkey\n-----END PRIVATE KEY-----\n"
},
databaseURL: "https://databaseName.firebaseio.com"
});
var refQueue = firebase.database().ref("queue/tasks");
createUser = funtion(email, password){
var user = {
username: email,
password: password
};
user = new db.users(user);
user.save(function(err, user){
if(!err){
refQueue.push({case: "NEW_USER", data: user});
}
})
}
createUser("[email protected]", "password");
* कार्यकर्ता.जेएस
var Queue = require('firebase-queue'),
Firebase = require('firebase');
//Update your Firebase Project Credentials and Firebase Database URL by one of the way specified in server.js
var firebase = Firebase.initializeApp({
serviceAccount: "path/to/serviceAccountCredentials.json",
databaseURL: "https://databaseName.firebaseio.com"
});
var refQueue = firebase.database().ref("queue");
var queue = new Queue(refQueue, function(data, progress, resolve, reject) {
switch(data.case){
case "NEW_USER":
sendMail(data.data.email);
console.log("user created");
//sendMail function is not an inbuilt function and will not work unless you define and implement the function
break;
// Finish the task asynchronously
setTimeout(function() {
resolve();
}, 1000);
});
सर्वर और कार्यकर्ता को अलग-अलग चलाएं और फायरबेस क्यू के साथ परीक्षण करें
node server.js
node worker.js