All Projects → RubyLichtenstein → FireCat

RubyLichtenstein / FireCat

Licence: other
Firestore real time pagination for Android

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to FireCat

react-firebase-context
A basic set of components that help dealing with Firebase services
Stars: ✭ 41 (+173.33%)
Mutual labels:  firestore
Goals
An app which shows how to integrate Firestore with the famous BLoC pattern in Flutter
Stars: ✭ 67 (+346.67%)
Mutual labels:  firestore
ChatApp
Chat app based on Firebase tools.
Stars: ✭ 88 (+486.67%)
Mutual labels:  firestore
wordsreminder
React native application to save words in dictionaries.
Stars: ✭ 33 (+120%)
Mutual labels:  firestore
firebase-jest-testing
Firebase back-end testing, using Jest.
Stars: ✭ 21 (+40%)
Mutual labels:  firestore
akka-persistence-gcp-datastore
akka-persistence-gcp-datastore is a journal and snapshot store plugin for akka-persistence using google cloud firestore in datastore mode.
Stars: ✭ 18 (+20%)
Mutual labels:  firestore
vue-js-3-firebase-firestore
Vue 3 Firebase Tutorial: Build Firestore CRUD Web Application
Stars: ✭ 34 (+126.67%)
Mutual labels:  firestore
FireSnapshot
A useful Firebase-Cloud-Firestore Wrapper with Codable.
Stars: ✭ 56 (+273.33%)
Mutual labels:  firestore
sink
Verify that you're spending more than you can afford
Stars: ✭ 78 (+420%)
Mutual labels:  firestore
firebase-event-sourcing
Event Sourcing + CQRS + DDD for Firebase
Stars: ✭ 14 (-6.67%)
Mutual labels:  firestore
pring-admin.ts
Cloud Firestore model framework for TypeScript - Google
Stars: ✭ 13 (-13.33%)
Mutual labels:  firestore
SampleFoodBlog
🔥 Android blog application, built with Firebase
Stars: ✭ 23 (+53.33%)
Mutual labels:  firestore
firebase
Modular Firebase 🔥 implementation for NativeScript. Supports both iOS & Android platforms for all Firebase services.
Stars: ✭ 36 (+140%)
Mutual labels:  firestore
firecms
Awesome Firebase/Firestore-based CMS. The missing admin panel for your Firebase project!
Stars: ✭ 686 (+4473.33%)
Mutual labels:  firestore
KanjiMaru
Flashcard and Kanji writing Flutter App. Stopped working on this Project. Currently just a graveyard.
Stars: ✭ 26 (+73.33%)
Mutual labels:  firestore
demo-firebase-js
A simple Web application that demonstrates how the end-to-end encryption works. The application uses firebase as a backend service for authentication and chat messaging, and Virgil E3Kit SDK for end-to-end encryption.
Stars: ✭ 31 (+106.67%)
Mutual labels:  firestore
firebase-firestore-snippets
Contains the snippet for both Firebase and Firestore in VS Code editor
Stars: ✭ 13 (-13.33%)
Mutual labels:  firestore
Madara
✍️ A way for people to manage their tasks.
Stars: ✭ 17 (+13.33%)
Mutual labels:  firestore
firecode
A light, fast, and memory-efficient collection traversal library for Firestore and Node.js.
Stars: ✭ 171 (+1040%)
Mutual labels:  firestore
fireschema
Strongly typed Firestore framework for TypeScript
Stars: ✭ 193 (+1186.67%)
Mutual labels:  firestore

FireCat - Firestore real time + pagination recycler view adapter.

Firestore is great solution for no sql data bases,

When you build chat app you need you db to support pagination for efficient old messages loading and also real time update for new messages.

Unfortunately FirebaseUI-Android provide only Real time or pagination recycler view adapter.

For uses cases like chat app we need adapter that support both real time and pagination but is no any official implemantion yet :(

FireCat for the rescue! with 'FirestoreRealTimePaginationAdapter'

https://github.com/RubyLichtenstein/FireCat/blob/master/app/src/main/java/com/example/firecat/paging/FirestoreRealTimePaginationAdapter.kt

Usage FirestoreRealTimePaginationAdapter

class FirestoreRealTimePaginationAdapter(
    paginationQuery: Query,
    realTimeQuery: Query,
    lifecycleOwner: LifecycleOwner?,
    val parser: (DocumentSnapshot) -> T?,
    val prefetchDistance: Int,
    val pageSize: Int
)

Chat implemantation with FirestoreRealTimePaginationAdapter

https://github.com/RubyLichtenstein/FireCat/blob/master/app/src/main/java/com/example/firecat/chat/ChatAdapter.kt

class ChatAdapter(
    lifecycleOwner: LifecycleOwner?
) : FirestoreRealTimePaginationAdapter<Message, ChatAdapter.ViewHolder>(
    paginationQuery = messagesQuery,
    realTimeQuery = newMessagesQuery,
    prefetchDistance = 3,
    pageSize = 10,
    parser = { documentSnapshot ->
        documentSnapshot.toObject(Message::class.java)
    },
    lifecycleOwner = lifecycleOwner
)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].