GChat is a real-time chat application built using Flutter. The application allows friends and family to have text-based conversations in real time. The backend is powered by Firebase RealTime Database for real-time communication.
GitHub Repository: GChat GitHub Repository Deployed Application for Beta Testing: Firebase App Distribution APK File: Google Drive APK file
- User Signup
- User Login
- Tabbed Home Screen with Chat Tab
- List of Users
- Real-time Text Messaging
- User Profile Information
- User Logout
- Flutter SDK: Install Flutter
- Firebase Account: Create Firebase Account
- Git: Install Git
-
Clone the Repository:
git clone https://github.com/yourusername/gchat.git cd gchat
-
Install Dependencies:
flutter pub get
-
Firebase Configuration:
- Go to the Firebase Console.
- Create a new project or use an existing one.
- Add an Android/iOS/Web app to your Firebase project.
- Download the
google-services.json(for Android) orGoogleService-Info.plist(for iOS) and place it in the appropriate directory of your Flutter project. - For web, configure Firebase by adding the Firebase configuration keys to your web app (
index.htmlorfirebase.js).
-
Environment Configuration:
- Setup environment configuration for exposing the app to different values based on its current environment.
- Create environment-specific files like
config_dev.dart,config_prod.dart, etc., and ensure they are correctly referenced in your code. flutter run --dart-define=ENV=development flutter run --dart-define=ENV=production flutter run --dart-define=ENV=staging
NB: This was not implemented because the Firebase plugin was used for this project. This config works best using API integration.
-
Run the App:
flutter run
-
Build the Web App:
flutter build web
-
Deploy to Firebase Hosting:
- Install Firebase CLI:
npm install -g firebase-tools - Login to Firebase:
firebase login - Initialize Firebase Hosting:
firebase init hosting - Deploy:
firebase deploy
- Install Firebase CLI:
-
Build the APK:
flutter build apk
-
Upload the APK:
- Upload the APK to Google Play Console or any other Android distribution platform.
-
Build the IPA:
flutter build ios
-
Upload the IPA:
- Upload the IPA to Apple App Store Connect using Xcode or Application Loader.
- provider: State management
- firebase_database: Real-time database and communication
- http: Network requests
- localstorage: Local-web database management
For any queries or further information, please contact:
- Name: Fortune David
- Email: fortunedavidchigozirim@gmail.com