Skip to content

fortune2009/gchat

Repository files navigation

GChat - Real-time Chat Application

Overview

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.

Deliverables

GitHub Repository: GChat GitHub Repository Deployed Application for Beta Testing: Firebase App Distribution APK File: Google Drive APK file

Features

  • User Signup
  • User Login
  • Tabbed Home Screen with Chat Tab
  • List of Users
  • Real-time Text Messaging
  • User Profile Information
  • User Logout

Setup Instructions For this build

Prerequisites

Project Setup

  1. Clone the Repository:

    git clone https://github.com/yourusername/gchat.git cd gchat

  2. Install Dependencies:

    flutter pub get

  3. 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) or GoogleService-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.html or firebase.js).
  4. 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.

  1. Run the App:

    flutter run

Deployment Steps

Web Deployment

  1. Build the Web App:

    flutter build web

  2. 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

Android Deployment

  1. Build the APK:

    flutter build apk

  2. Upload the APK:

    • Upload the APK to Google Play Console or any other Android distribution platform.

iOS Deployment

  1. Build the IPA:

    flutter build ios

  2. Upload the IPA:

    • Upload the IPA to Apple App Store Connect using Xcode or Application Loader.

Plugins Used

Contact

For any queries or further information, please contact:

About

Testing Firebase functions. The FCM is not fully functional as it has minor bugs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors