Firebase ChatπŸ”₯πŸ’¬

⛏️ Getting started

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

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

import 'package:firebase_chat/firebase_chat.dart';

πŸ“± Example

Extend your StatefulWidget

class ChatPage extends BaseChat {
  ChatPage({
    @required ChatEntity entity,
  }) : super(entity);

  @override
  _ChatPageState createState() => _ChatPageState();
}

class _ChatPageState extends BaseChatState<ChatPage> {
...

Override Methods and Properties

You can checkout example file

Widget inputBuilder(BuildContext context, ChatInputState state);
Future editAndUpload(Uint8List data);
Future getImage();

Widget get emptyWidget;
Widget get errorWidget;
Widget get loadingWidget;
Color  get primaryColor;
Color  get secondaryColor;

Models πŸ“¦

Peer User πŸ‘¨

Fields
  • id - user Id
  • image - user image url
  • name - user display name
Constructors
  • PeerUser({this.id, this.image, this.name})
  • PeerUser.fromSnapshot(DocumentSnapshot snap)

Chat Entity πŸ“©

Fields
  • mainUser - logged in user
  • peers - Map of users <user ID, PeerUser>
  • lastMessage - last sent message
  • title - name of the chat (You can name group chats, can be nullable)

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.

Libraries

activity_repository
activitylog
base_chat_page
chat_avatar
chat_content
chat_entity
chat_input_cubit
chat_model
converter
firebase_chat
image_activity
image_activity_widget
models
peer_user
status_activity
text_activity
text_activity_widget
typing_animation
typing_section
typing_widget