Skip to content

A Flutter Chat application, for android, ios and web platform, using Firebase for Google Sign In/Sign Up and exchange text, emoji and images, include user online feature

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.txt
Notifications You must be signed in to change notification settings

ankesh-kumar/Flutter-chat

Repository files navigation

flutter_chat

A Chat Helper for create chat application in Flutter using Firebase as backend services.

Checkout Android app Demo

Checkout Web Demo

Just Chat Web Demo

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

Features:

  1. 1-1 chat.
  2. Chat with only added friends(Privacy). New
  3. Share Pic with Gallery/Camera
  4. User online status
  5. Flutter web supported

Next Future Scope

  1. Notification
  2. Group Chat
  3. User acceptance on chat request
  4. share location on chat

Screenshots:

login screen user screen chat screen

Getting Started

  • Add this to your package's pubspec.yaml file:
    dependencies:
    flutter_chat

  • Add firebase in your android and ios project.

  • Security Rules for Storage:

    rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }

  • Security Rules for Cloud fireStore:

    service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if request.auth != null; } } }

  • You can modify the security rules as your need.

  • Deploy "Cloud Function" on firebase. (provided on cloudFunction folder, used for show user online/offline status).

  • Create a Stateful widget class and call the method in body (example can be found in Github repo),
    within initState():
    -> ChatData.init("app name",context);
    and in body of Widget build:
    -> ChatData.widgetWelcomeScreen(context)

Flutter Web

  • If want to run Flutter-Chat project, on web Go to App, Firebase->Settings and then add new app, web Follow the instructions, Put the firebaseConfig script on index.html in web folder,
<script> // Your web app's Firebase configuration var firebaseConfig = { ..... .... } </script>

Enjoy Fluttering