YouHow Chat App is a real-time messaging application built with Flutter for the frontend, Firebase for backend services such as authentication and database, and Agora for video and voice calling functionalities. The app provides a seamless chat experience with additional features for real-time communication and media sharing.
- Real-Time Messaging: Instant text messaging with real-time updates using Firebase Firestore.
- User Authentication: Secure user authentication and registration using Firebase Auth.
- Voice and Video Calls: High-quality voice and video calling powered by Agora.
- Media Sharing: Send and receive images, videos, and other media files.
- Push Notifications: Receive notifications for new messages and calls.
- User-Friendly Interface: Modern and responsive UI built with Flutter.
- Flutter SDK: installation guide
- Firebase account and project set up: Firebase Console
- Agora account and project set up: Agora Console
-
Clone the repository:
git clone https://github.com/your-username/youhow-chat-app.git
-
Navigate to the project directory:
cd youhow-chat-app
-
Install dependencies:
flutter pub get
-
Set up Firebase:
- Go to the Firebase Console and create a new project.
- Add an Android/iOS app to your Firebase project and download the
google-services.json
(for Android) orGoogleService-Info.plist
(for iOS). - Place these configuration files in the respective directories:
android/app/
forgoogle-services.json
ios/Runner/
forGoogleService-Info.plist
- Enable Firebase Authentication and Firestore in your Firebase project.
-
Set up Agora:
- Go to the Agora Console, create a new project, and get the App ID.
- Add your Agora App ID in your Flutter project. This typically involves adding the App ID to a configuration file or directly in your code where Agora is initialized.
- Register a new account or log in with existing credentials.
- Start a new chat by selecting a user from the contact list.
- Send and receive messages in real-time.
- Initiate voice or video calls using the Agora integration.
- Share media files easily within the chat.
Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request. Ensure to follow the project's coding standards and guidelines.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Login/Register pages
OTP signup page
Home page and Drawer
Chat page
Calls