Firebase adalah BAAS (backend as a service) yang disediakan oleh google. Dengan menggunakan Firebase kita tidak perlu membuat sebuah webservice atau backend untuk melakukan manipulasi data atau hal-hal lainnya. Tetapi, hal itu tidak sepenuhnya benar.
Cara Membuat Database Realtime dengan Menggunakan Nodejs dan Firebase
Dikarenakan meskipun CRUD telah dihandle oleh firebase kita tetap harus menulis backend untuk beberapa kasus. Contoh kasusnya adalah :
- Mengubah password, dengan menggunakan Firebase Admin SDK kita dapat menggubah password dari user.
- Melakukan update terhadap node / data yang berjumlah sangat banyak. ( biasannya > 100 node/data).
- Melakukan delete terhadap node dengan jumlah yang sangat banyak (biasannya > 100 node/data).
- Melakukan cronjob untuk mengawasi data-data tertentu. Misalnya kita memiliki invocie yang harus expired pada jam 15 siang pada tanggal 15 bulan april tahun 2017. Kita membutuhkan suatu backend untuk menjalankan fungsi tersebut.
Pada intinnya, firebase Admin SDK memiliki fungsi untuk menangani hal-hal berat atau tidak mungkin dilakukan dengan firebase client. Umumnya, isue integritas data pada firebase menjadi momok dikarenakan tidak adannya relasional. Oleh karena itu setiap node dan child harus secara “manual” dijaga integritasnya dengan mengupdate seluruh node dan child ketika terjadi perubahan pada node tertentu.
Untuk membuat sebuah backend dengan menggunakan firebase admin SDK kita perlu menentukan jenis backend yang digunakan. Saat ini yang support adalah java dan NodeJS. Pada ulasan kali ini yang akan dibahas adalah menggunakan NodeJS. beberapa hal yang perlu disiapkan adalah :
- NodeJS
- Project firebase
- Editor / IDE favorit anda.
tujuan dari ulasan ini adalah bagaimana kita dapat menghubungkan antara firebase dengan NodeJS dan kemudian menampilkan data(realtime database) pada konsole. Berikut ini adalah langkah – langkah pembuatan backend dengan nodeJS dan firebase admin SDK.
1. buat project node baru dan konfigurasi sesuai dengan keinginan.
npm init
2. Mengenerate service account key.
langkah melakukan generate service account key :
- pastikan telah membuat akun firebase dan sebuah project
- console.firebase.google.com
- pilih project yang ingin dibuat backendnya
- pilih icon cog/settings -> project settings
- Pilih tab service account
- pada bagian bawah, klik tombol generate new private key
- masukan file yang diunduh tersebut ke project nodeJS beri nama sesuai dengan keinginan anda.
2. Install beberapa module yang diperlukan menggunakan NPM(Node package manager).
- firebase-admin
npm install firebase-admin --save
3. PERHATIAN!
Pastikan jam komputer lokal atau jika anda berada dalam VPS maka sesuaikan jam OS pada VPS telah sesuai dengan jam internet. Tanpa jam yang sesuai firebase-admin tidak dapat dijalankan.
4. buat app.js dan tuliskan kode berikut ini
// panggil modul firebase-admin var admin = require('firebase-admin'); // tentukan lokasi service account var serviceAccount = require('./service_account.json'); // melakukan inisialisasi aplikasi admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "https://gameguidehub.firebaseio.com" }); // nyalakan fitur debugging untuk mempermudah proses development/coding admin.database.enableLogging(true); // buat sebuah reference terhadap node atau data pada database untuk melakukan testing koneksi var db = admin.database(); var invoicesRef = db.ref("/test");
5. Jalankan app.js

Mau tanya mas, saya sudah coba cek bisa. Cuman pas dicek di firebase serve, kok required is nit defined ya?