混合、函数式和设计精美的聊天应用:Flutter Social Chat
由 Stream 赞助!
如果您想阅读有关此项目的文章,有一篇由我撰写并由 Stream 赞助的文章。链接在此:https://gstrm.io/sahinefe
单一应用中的独特功能集
-
BLoC 用于状态管理
-
DDD 架构
-
Navigator 2.0 (GoRouter)
-
依赖注入
-
2 种不同的流行服务 (Firebase & GetStream)
-
GetStream 用法的 2 种不同呈现方式(来自 GetStream 包的准备好的 UI 和结合了核心包的手动 UI)
-
来自官方 Flutter 文档的本地化
-
来自 Flutter 本身的官方 Camera Plugin
-
本地存储 (Hydrated Bloc)
-
网络连接检查器
视频教程 (YouTube)
您还可以通过 YouTube 观看与 Flutter Social Chat 相关的播放列表:https://www.youtube.com/watch?v=r9MtCK33J78&list=PL3PvZdDvJcMIixstKkuvLWQleqJ1VhLrf
应用中的图片
开始之前:使用前请阅读!
— 由于 Firebase 项目密钥是私有的,我通常不分享它们,但为了教程目的,我将“firebase.options.dart”文件作为示例提供给您。如果您想使用此应用程序,首先必须完成“GetStream”和“Firebase”的必要设置。您无法直接运行该应用程序。如果您 fork,您将需要 GetStream 部分的 appKey 和 devtoken,以及来自 Firebase 本身的“firebase_options.dart”文件。
-
对于 GetStream,您可以免费注册:https://getstream.io/try-for-free/
-
此外,要创建 devToken,您可以访问此链接:https://getstream.io/chat/docs/flutter-dart/token_generator/?language=dart
-
对于“Firebase”,您也可以免费注册,然后完成必要的步骤。之后,您需要创建一个 Firebase 项目供此项目使用。注册请访问:https://firebase.google.com
— 另外,您应该知道,此应用程序的登录部分来自我的另一个开源项目,即“phone_number_sign_in_cubit”项目。
您也可以在这里找到相关的项目:https://github.com/alperefesahin/phone_number_sign_in_cubit
测试
— 对于这个开源应用程序,集成、组件和单元测试将很快推出…
包
您应该指定下面相关包的版本。
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:




















