Skip to content

πŸ“± My project aims to replicate the seamless messaging experience of WhatsApp using Flutter and Firebase, providing users with a reliable and feature-rich communication platform that ensures privacy and real-time messaging capabilities. πŸš€

Notifications You must be signed in to change notification settings

Ganeshshinde-2003/Flutter_WhatsApp_Clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WhatsApp Clone πŸ‘₯πŸ“±

This is a WhatsApp Clone project developed using Flutter and Firebase. It aims to replicate some of the core features of the popular messaging application WhatsApp, allowing users to send messages, create groups, and share media files.

Features πŸš€

  • User Registration and Login πŸ“²πŸ’‘: Users can create an account using their phone number and receive an OTP (One-Time Password) for verification.

  • Real-time Messaging πŸ’¬βš‘οΈ: Users can send and receive messages in real-time, with instant updates and synchronization across devices.

  • Chatting πŸ’¬πŸ“·πŸŽ₯: Users can send and receive text messages, images, videos, and GIFs in both one-on-one and group chats.

  • Group chats πŸ‘₯πŸ’¬: Users can create groups, add members, and have group conversations.

  • Message replies πŸ’¬β†©οΈ: Users can reply to specific messages in a conversation, providing context and facilitating threaded discussions.

  • Emoji and GIF support πŸ˜€πŸŽžοΈ: Users can add emojis and GIFs to their messages using a built-in picker.

  • Media sharing πŸ“·πŸŽ₯: Users can select images and videos from their device's gallery and share them in conversations.

  • Real-time updates ⚑️: Messages and chat lists are updated in real-time, providing a seamless messaging experience.

  • User contacts πŸ‘€πŸ“ž: Users can view and interact with their saved contacts, initiating chats with individual contacts or groups.

Screenshots πŸ“Έ

Here are some screenshots of the WhatsApp Clone app:

IMG-20230618-WA0007 IMG-20230618-WA0014 IMG-20230618-WA0015 IMG-20230618-WA0009 IMG-20230618-WA0010 IMG-20230618-WA0012 IMG-20230618-WA0012

Technologies Used πŸ› οΈ

Flutter πŸ“±: Flutter is an open-source UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase. It is used to develop the front-end of the WhatsApp Clone app, providing a cross-platform user interface.

Firebase πŸ”₯: Firebase is a comprehensive suite of cloud-based development tools provided by Google. In this project, Firebase is used for the following purposes:

  • Firebase Authentication πŸ”’: Handles user registration, login, and authentication. OTP verification is used for phone number login.

  • Firebase Realtime Database or Firestore πŸ—„οΈ: Stores and syncs chat messages, group data, and user information in real-time.

  • Firebase Cloud Storage ☁️: Stores media files such as images and videos shared within chats.

Getting Started πŸš€

To get started with the WhatsApp Clone app, follow these steps:

Clone the repository:

  https://github.com/Ganeshshinde-2003/Flutter_WhatsApp_Clone.git

Set up Firebase Project:

  • Create a new project in the Firebase console.

  • Enable Firebase Authentication and choose the desired authentication methods (e.g., phone number).

  • Set up Firebase Realtime Database or Firestore and configure the database rules.

  • Set up Firebase Cloud Storage and configure the storage rules.

  • Obtain the Firebase configuration details (API keys, database URL, storage bucket) and update them in the app's configuration files.

Install dependencies:

flutter pub get

Run the app:

flutter run

Dependencies

The following dependencies were used to build this app:

  • ⚑️ cupertino_icons: ^1.0.2 - Provides the Cupertino icons for iOS-style design.
  • πŸ”₯ firebase_auth: ^4.6.2 - Handles user authentication using Firebase Authentication.
  • πŸ—„οΈ firebase_storage: ^11.2.2 - Enables storing and retrieving files in Firebase Cloud Storage.
  • πŸ”₯ firebase_core: ^2.13.1 - Provides the core functionality for Firebase services.
  • πŸ—„οΈ cloud_firestore: ^4.8.0 - Allows interaction with the Firebase Cloud Firestore database.
  • 🌍 country_picker: ^2.0.20 - Provides a picker to select countries and their phone codes.
  • 🚿 riverpod: ^2.3.6 - A simple yet powerful state management library.
  • 🚿 flutter_riverpod: ^2.3.6 - Integration of Riverpod with Flutter.
  • πŸ–ΌοΈ image_picker: ^0.8.7+5 - Allows selecting images and videos from the device's gallery.
  • πŸ“š flutter_contacts: ^1.1.6 - Retrieves and displays user contacts.
  • πŸ†” uuid: ^3.0.7 - Generates unique IDs for documents and entities.
  • 🌐 intl: ^0.18.1 - Provides internationalization and localization support.
  • πŸ–ΌοΈ cached_network_image: ^3.2.3 - Caches network images to improve performance.
  • πŸŽ₯ cached_video_player: ^2.0.4 - Caches and plays videos from the network.
  • πŸ˜ƒ emoji_picker_flutter: ^1.6.1 - Provides an emoji picker for selecting emojis in the chat.
  • 🎞️ enough_giphy_flutter: ^0.4.0 - Integrates Giphy for adding animated GIFs to messages.
  • πŸŽ™οΈ flutter_sound: ^9.2.13 - Records and plays audio messages.
  • πŸ”‘ permission_handler: ^9.2.0 - Handles runtime permissions for accessing device features.
  • πŸ“‚ path_provider: ^2.0.15 - Retrieves paths to device directories for file storage.
  • πŸ”Š audioplayers: ^4.1.0 - Plays audio files with advanced options.
  • ↔️ swipe_to: ^1.0.2 - Implements swipe-to-delete and swipe-to-archive gestures.
  • πŸ”¦ story_view: ^0.14.0 - Displays stories with interactive gestures.

Contributing 🀝

Contributions to the WhatsApp Clone project are welcome and encouraged! If you find any bugs, have feature requests, or want to contribute in any way, please open an issue or submit a pull request.

About

πŸ“± My project aims to replicate the seamless messaging experience of WhatsApp using Flutter and Firebase, providing users with a reliable and feature-rich communication platform that ensures privacy and real-time messaging capabilities. πŸš€

Topics

Resources

Stars

Watchers

Forks