Firestore ChatπŸ”₯πŸ’¬

⛏️ Getting started

To get started with Firebase, please see the documentation available at https://firebase.flutter.dev/docs/overview

Add Firestore Chat to your project by following the instructions on the install page and start using it:

import 'package:firestore_chat/firestore_chat.dart';

You can open chat page either via Material route or directly push the chat page

await openChatPage(BuildContext context, ChatEntity chatEntity);

or

FirestoreChat().chatPageWidget(chatEntity)

πŸ“± Example

Opening chat

final chatEntity = ChatEntity(
    onMessageSent: (message, chatEntity){
//
    },
    mainUser: mainUser,
    peers: peers,
    path: chatPath,
    title: "FIFA 2022 Games",
);


//WAY 1
Navigator.push(
    context,
    FirestoreChat().chatPageWidget(chatEntity),
);

//WAY 2
await openChatPage(context, chatEntity);
...

Models πŸ“¦

Peer User πŸ‘¨

Fields
  • id - user Id
  • image - user image url
  • name - user display name

Chat Entity πŸ“©

Fields
  • mainUser - logged in user
  • peers - Map of users <user ID, PeerUser>
  • title - name of the chat (You can name group chats, can be nullable)
  • path - where the messages/chat should be store on firestore
  • onMessageSent - callback for when the message is saved to firestore

License βš–οΈ

Issues and feedback πŸ’­

If you have any suggestion for including a feature or if something doesn't work, feel free to open a Github issue for us to have a discussion on it.