firebase
Utilizzando Firebase con Node
Ricerca…
Hello World Firebase Realtime Database in Node
Requisiti di sistema:
Iniziare
- Prima vai su Firebase Console e crea un nuovo progetto.
- Dopo aver creato il progetto, nel progetto fai clic sull'icona delle impostazioni accanto al nome del progetto nella barra laterale sinistra e seleziona Autorizzazioni.
- Sulla pagina delle autorizzazioni Fare clic su Account di servizio nella barra laterale sinistra, quindi fare clic su Crea account di servizio
- Nella finestra popup, inserisci il nome dell'account di servizio e scegli Ruolo account e seleziona Fornisci una nuova chiave privata, dopodiché seleziona JSON e fai clic su Crea (lascia deselezionata Abilita deviazione dominio dominio Google App).
- Quando si fa clic su crea, verrà scaricato un file JSON con le credenziali dell'account, è sufficiente salvare il file ovunque nel sistema.
- Il passaggio successivo è la creazione di un database nella console Firebase per cui accedere alla console Firebase e fare clic su Database nella barra laterale sinistra. Dopo di ciò basta creare un nuovo oggetto database con nome user_data con qualche valore fittizio.
- Ora il tuo progetto Firebase Database è ora configurato semplicemente copi il seguente codice nella directory del tuo progetto.
//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);
});
- Basta cambiare con l'URL del file delle credenziali JSON (per gli utenti iniziali basta copiare il file delle credenziali nella stessa cartella e nel file index.js è sufficiente aggiungere il nome file delle credenziali).
- Il passaggio successivo è modificare l'indice in index.js con l'effettivo URL del database Firebase, sarai in grado di trovare questo URL nella Console Firebase nella scheda Database, l'URL sarà come https: //.firebaseio.com/ .
- Il passo finale è fare
npm install firebase
- Dopo l'esecuzione del comando precedente, NPM installerà i pacchetti necessari richiesti per Firebase. Finalmente per eseguire e testare il progetto eseguito
node index.js
Cosa fa realmente il progetto?
Il progetto carica i dati dal database Firebase basato su cloud. Il progetto dimostra anche come scrivere e leggere i dati da un oggetto dati Firebase.
Per visualizzare i tuoi dati aggiornati in tempo reale, vai alla tua console fai clic sul progetto che hai realizzato e, a sinistra, premi Database. Lì, puoi vedere i tuoi dati aggiornati in tempo reale, insieme ai loro valori.
Firebase-code e worker
Puoi trasferire attività o dati al database in tempo reale di Firebase ed eseguire un worker che ascolta la coda di Firebase per eseguire alcuni processi in background
Imposta firebase
Crea un progetto Firebase nella console Firebase, se non ne hai già uno. Se hai già un progetto Google esistente associato alla tua app, fai clic su Importa Google Project. Altrimenti, fai clic su Crea nuovo progetto ..
Fai clic sull'icona delle impostazioni e seleziona Autorizzazioni.
Seleziona Account di servizio dal menu a sinistra.
Fai clic su Crea account di servizio.
Inserisci un nome per il tuo account di servizio.
Puoi opzionalmente personalizzare l'ID da quello generato automaticamente dal nome.
Scegli Progetto> Editor dal menu a discesa Ruolo.
Seleziona Fornisci una nuova chiave privata e lascia il tipo di chiave come JSON.
Lascia vuoto Abilita la delega a tutto il dominio di Google Apps.
Fai clic su Crea
Quando si crea l'account di servizio, viene scaricato per te un file JSON contenente le credenziali dell'account del servizio. Avrai bisogno di questo per inizializzare l'SDK nel server.
Server di installazione
Installa firebase-queue usando npm nella tua app nodejs
npm install firebase firebase-queue --save
Dopo aver installato Firebase e Firebase-Queue, puoi iniziare creando una nuova coda e passandogli il riferimento Firebase e una funzione di elaborazione.
Ora consente di creare un'attività di coda Firebase dall'app quando viene creato un nuovo utente e impostare worker per l'ascolto dell'attività di Firebase-Queue e inviare un messaggio di posta elettronica agli utenti creati.
* server.js
var app=express();
var Queue = require('firebase-queue'),
Firebase = require('firebase');
Aggiorna le tue credenziali del progetto Firebase e l'URL del database Firebase
var firebase = Firebase.initializeApp({
serviceAccount: "path/to/serviceAccountCredentials.json",
databaseURL: "https://databaseName.firebaseio.com"
});
oppure puoi inserire le credenziali di Firebase direttamente come di seguito
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");
* worker.js
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);
});
eseguire server e worker separatamente e testare con la coda di Firebase
node server.js
node worker.js