A Flutter application that uses Firebase Firestore to send and receive messages.
The following are the features of this application:
- Switch between light mode and dart mode.
- Sign up and log in using email and password.
- Send and receive messages from other users.
- Message timestamps.
- Report messages.
- Block users.
- Unblock users.
- Message notifications. []
- Change passwords. []
- Password reset via email. []
- Email verification. []
- Delete user account. []
assets/
│
├── icon/ # App Icon
├── images/ # Chat Bubble Icon
└── screenshots/ # UI Screenshots
lib/
│
├── components/ # Reusable widgets and UI componets from Text Fields to Posts Container
├── util/ # Chat timestamp function
├── models/ # Data models for the application
├── pages/ # UI screens for the application
├── services/ # Firebase service classes (auth_service and chat_service)
│ │
│ ├── auth/ # Firebase Authentication Service
│ └── chat/ # Chat Service
├── themes/ # Themes Provider and text themes
└── main.dart # Main entry point of the application
The app icon is made using the following websites:
- Have Flutter installed on your machine.
- Create a Firebase project and turn on Email/Password from the Authentication section in the Sign-in method.
- Clone the repository:
git clone https://github.com/usman619/chat_app.git
cd chat_app
code .
- Install the dependencies:
flutter pub get
- If you want to change default app icon, goto the file 'flutter_launcher_icons.yaml' and change the path used in 'image_path' and after that run the following command in your terminal:
dart run flutter_launcher_icons:main
- Login into Firebase Console through CLI and select the project you have created before:
firebase login
flutter pub global activate flutterfirebase_cli
flutterfire config
< Select the project that you have created in Firebase Console >
flutter pub global deactivate flutterfirebase_cli
- Run using the following command:
flutter run