Mengembangkan Chat dengan Python Firebase

Arif Rusmandani
Jun 15 · 4 min read

Pada artikel kali ini saya akan menulis tentang bagaimana membuat realtime chat menggunakan Python Firebase. Namun, sebelum ke intinya, mari kita kenali dulu apa itu Firebase.

Apa Itu Firebase ?

Firebase adalah suatu layanan dari Google yang digunakan untuk mempermudah para developer dalam mengembangkan aplikasi. Khusus untuk membuat chat, kita akan menggunakan salah satu fitur Firebase yaitu Realtime Database.

Firebase Realtime Database adalah database yang di-host di cloud. Data disimpan sebagai JSON dan disinkronkan secara realtime ke setiap klien yang terhubung. Ketika Anda mem-build aplikasi lintas platform dengan SDK iOS, Android, dan JavaScript, semua klien akan berbagi sebuah instance Realtime Database dan menerima update data terbaru secara otomatis.

Untuk hasilnya, silakan melihat gambar di bawah ini.

Memulai Proyek di Firebase

Pertama-tama siapkan terlebih dahulu database di Firebase. Anda bisa mengunjungi Firebase untuk memulai pembuatan database dan sekaligus aplikasinya. Berikut ini tampilan di halaman Firebase. Klik Get started untuk memulai membuat project.

https://firebase.google.com/

Masukkan nama project yang akan dibuat. Sebagai contoh, lihatlah gambar di bawah ini. Selanjutnya aktifkan Google Analytic jika diperlukan dan klik continue.

Pilih akun untuk Google Analytic dan klik create porject.

Setelah selesai membuat project, langkah selanjutnya adalah menambahkan platform seperti gambar di bawah ini. Klik add app, pilih platform yang ingin digunakan (iOS, Android, Web). Pada kasus ini, pilih web karena platform yang akan digunakan adalah untuk web.

Setelah mendaftarkan app, Anda akan mendapatkan konfigurasi Firebase, salin dan simpan terlebih dahulu agar nanti dapat digunakan.

Membuat dan Mengkonfigurasi Database

Setelah selesai menyiapkan project app, buatlah Realtime Ratabase untuk menyimpan data. Masuk ke menu Realtime Database dan klik Create Database. Seperti gambar di bawah ini.

Set up database location dan klik next.

Lalu, set up security rules menjadi locked mode dan klik enable.

Selanjutnya Anda perlu mengubah rules untuk read menjadi true.

{
"rules": {
".read": true,
".write": false
}
}

Sementara itu, structure database-nya akan terlihat seperti gambar di bawah ini. Pada gambar di bawah ini terdapat url database-nya https://simple-chat-py-default-rtdb.firebaseio.com

Selanjutnya masuk ke project setting > service account, dan pilih config untuk Python dan klik generate new private key. Nantinya Anda akan mendapatkan file dalam bentuk .json yang akan digunakan pada config credentials Python.

Memulai Membuat Aplikasi Chat dengan Pyhton

Setelah selesai konfigurasi Firebase, selanjutnya Anda dapat membuat aplikasi chat di Python. Install terlebih dahulu flask dan Firebase-admin dengan cara seperti dibawah ini.

pip install flask
pip install firebase-admin

Buatlah folder project chat, dan sesuaikan structure folder-nya seperti.

Pada folder configs, buat file dengan nama __init__.py. Isikan code yang didapat dari service account di Firebase dan tambahkan database url Firebase.

Untuk file json yang didapat dari generate private key, pindahkan ke folder creds dan sesuaikan nama file. Selanjutnya Anda dapat membuat file app.py untuk membuat routing dan menjalankan aplikasi-nya nanti dengan flask.

Yang perlu diperhatikan disini adalah import package firebase-admin db dan config credentials-nya. .

Pada route index digunakan untuk mengarahkan ke halaman interface chat dan route send_message untuk menyimpan pesan atau data ke Firebase Database.

Konfigurasi Frontend

Selanjutnya Anda harus mempersiapkan interface. Untuk interface, Anda bisa mengunduh source code nya di tautan GitHub.

Setelah diunduh, ada sedikit konfigurasi Firebase di javscript. Buka file chat.js dan isikan Firebase configs yang sebelumnya diperoleh pada pembuatan aplikasi.

Tentunya kita harus import Javascript Firebase aplikasi dan Firebase Database di index.html.

Setelah semua konfigurasi selesai, Anda dapat menjalankan aplikasi chat dengan menjalankan perintah flask run yang bisa diakses di http://127.0.0.1:5000/

Selamat mencoba!

Referensi

DSF Web Services Engineering

Development Center by PT. Dipo Star Finance

DSF Web Services Engineering

We are sharing our knowledge and process of project. Illustration is by Storyset, Freepik Company

Arif Rusmandani

Written by

DSF Web Services Engineering

We are sharing our knowledge and process of project. Illustration is by Storyset, Freepik Company