Flash Chat is a simple real-time messaging app built with Flutter and Firebase. It allows users to send and receive messages instantly, creating a seamless and engaging chat experience.
- Real-Time Messaging: Messages are delivered instantly, providing a real-time conversation experience.
- User Authentication: Users can sign in securely using a unique username and password.
- Clean and Intuitive Interface: The app features a user-friendly design for a smooth messaging experience.
- Animations: Engage users with delightful animations during login, registration, and on the welcome screen.
- Flutter: UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase.
- Firebase: A comprehensive mobile and web app development platform provided by Google.
To run this project locally, follow these steps:
-
Clone this repository:
git clone https://github.com/your-username/flash-chat.git
-
Navigate to the project directory:
cd flash-chat
-
Install dependencies:
flutter pub get
-
Set up Firebase:
- Create a new Firebase project: Firebase Console
- Add an Android and/or iOS app to your project.
- Download the
google-services.json
(Android) orGoogleService-Info.plist
(iOS) file and place it in the respective directories of your Flutter project.
-
Run the app:
flutter run
-
Google Sign-In Integration:
- Allow users to sign in using their Google accounts, providing a convenient alternative to traditional username and password authentication.
-
Profile Pictures and Personalization:
- Enhance user experience by allowing users to upload and set profile pictures.
- Add personalization options such as customizing chat backgrounds or themes.
-
Multiple Channels/Group Chats:
- Implement the ability for users to create or join multiple channels or group chats.
-
Push Notifications:
- Implement push notifications to alert users about new messages or mentions when the app is not actively open.
-
Message Editing and Deletion:
- Enable users to edit or delete their sent messages within a specific time frame, enhancing control over their conversations.
Feel free to make a pull request to contribute.