Flutter chat application with login and signup using Firebase.
Signup form uses Firebase Email and Password authentication with Phone Number verification.
Login form uses Firebase Email and Password authentication with Users stored in firestore database.
Chat uses Firebase Realtime Database.
User profile picture is stored in firebase storage.
- Clone the repository.
- Run the following command in the project directory:
flutter pub get
- You'll need to install Firebase CLI.
- Log into Firebase using your Google account:
firebase login
- Install the FlutterFire CLI with command:
dart pub global activate flutterfire_cli
- Change your Firebase project plan to Blaze.
- Run the following command:
flutterfire configure
- To deploy your functions to Firebase, run the following command:
cd firebase/functions && firebase deploy --only functions
- Update your Firestore rules to allow only authenticated users to access the database.
- Update your Firebase Realtime Database rules to allow only authenticated users to access the database.
- Finally, run the following command:
flutter run
- chats
- chat_id
- lastMessage: string
- timestamp: number
- members
- chat_id
- user_id: true
- user_id2: true
- messages
- chat_id
- message_id
- message: string
- timestamp: number
- sender: user_id: string