Group Chat App with Flutter and Firebase
Link to open source: https://github.com/sabaka3560/chat-app
This Flutter-based group chat app offers a streamlined communication platform where users can sign in, join a single ongoing group chat, and experience seamless interaction with other participants. The app supports continuous conversations, ensuring that new users can access the complete chat history without losing context. It also includes essential features like user authentication, push notifications, and customizable profiles.
- User Authentication: Secure sign-in process for users to access the chat.
- Continuous Group Chat: One group chat with full message history accessible to all users, ensuring no one loses context.
- Profile Customization: Users can set their username and upload profile images for a personalized experience.
- Push Notifications: Real-time notifications keep users informed about new messages.
- Cloud-Based Storage: All messages are stored in the cloud, allowing users to access chats from any device without losing data.
To run the app locally, follow these steps:
-
Clone the repository:
git clone https://github.com/sabaka3560/chat-app.git cd group-chat-app -
Install dependencies:
flutter pub get
-
Configure Firebase:
- Set up a Firebase project.
- Add Firebase to your Flutter app by following the official Firebase guide.
- Download the
google-services.json(for Android) andGoogleService-Info.plist(for iOS) and place them in their respective directories.
-
Run the app:
flutter run
- Sign In: Users must sign in to access the chat.
- Join Chat: Upon signing in, users are automatically added to the ongoing group chat, where they can view the entire chat history.
- Profile Setup: Users can customize their profiles by setting a username and uploading a profile picture.
- Chat: Start or continue conversations with all participants. All messages are instantly stored in the cloud.
- Receive Notifications: Get notified of new messages with push notifications.
lib/: Contains the main Flutter app code.main.dart: Entry point of the app.auth/: Handles user authentication.chat/: Manages chat functionalities and UI.- : Manages user profiles.
- : Handles push notifications.
- Flutter SDK
- Firebase Authentication: For secure user authentication.
- Firebase Firestore: For storing and retrieving chat messages.
- Firebase Cloud Messaging: For push notifications.
- Provider: For state management.
Contributions are welcome! Please submit a pull request or open an issue if you have any suggestions or bug reports.
This project is licensed under the MIT License. See the LICENSE file for more information.
