1
1
[ ![ Stand With Palestine] ( https://raw.githubusercontent.com/TheBSD/StandWithPalestine/main/banner-no-action.svg )] ( https://thebsd.github.io/StandWithPalestine )
2
2
3
3
4
- # 📱 Flutter WhatsApp-like Chat App
4
+ # 📱 Flutter WhatsApp-like Chat Chat App
5
5
6
6
## Overview
7
7
@@ -14,6 +14,7 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
14
14
<body>
15
15
<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;"/>
16
16
<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;"/>
17
18
</body>
18
19
</HTML >
19
20
@@ -22,12 +23,13 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
22
23
### SignUp using Email & Password Screen
23
24
<HTML >
24
25
<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;"/>
25
27
<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;"/>
26
28
<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;"/>
28
29
<br/>
29
30
<br/>
30
31
<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;"/>
31
33
<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;"/>
32
34
</body>
33
35
</HTML >
@@ -38,6 +40,7 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
38
40
39
41
<HTML >
40
42
<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;"/>
41
44
<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;"/>
42
45
<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;"/>
43
46
</body>
@@ -49,8 +52,12 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
49
52
50
53
<HTML >
51
54
<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;"/>
52
56
<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;"/>
53
57
<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/>
54
61
<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;"/>
55
62
</body>
56
63
</HTML >
@@ -60,6 +67,7 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
60
67
### Reset Password Screen
61
68
<HTML >
62
69
<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;"/>
63
71
<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;"/>
64
72
<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;"/>
65
73
</body>
@@ -70,8 +78,9 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
70
78
### Home Screen
71
79
<HTML >
72
80
<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;"/>
75
84
</body>
76
85
</HTML >
77
86
@@ -80,8 +89,9 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
80
89
### Settings Screen
81
90
<HTML >
82
91
<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;"/>
85
95
</body>
86
96
</HTML >
87
97
@@ -90,20 +100,28 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
90
100
### Chat Screen
91
101
<HTML >
92
102
<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;"/>
96
110
</body>
97
111
</HTML >
98
112
99
113
---
100
114
101
- ### Camera Screen
115
+ ### Select Image
102
116
<HTML >
103
117
<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;"/>
107
125
</body>
108
126
</HTML >
109
127
@@ -112,8 +130,9 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
112
130
### Local Auth Screen (Fingerprint & FaceID)
113
131
<HTML >
114
132
<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;"/>
117
136
</body>
118
137
</HTML >
119
138
@@ -155,38 +174,47 @@ This Flutter project is a chat application inspired by WhatsApp. The app feature
155
174
156
175
- ** Security:**
157
176
- 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.
159
178
- Lock screen request after multiple unsuccessful attempts.
160
179
161
180
- ** Settings:**
162
181
- Accessible from the home page's three dots menu.
163
182
- Option to enable/disable app lock with a Cupertino switch.
183
+ - Option to Change App Language
164
184
165
185
- ** Camera Integration:**
166
186
- Capture high-quality photos using the device's camera.
167
187
- Save pictures on the device.
188
+ - Send photos
168
189
169
190
## Dependencies
170
191
171
192
- ` 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 .
173
194
- ` chat_bubbles ` : Simplifies chat message UI creation.
174
195
- ` cloud_firestore ` : Integrates with Firebase Firestore for data storage and retrieval.
175
196
- ` 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 .
177
198
- ` firebase_auth ` : Manages user authentication with Firebase.
178
199
- ` firebase_core ` : Initializes the Firebase connection.
179
200
- ` firebase_messaging ` : Enables FCM for notifications.
201
+ - ` firebase_storage ` : Plugin for Firebase Cloud Storage.
180
202
- ` 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.
181
204
- ` flutter_offline ` : Handles offline connectivity scenarios.
182
205
- ` 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.
183
208
- ` gap ` : Simplifies spacing management in layouts.
184
209
- ` google_sign_in ` : Facilitates Google Sign-In authentication.
185
210
- ` 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.
186
212
- ` intl ` : Internationalization and localization support.
187
213
- ` local_auth ` : Enables fingerprint and Face ID authentication.
188
214
- ` logger ` : Assists with logging messages for debugging.
189
215
- ` 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.
190
218
- ` lottie ` : Render After Effects animations natively on Flutter.
191
219
- ` package_info_plus ` : Querying information about the application package.
192
220
- ` pub_semver ` : in this App to compare versions.
@@ -224,31 +252,50 @@ I have made custom modifications to the `chat_bubbles` package
224
252
225
253
#### Implementation Details
226
254
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:
228
256
229
257
```
258
+ removeable/bubble_normal_image.dart
230
259
removeable/bubble_special_three.dart
260
+ removeable/date_chip.dart
261
+ removeable/message_bar.dart
231
262
```
232
263
233
264
#### How to Apply Changes
234
265
235
- 1 . Download the edited ` bubble_special_three.dart ` file .
266
+ 1 . Download the edited files .
236
267
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 .
238
269
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\
240
278
```
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\
242
283
```
243
- - Delete the existing `bubble_special_three.dart` file and replace it with the downloaded file from my repository.
244
284
245
285
---
246
286
247
- 7. Update app's launcher icon:
287
+ 7. Update the app's launcher icon:
288
+
248
289
```bash
249
290
dart run flutter_launcher_icons
250
291
```
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:
252
299
253
300
``` bash
254
301
flutter run
0 commit comments