Skip to content

Instant Messaging Cross Platform App using Flutter, Dart, BLoC, Firebase Cloud Firsetore, and Cloud Storage

Notifications You must be signed in to change notification settings

hassan-amr/First-Chat-Mobile-Cross-Platform-App-using-Flutter-BLoC-Firebase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

First-Chat-Mobile-Cross-Platform-App-using-Flutter-BLoC-Firebase

✅ Contact Me / My Profiles

Hi there, I'm Eng. Hassan Amr 👋

                       

✅ About the App

➡️ First Chat App is a Mobile Cross Platform App that fully supports Android, IOS, and Web platforms; I finished developing it in Mar. 2024. I built it to better understand & gain more experience in

  • Flutter Framework
  • BLoC & Cubit Design Pattern
  • State Management
  • Clean Architecture
  • Chat Apps

➡️ And I was able to accomplish the above, using

  • Dart Programming Language
  • Flutter Framework
  • BLoC Library
  • Firebase Cloud Firestore
  • Firebase Cloud Storage Database

➡️ App Features

  • Create Account and Sign In
  • Update profile name, about, and picture
  • Search and Add contacts
  • View contact profile
  • Chat with contacts
  • List of all chats
  • Send messages, images, and videos in the chat
  • Read recepients (Sent, Delivered, Read)
  • Delete messages (For me, For every one)
  • Emoji keyboard
  • Select and send multiple media at once

✅ System Block Diagram, Firestore Database Schema, and Project Files Structure

➡️ In order to build and structure my project correctly and effeciently, I read, studied and followed these official documentations

System Block Diagram Firestore Database Schema
Project Files Structure

✅ Libraries Used

dependencies:
  flutter:
    sdk: flutter
  bloc: ^8.1.2
  flutter_bloc: ^8.1.3

  cupertino_icons: ^1.0.2
  fluttertoast: ^8.2.2
  google_nav_bar: ^5.0.6
  line_icons: ^2.0.3

  firebase_core: ^2.15.0
  cloud_firestore: ^4.8.4
  firebase_storage: ^11.2.5

  image_picker: ^1.0.1
  video_player: ^2.3.8
  carousel_slider: ^4.2.1
  share_plus: ^7.2.2

  flutter_secure_storage: ^8.0.0
  emoji_picker_flutter: ^1.6.4
  crypto: ^3.0.3
  permission_handler: ^10.4.3

✅ App Screenshots