Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zgramming/basa-basi-firebase

Semua berawal dari Basa-Basi
https://github.com/zgramming/basa-basi-firebase

dart firebase flutter

Last synced: 21 days ago
JSON representation

Semua berawal dari Basa-Basi

Awesome Lists containing this project

README

        

[![style: lint](https://img.shields.io/badge/style-lint-4BC0F5.svg)](https://pub.dev/packages/lint)
[![GitHub followers](https://img.shields.io/github/followers/zgramming.svg?style=social&label=Follow&maxAge=2592000)](https://github.com/zgramming?tab=followers)



# Get it on :

# Basa Basi

Mau Ngelindur, Ngelantur, Curhat, PDKT, Pinjam Uang ?
Diawali dengan Basa-Basi

# Warning !!??!!??

Karena project ini adalah open source dan dari awal diperuntukan sebagai referensi, terdapat beberapa limitasi dikarenakan menggunakan **_Free Tier_** dari Firebase, berikut limitasinya :

1. Storage **Realtime Database** hanya 1 GB. *_Warning Note_
2. Cloud Storage kapasitas hanya 5 GB. *_Warning Note_

**_Warning Note_** = Jika dalam jangka 1 bulan project ini sudah melebihi batas maksimal, kemungkinan terdapat beberapa bug yang akan muncul.

# Preview Sekejap
























# Struktur Node Firebase
let senderid = 0000000001;

let pairingid = 000000002;

let CHANNEL_MESSAGE = senderid + "_" + pairingid;

__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __

|

| __ __ __ chats_message

|             |

|             | __ __ CHANNEL_MESSAGE

|                      |

|                      | __ __ GENERATE_ID_FIREBASE

|                               |

|                               |__ channel_message : ""

|                               |__ id : ""

|                               |__ message_content : ""

|                               |__ message_date : ""

|                               |__ message_reply_id : ""

|                               |__ message_status : ""

|                               |__ message_type : ""

|                               |__ pairing_id : ""

|                               |__ sender_id : ""

|                               |__ url_file : ""

|

| __ __ __ chats_recent

|             |

|             | __ __ senderid

|                      |

|                      | __ __ CHANNEL_MESSAGE

|                                |

|                                | __ __ channel_message : ""

|                                | __ __ count_unread_message : ""

|                                | __ __ id : ""

|                                | __ __ id_user : ""

|                                | __ __ is_archived : ""

|                                | __ __ is_typing : ""

|                                | __ __ last_typing_date : ""

|                                | __ __ message_status : ""

|                                | __ __ message_type : ""
|                                | __ __ pairing_id : ""

|                                | __ __ recent_message : ""

|                                | __ __ recent_message_date : ""

|                                | __ __ sender_id : ""

|

|

| __ __ __ users

|             |

|             | __ __ GENERATE_ID_FIREBASE

|                       |

|                       | __ __ email : ""

|                       | __ __ id : ""

|                       | __ __ is_login : ""

|                       | __ __ login_at : ""

|                       | __ __ name : ""

|                       | __ __ photo_url : ""

|                       | __ __ token_firebase : ""

|

| __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __

# Fitur

- [x] Splash Screen
- [x] Support Google Sign In
- [x] Realtime chat
- [x] Mencari teman pelarian kamu berdasarkan email
- [x] Support Archive/UnArchive pesan
- [x] Kirim kirim gambar via gallery/kamera
- [x] Notification

# Planning

- [ ] Support Local Database (Hive/SQFlite) untuk offline mode.
- [ ] Support kirim file (docx, pdf, ppt, xlsx, csv, dll) beserta previewnya saat di halaman chatting
- [ ] Indikator per pesan sudah dibaca/belum saat di halaman detail pesan
- [ ] Support voice chat
- [ ] Hapus spesifik pesan
- [ ] Hapus seluruh pesan
- [ ] Support Dark Mode
- [ ] Support Pin Pesan
- [ ] Support tema background halaman depan
- [ ] Support tema pada halaman chatting
- [ ] Ide ide si developer lainnya belum kesampaian

# Konfigurasi

## 1. Generate google-service.json

Saat mendownload/fork project ini, file **google-service.json** tidak tersedia, silakan baca intruksi pada link ini [https://firebase.google.com/docs/flutter/setup]

## 2. Setting server key firebase
pada folder ***lib/src/utils/notification***, ubah `_serverKey` menggunakan key yang ada pada firebase console kamu. Bingung cara dapatnya dimana ? Tetap pada file ***lib/src/utils/notification*** lalu baca intruksi mulai dari line **18**

## 3. Aktifkan service firebase realtime database, authentication dan storage

Untuk saat ini, Project ini menggunakan 3 service pada firebase yaitu :
- Firebase Realtime Database
- Authentication
- Storage

Diharapkan pada firebase console kamu, sudah mengaktifkan ketiga service ini terlebih dahulu.

# Bug yang diketahui

- [ ] Notifikasi yang diterima duplikat saat aplikasi dalam mode background (Investigasi)
- [ ] Jumlah pesan yang belum terbaca tidak ter-reset saat user masih/sedang di halaman pesan. Ekspetasi saat user masih/sedang dihalaman pesan, jumlah pesan yang terbaca otomatis menjadi 0 ketika pesan baru masuk.
- [ ] Saat koneksi tidak stabil, menekan daftar pesan pada halaman depan akan menimbulkan penumpukan halaman setelah koneksi sudah stabil.

# Issues

Please file any issues, bugs or feature request as an issue on Github

# Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.




Github
LinkedIn
Facebook
Instagram
Website