https://github.com/flutterwiz/flutter_social_chat
Open-Source Social Chat App with the Popular Packages
https://github.com/flutterwiz/flutter_social_chat
camera chat dart firebase flutter getstream social stream
Last synced: about 1 month ago
JSON representation
Open-Source Social Chat App with the Popular Packages
- Host: GitHub
- URL: https://github.com/flutterwiz/flutter_social_chat
- Owner: FlutterWiz
- Created: 2022-11-01T08:04:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-27T19:58:03.000Z (3 months ago)
- Last Synced: 2025-04-04T12:05:27.016Z (about 1 month ago)
- Topics: camera, chat, dart, firebase, flutter, getstream, social, stream
- Language: Dart
- Homepage:
- Size: 8.32 MB
- Stars: 115
- Watchers: 3
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hybrid, Functional, and Nice Designed Chat App: Flutter Social Chat
[!] Note that main branch is under maintenance. Use "2022-version" named branch instead.
## Sponsored by Stream
> If you want to read an article about this project, there is an article that is written by me and sponsored by [Stream](https://getstream.io/chat/flutter/tutorial/?utm_source=GitHub&utm_medium=referral&utm_content=&utm_campaign=flutter_social_chat). Here is the link: https://gstrm.io/sahinefe

## Distinctive features gathered in a Single App
* BLoC for state management* DDD Architecture
* Navigator 2.0 (GoRouter)
* Dependency Injection
* 2 Different, popular services (Firebase & GetStream)
* 2 Different presentations of the GetStream usage (Prepared UI which is coming from the GetStream Package and Manuel UI that's combined with the core package)
* Localization from official Flutter docs
* Official Camera Plugin from the Flutter itself
* Local Storage (Hydrated Bloc)
* Internet Connection Checker
## Video Tutorial (YouTube)
You can also watch the playlist which is related to Flutter Social Chat via YouTube: https://www.youtube.com/watch?v=r9MtCK33J78&list=PL3PvZdDvJcMIixstKkuvLWQleqJ1VhLrf

## Images from the App
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
## Before Beginning: READ BEFORE USING!
-- Since the firebase project keys are private, I do not share them generally, but for the tutorial purpose, I share "firebase.options.dart" file as an example for you. If you want to use this application, first you must complete the necessary setups for the "GetStream" and "Firebase". You can not run the application directly If you fork, you will need appKey and devtoken for the "GetStream" section, and "firebase_options.dart" file that is coming from the Firebase itself.
* For the GetStream, you can register for free: https://getstream.io/try-for-free/
* Also to create devToken, you can visit the link: https://getstream.io/chat/docs/flutter-dart/token_generator/?language=dart
* For the "Firebase", you can also register for free, and then complete necessary steps. After that, you will need to create a firebase project to use in this project. To register, visit: https://firebase.google.com
-- Also, you should know, sign-in section of this application is coming from my other open source project that is actually "phone_number_sign_in_cubit" project.
You can also find the related project here: https://github.com/alperefesahin/phone_number_sign_in_cubit
## Testing
-- For this open-source app, the integration, widget, unit tests will exist coming soon...## Packages
You should specify the version of the related packages below.```dart
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
auto_size_text:
intl_phone_number_input:
go_router:
wave:
pin_code_fields:
bot_toast:
progress_indicators:
flutter_expandable_fab:
cupertino_icons:
image_picker:
camera:
flutter_svg:
animated_text_kit:
rounded_loading_button:
cached_network_image:
awesome_icons:
date_format:
page_transition:
permission_handler:
image:
path_provider:
connectivity_plus:flutter_bloc:
hydrated_bloc:
freezed_annotation:
json_annotation:
injectable:
get_it:
fpdart:
uuid:firebase_core:
firebase_auth:
firebase_storage:
cloud_firestore:stream_chat_flutter:
dev_dependencies:
flutter_test:
sdk: flutter
lint:
build_runner:
freezed:
injectable_generator:
json_serializable:
```