Skip to content

Mohamed-Essam-Mohamed/CHAT-APP

Repository files navigation

CHAT APP

using Firebase(Auth - cloud firestore), MVVM design pattern, and Provider for state management.

🚀 Getting Started

  • The user can sign in using Email and password.
  • He can create a room of three different types (Music, Movies, or sports).
  • Two tabs, one showing all the rooms in the database and a tab showing the rooms the user enters.
  • The user can enter and the number of members of the joined room gets incremented, he can also leave, and the number decreases.
  • The app listens continuously for the internet, if the user's internet is disconnected a little disconnected WIFI Icon is shown instead of the send icon.
  • DateTime.now() isn't good for syncing messages between different devices with different date times, so I used "FieldValue.servertimestamp()" to sync messages using a server-generated Time

🤳 Screens

  • Splash Screen: Adding a splash screen to your Android app.
  • Splash Screen Animation: simple animation used by timer.
  • Authentication Screen: The user can sign in using Email and password, and create an account.
  • **Home Screen:**It contains my groups and Browse, my groups It includes the meals that were created by me, browse Contains all the application options.
  • **Join Screen:**It contains the details of the group such as the name, owner, description, and type of Group.
  • Add Group Screen: He can create a room of three different types (Music, Movies, or sports).
  • Chat Screen: talking and dating between members with ease and listening to opinions and comments about the content of the group.

📁 Files Structure

files Structure chat app

📱 UI

Frame 1

🎥 Video

Record.2024.06.23.20.57.57.924.mp4
Record.2024.06.23.23.11.57.116.mp4

🛠 Dependencies

 dependencies:
  cloud_firestore: ^5.0.0
  cupertino_icons: ^1.0.6
  firebase_auth: ^5.0.0
  firebase_core: ^3.0.0
  flutter:
    sdk: flutter
  flutter_screenutil: ^5.9.3
  flutter_svg: ^2.0.10+1
  gap: ^3.0.1
  google_fonts: ^6.2.1
  grouped_list: ^5.1.2
  intl: ^0.19.0
  lottie: ^3.1.2
  provider: ^6.1.2
  shared_preferences: ^2.2.3

dev_dependencies:
  flutter_lints: ^3.0.0
  flutter_test:
    sdk: flutter
  • Contributions are welcome 💜
  • If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors