11[ ![ Stand With Palestine] ( https://raw.githubusercontent.com/TheBSD/StandWithPalestine/main/banner-no-action.svg )] ( https://thebsd.github.io/StandWithPalestine )
22
33
4- # 📱 Flutter WhatsApp-like Chat App
4+ # 📱 Flutter WhatsApp-like Chat Chat App
55
66## Overview
77
@@ -14,6 +14,7 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
1414 <body>
1515 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/7c602d05-8f31-4d3c-8d68-c565cedbb167" alt="drawing" style="width:250px;"/>
1616 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/05f671fa-1307-4998-ab9a-0f4c073aae74" alt="drawing" style="width:250px;"/>
17+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/56647ac8-b9fd-41f4-9aa9-e531b6b6607c" alt="drawing" style="width:250px;"/>
1718 </body>
1819</HTML >
1920
@@ -22,12 +23,13 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
2223### SignUp using Email & Password Screen
2324<HTML >
2425 <body>
26+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/6a7407df-504c-41f2-94f2-5668a14e685b" alt="drawing" style="width:250px;"/>
2527 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/1cc7b06d-f7b2-4ea8-8895-faa002588433" alt="drawing" style="width:250px;"/>
2628 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/6898582c-fe9f-4168-acd1-55e15219fdfb" alt="drawing" style="width:250px;"/>
27- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/e12a3e09-384f-4ae7-af0d-159c87be9ec9" alt="drawing" style="width:250px;"/>
2829 <br/>
2930 <br/>
3031 <br/>
32+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/e12a3e09-384f-4ae7-af0d-159c87be9ec9" alt="drawing" style="width:250px;"/>
3133 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/9e1f9c54-a438-4e4e-a3a8-c7f84a63466a" alt="drawing" style="width:250px;"/>
3234 </body>
3335</HTML >
@@ -38,6 +40,7 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
3840
3941<HTML >
4042 <body>
43+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/e9154925-34bb-4aa7-86a2-0031c540d444" alt="drawing" style="width:250px;"/>
4144 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/c950c7dc-f50c-4c9c-975e-f7e6abd60ba6" alt="drawing" style="width:250px;"/>
4245 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/472d4063-88a9-488d-9a77-96bb16e5432d" alt="drawing" style="width:250px;"/>
4346 </body>
@@ -49,8 +52,12 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
4952
5053<HTML >
5154 <body>
55+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/817baebb-6dcc-4acb-a121-2b40bc279acb" alt="drawing" style="width:250px;"/>
5256 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/f611aabb-3a7a-40d3-9913-34d82c49ff14" alt="drawing" style="width:250px;"/>
5357 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/cad93a1c-538f-4e31-b19b-a6ba890ee6e6" alt="drawing" style="width:250px;"/>
58+ <br/>
59+ <br/>
60+ <br/>
5461 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/9bd02d42-86a9-4195-a9b1-7aeaaed92f2e" alt="drawing" style="width:250px;"/>
5562 </body>
5663</HTML >
@@ -60,6 +67,7 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
6067### Reset Password Screen
6168<HTML >
6269 <body>
70+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/066c809b-f7a1-4a02-94b5-48aa9b06f6fc" alt="drawing" style="width:250px;"/>
6371 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/e112a7fe-be28-40a8-b108-8f7d0def4556" alt="drawing" style="width:250px;"/>
6472 <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/7d3ff005-98f6-483c-9c5f-b476eda97c18" alt="drawing" style="width:250px;"/>
6573 </body>
@@ -70,8 +78,9 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
7078### Home Screen
7179<HTML >
7280 <body>
73- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/9de3efd6-2790-41bd-b055-5bfac3b4b4ff" alt="drawing" style="width:250px;"/>
74- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/78bf351e-817f-462e-97a6-ca1f82d5b472" alt="drawing" style="width:250px;"/>
81+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/728643a7-dae5-4afd-843f-cc52c782cc1b" alt="drawing" style="width:250px;"/>
82+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/fca11d40-e36e-467b-aeb3-fd7c71d2d3d4" alt="drawing" style="width:250px;"/>
83+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/c7730983-4dbf-4f5a-82bf-3d7ebd420958" alt="drawing" style="width:250px;"/>
7584 </body>
7685</HTML >
7786
@@ -80,8 +89,9 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
8089### Settings Screen
8190<HTML >
8291 <body>
83- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/e56de1c9-dabc-473e-8013-cac03ce3f5ee" alt="drawing" style="width:250px;"/>
84- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/41ef5328-6bf6-444f-914d-beb739091d6d" alt="drawing" style="width:250px;"/>
92+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/0903c423-ae48-4e4f-b824-35e66b95859a" alt="drawing" style="width:250px;"/>
93+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/961764ab-aa39-4358-9c49-46642c61a25b" alt="drawing" style="width:250px;"/>
94+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/5c4007b0-e594-468c-94e8-2fb7d46aacb4" alt="drawing" style="width:250px;"/>
8595 </body>
8696</HTML >
8797
@@ -90,20 +100,28 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
90100### Chat Screen
91101<HTML >
92102 <body>
93- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/59048556-34bc-4f75-bc40-19a588518f33" alt="drawing" style="width:250px;"/>
94- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/631b39e8-a739-45c6-81ba-2f50b902b69f" alt="drawing" style="width:250px;"/>
95- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/629b9897-f87b-4bfd-b3fd-1b36637d81ab" alt="drawing" style="width:250px;"/>
103+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/05581d7d-1543-47df-a42b-9c076effdc6f" alt="drawing" style="width:250px;"/>
104+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/3d138ba2-cd1f-4cb4-bb4c-afc56cc72387" alt="drawing" style="width:250px;"/>
105+ <br/>
106+ <br/>
107+ <br/>
108+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/5d4b01b8-8aeb-43ab-935c-0fd57077eb80" alt="drawing" style="width:250px;"/>
109+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/c5917daa-66dc-4ccf-9d04-67384061609d" alt="drawing" style="width:250px;"/>
96110 </body>
97111</HTML >
98112
99113---
100114
101- ### Camera Screen
115+ ### Select Image
102116<HTML >
103117 <body>
104- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/eae1a293-cece-4e88-8e59-b27afe9e3c94" alt="drawing" style="width:250px;"/>
105- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/a2fb8799-0ea0-4ea4-8ac0-8447ec6d2553" alt="drawing" style="width:250px;"/>
106- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/dc9194b9-5375-488f-8df4-b2e713c2ff6d" alt="drawing" style="width:250px;"/>
118+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/bcce51d3-1d24-4819-977d-33a939f32dfc" alt="drawing" style="width:250px;"/>
119+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/1b4345a9-0057-42af-b4de-59b2d3b6ef67" alt="drawing" style="width:250px;"/>
120+ <br/>
121+ <br/>
122+ <br/>
123+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/029149ef-bfd5-48ae-8cf7-fb0fd2c8fc92" alt="drawing" style="width:250px;"/>
124+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/9e93edda-23f3-47ca-9ed8-bdab22389e0c" alt="drawing" style="width:250px;"/>
107125 </body>
108126</HTML >
109127
@@ -112,8 +130,9 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
112130### Local Auth Screen (Fingerprint & FaceID)
113131<HTML >
114132 <body>
115- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/6616b902-7ac5-4249-83dc-cb54c314d153" alt="drawing" style="width:250px;"/>
116- <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/b5d6f62c-12c9-44bf-ab6d-d95a52f340df" alt="drawing" style="width:250px;"/>
133+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/5031ade5-8105-4467-af19-09077cf56091" alt="drawing" style="width:250px;"/>
134+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/9c160fa2-3247-472d-a0e2-709bf87fbad3" alt="drawing" style="width:250px;"/>
135+ <img src="https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like/assets/75115429/0a3a969c-c2f7-455e-8ed7-f8b374eb05f2" alt="drawing" style="width:250px;"/>
117136 </body>
118137</HTML >
119138
@@ -155,38 +174,47 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
155174
156175- ** Security:**
157176 - App lock feature using fingerprint or face ID with ` local_auth ` package.
158- - Fingerprint/face ID attempts limited to prevent unauthorized access.
177+ - Fingerprint/face ID attempts are limited to prevent unauthorized access.
159178 - Lock screen request after multiple unsuccessful attempts.
160179
161180- ** Settings:**
162181 - Accessible from the home page's three dots menu.
163182 - Option to enable/disable app lock with a Cupertino switch.
183+ - Option to Change App Language
164184
165185- ** Camera Integration:**
166186 - Capture high-quality photos using the device's camera.
167187 - Save pictures on the device.
188+ - Send photos
168189
169190## Dependencies
170191
171192- ` awesome_dialog ` : Provides versatile dialogs for various use cases.
172- - ` camera ` : Enables camera interaction and image capture .
193+ - ` cached_network_image ` : Library to load and cache network images .
173194- ` chat_bubbles ` : Simplifies chat message UI creation.
174195- ` cloud_firestore ` : Integrates with Firebase Firestore for data storage and retrieval.
175196- ` dio ` : HTTP client for making API requests.
176- - ` eva_icons_flutter ` : Provides additional icons beyond the core Flutter icons .
197+ - ` easy_localization ` : Internationalizing and localization App .
177198- ` firebase_auth ` : Manages user authentication with Firebase.
178199- ` firebase_core ` : Initializes the Firebase connection.
179200- ` firebase_messaging ` : Enables FCM for notifications.
201+ - ` firebase_storage ` : Plugin for Firebase Cloud Storage.
180202- ` flutter_local_notifications ` : Presents local notifications when the app is in the foreground.
203+ - ` flutter_native_splash ` : Customize the App's default white native splash screen with background color and splash image.
181204- ` flutter_offline ` : Handles offline connectivity scenarios.
182205- ` flutter_screenutil ` : Adapts UI elements to different screen sizes.
206+ - ` flutter_speed_dial ` : Plugin to implement a beautiful and dynamic Material Design Speed Dial with labels.
207+ - ` flutter_svg ` : An SVG rendering and widget library.
183208- ` gap ` : Simplifies spacing management in layouts.
184209- ` google_sign_in ` : Facilitates Google Sign-In authentication.
185210- ` googleapis_auth ` : Obtain Access credentials for Google services using OAuth 2.0.
211+ - ` image_picker ` : Plugin for selecting images from the image library, and taking new pictures with the camera.
186212- ` intl ` : Internationalization and localization support.
187213- ` local_auth ` : Enables fingerprint and Face ID authentication.
188214- ` logger ` : Assists with logging messages for debugging.
189215- ` shared_preferences ` : Stores simple data locally on the device.
216+ - ` pretty_dio_logger ` : A Dio interceptor that logs network calls in a pretty, easy-to-read format.
217+ - ` modal_bottom_sheet ` : Create awesome and powerful modal bottom sheets.
190218- ` lottie ` : Render After Effects animations natively on Flutter.
191219- ` package_info_plus ` : Querying information about the application package.
192220- ` pub_semver ` : in this App to compare versions.
@@ -224,31 +252,50 @@ I have made custom modifications to the `chat_bubbles` package
224252
225253#### Implementation Details
226254
227- I have already uploaded the edited ` bubble_special_three.dart ` file to my project. You can find it in the following path:
255+ I have already uploaded the edited files to my project. You can find it in the following path:
228256
229257```
258+ removeable/bubble_normal_image.dart
230259removeable/bubble_special_three.dart
260+ removeable/date_chip.dart
261+ removeable/message_bar.dart
231262```
232263
233264#### How to Apply Changes
234265
235- 1 . Download the edited ` bubble_special_three.dart ` file .
266+ 1 . Download the edited files .
236267
237- 2 . Replace the existing ` bubble_special_three.dart ` file in your Flutter project with the downloaded file .
268+ 2 . Replace the existing files in your Flutter project with the downloaded files .
238269
239- - navigate to:
270+ - For ` bubble_special_three.dart ` and ` bubble_normal_image.dart ` , navigate to:
271+ ```
272+ %LocalAppData%\Pub\Cache\hosted\pub.dev\chat_bubbles-1.5.0\lib\bubbles\
273+ ```
274+
275+ - For `date_chip.dart`, navigate to:
276+ ```
277+ %LocalAppData%\Pub\Cache\hosted\pub.dev\chat_bubbles-1.5.0\lib\date_chips\
240278 ```
241- %LocalAppData%\Pub\Cache\hosted\pub.dev\chat_bubbles-1.6.0\lib\bubbles\bubble_special_three.dart
279+
280+ - For `message_bar.dart`, navigate to:
281+ ```
282+ %LocalAppData%\Pub\Cache\hosted\pub.dev\chat_bubbles-1.5.0\lib\message_bars\
242283 ```
243- - Delete the existing `bubble_special_three.dart` file and replace it with the downloaded file from my repository.
244284
245285---
246286
247- 7. Update app's launcher icon:
287+ 7. Update the app's launcher icon:
288+
248289```bash
249290dart run flutter_launcher_icons
250291```
251- 8 . Run the app:
292+ 8 . Update the app's splash screen:
293+
294+ ``` bash
295+ dart run flutter_native_splash:create --path=flutter_native_splash.yaml
296+ ```
297+
298+ 9 . Run the app:
252299
253300``` bash
254301flutter run
0 commit comments