nishiths23 / flutter-firebase-chat

MIT License
1 stars 0 forks source link

flutter_firebase_chat_sdk

GitHub license Pub Version GitHub Workflow Status

A package that used the power of firebase to create a chat SDK.

Motivation behind this project was to create an all in one sdk that would make it easier for developers to create a chat app. Using this SDK developers can focus on the basic functionality of their app rather then worrying about setting up and developing a chat server.

The project is still in development phase but you are welcome to use it in your app and contribute to the project if you needed some more features or if you would like to improve something.

Demo

Getting Started

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await FlutterFirebaseChatSDK.initializeApp();
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: FlutterFirebaseObservableApp(
        child: FlutterFirebaseChatSDK.instance.isUserLoggedIn ? Home() : Login(),
      ),
    );
  }
}
match /{path=**}/Channels/{channelId} {
        allow read, write: if request.auth != null
    }

Running the example project

Once the above steps are followed run flutter pub get in the base folder and in example folder, then you can directly run the example project on a device or a simulator.

Future plans

Libraries used in example

  google_sign_in
  flutter_hooks
  toast
  dash_chat
  image_picker
  flutter_native_image

If you have any issues building or running example project please consider following installation instructions for these dependencies before creating opening an issue.

Support Development

If you found this project helpful or you learned something from the source code and want to thank me, consider buying me a cup of ☕️

PayPal

Found this project useful? ❤️

If you found this project useful, then please consider giving it a ⭐️ on Github and sharing it with your friends via social media.

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.