Skip to content

sharansukesh1003/Messenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Messenger

A Flutter-based multi-user chat application that supports real-time messaging using Firebase Firestore and Authentication. This app allows users to sign in with email/password or Google and engage in real-time chat with other users.

Table of Contents

  1. Features
  2. Screenshots
  3. Getting Started
  4. Usage
  5. Contributing
  6. License
  7. Contact

Features

  • Firebase Authentication: Sign up and log in with email/password or Google.
  • Real-Time Messaging: Chat with other users in real-time.
  • Firestore Integration: Store and retrieve messages and user information.
  • Responsive UI: A clean, user-friendly interface that works seamlessly on various devices.
  • Scalable: Built with Firebase, making it easy to scale as your user base grows.

Screenshots

1

  • Figure 1:

2

  • Figure 2:

3

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/sharansukesh1003/messenger.git
    cd messenger
  2. Set up Firebase:

    • Create a Firebase project in the Firebase Console.
    • Add your Android and/or iOS app to the Firebase project.
    • Download google-services.json (for Android) and/or GoogleService-Info.plist (for iOS) and place them in the appropriate directories:
      • android/app/google-services.json
      • ios/Runner/GoogleService-Info.plist
    • Enable Email/Password and Google sign-in methods in the Authentication section of Firebase.
    • Set up Firestore as your database and adjust the rules as needed.
  3. Install dependencies:

    flutter pub get
  4. Run the app:

    flutter run

Project Structure

lib/
β”‚
β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ chat_screen_arguments_model.dart   # Data model for passing chat arguments
β”‚   └── message_model.dart                 # Data model for chat messages
β”‚
β”œβ”€β”€ screens/
β”‚   β”œβ”€β”€ chat_screen.dart                   # UI for the chat interface
β”‚   β”œβ”€β”€ home_screen.dart                   # UI for displaying user list
β”‚   β”œβ”€β”€ login_screen.dart                  # UI for user login
β”‚   └── signup_screen.dart                 # UI for user signup
β”‚
β”œβ”€β”€ service/
β”‚   β”œβ”€β”€ authentication.dart                # Firebase authentication service
β”‚   └── message_service.dart               # Firestore message handling service
β”‚
β”œβ”€β”€ widgets/
β”‚   └── message_bubble.dart                # Widget for displaying chat messages
β”‚
└── main.dart                              # Main entry point of the app

Usage

  • Sign Up: Users can sign up using their email and password or through Google sign-in.
  • Login: Once registered, users can log in and start chatting.
  • Chat: Users can select other users from the list and start a conversation in real-time.

Contributing

Contributions are welcome! Please fork this repository and submit a pull request for any changes you'd like to see.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

If you have any questions or suggestions, feel free to open an issue or reach out to me on LinkedIn.

About

🌐 A Flutter-based multi-user chat application with real-time messaging using Firebase Firestore and Authentication. Supports email/password and Google sign-in. Clean, responsive UI with seamless user experience. Ideal for learning or as a foundation for more advanced chat apps.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors