Firebase Miner (Chat App) is a secure and user-friendly mobile application developed using Flutter. This app facilitates seamless two-way communication by leveraging Firebase Authentication and Firestore for real-time data synchronization. It includes multiple sign-in options, user profile management, themes, and individual chat pages.
- Firebase Authentication: Supports Google Sign-in, Guest Sign-in, and Email/Password authentication.
- User Profile Management: Allows users to update and manage their profiles.
- Light & Dark Themes: Users can switch between themes based on preferences.
- Splash Screen: A welcoming splash screen upon launching the app.
- Chat Pages: Real-time chat for each user.
- Media Support: The app supports sending and receiving media like images.
dependencies:
cupertino_icons: ^1.0.6
firebase_core: ^3.2.0
firebase_auth: ^5.1.2
google_sign_in: ^6.1.6
cloud_firestore: ^5.0.2
firebase_messaging: ^15.0.4
firebase_storage: ^12.1.1
image_picker: ^1.1.2
emoji_picker_flutter: ^2.2.0
cached_network_image: ^3.3.1
connectivity_plus: ^6.0.5
lib/
├── components/
│ ├── dialogs.dart
│ └── my_data_util.dart
├── dialog/
│ └── profile_dialog.dart
├── generated/
│ └── assets.dart
├── helper/
│ └── firebase_helper.dart
├── model/
│ ├── chat_user.dart
│ └── message.dart
├── screen/
│ ├── auth/
│ │ └── login_screen.dart
│ ├── chat_page.dart
│ ├── home_page.dart
│ ├── profile_screen.dart
│ ├── splash_screen.dart
│ └── view_profile_screen.dart
├── widgets/
│ └── firebase_options.dart
└── main.dart
- Firebase Authentication: Provides multiple sign-in methods including Google, Guest, and Email/Password.
- Profile Management: Users can update their display name, profile picture, and other details.
- Themes: Users can switch between light and dark themes.
- Splash Screen: A custom splash screen greets users at launch.
- Chat Pages: Real-time chat interface for users.
- Language: Dart
- Framework: Flutter
- Architecture: MVC with Provider/GetX
- Database: Firebase Firestore
- Authentication: Firebase Authentication
- Dart and Flutter development
- Firebase Firestore for real-time database management
- Firebase Authentication for secure login functionality
- Experience with mobile development tools like VS Code or Android Studio
- Clone the repository:
git clone https://github.com/yourusername/wechat_app.git cd wechat_app
- Install dependencies:
flutter pub get
- Run the app:
flutter run
Make sure that you have set up your Firebase project and added the necessary Firebase credentials in firebase_options.dart
.
- Firebase services have been correctly set up and initialized.
- Users are assumed to have a stable internet connection.
This chat application offers a seamless and secure experience using Firebase services, ensuring that users can easily communicate with others. The flexible UI with light and dark themes enhances user satisfaction. Whether for personal or professional use, Firebase Miner (Chat App) brings reliability to instant messaging.
This project is licensed under the MIT License - see the LICENSE file for details.