instagram-dogy
aka dodogy
一款以狗狗为主题的 Instagram 社交网络,用于消息传递、发布动态、寻找朋友以及为狗狗世界增添色彩。
代码质量免责声明
此存储库展示了 Flutter 的各种可能性。它肯定会影响一个人
放弃原生/旧代码框架,加入 Flutter 艺术社区。
功能
- 基于你关注的人的自定义照片流(使用 Firebase 云函数)
- 从相机或相册发布高质量的视频和照片帖
- 点赞帖子
- 评论帖子
- 查看帖子的所有评论
- 搜索用户
- 点赞、评论、关注等的通知
- 动画(点赞图片时的心形动画)
- 改进了用户资料、图片等的缓存
- 更好的帖子创建,为你的图片添加滤镜
- 自定义相机实现
- Firebase 安全规则
- 删除帖子
- 直接消息
- 动态
- 个人资料页面
- 关注/取消关注用户
- 将图片视图从网格布局更改为流式布局
- 添加你自己的个人简介
- 显示最近点赞/评论的帖子以及新关注者的活动流
截图
依赖项
- Flutter
- Firestore
- 图片选择器
- Google 登录
- Firebase 认证
- UUID
- Dart Image
- Path Provider
- Font Awesome
- Dart HTTP
- Dart Async
- Flutter Shared Preferences
- Cached Network Image
入门
1. 设置 Flutter
2. 克隆存储库
$ git clone https://github.com/vorishirne/instagram-dogy
$ cd instagram-dogy
3. 设置 Firebase 应用
- 你需要创建一个 Firebase 实例。请遵循 https://console.firebase.google.com 上的说明。
- 创建 Firebase 实例后,你需要启用 Google 身份验证。
- 转到新实例的 Firebase 控制台。
- 在左侧菜单中点击“身份验证”
- 点击“登录方法”选项卡
- 点击“Google”并启用它
- 创建云函数(用于实现 Feed 功能)
- 使用
firebase init创建一个新的 Firebase 项目 - 将此项目的
functions/lib/index.js复制到你的 Firebase 项目的functions/index.js - 使用
firebase deploy --only functions部署getFeed函数。在输出中,你将看到 getFeed 的 URL,请复制它。 - 在
feed.dart文件中的_getFeed函数中,将 URL 替换为你上一步获取的云函数 URL。
你可能需要通过运行 firebase functions:log 然后点击链接来创建必要的索引
如果你没有收到任何错误,但 Feed 是空的,你必须发布照片或关注有帖子的用户,因为 getFeed 函数只返回你自己的帖子以及你关注的人的帖子。
- 启用 Firebase 数据库。
- 转到 Firebase 控制台。
- 在左侧菜单中点击“数据库”
- 点击 Cloudstore 的“创建数据库”按钮
- 选择“以测试模式开始”并“启用”
- (如果不在 Android 上运行,则跳过)
- 为 Android 创建一个 Firebase 实例应用,包名设置为 com.yourcompany.news
- 运行以下命令获取您的 SHA-1 密钥。
keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
- 在 Firebase 控制台中,在你 Android 应用的设置中,通过点击“添加指纹”来添加你的 SHA-1 密钥。
- 按照说明下载 google-services.json。
- 将
google-services.json放入/android/app/。
- (如果不在 iOS 上运行,则跳过)
- 在 Firebase 实例中为 iOS 创建一个应用,使用您的应用包名。
- 按照说明下载 GoogleService-Info.plist。
- 打开 XCode,右键单击 Runner 文件夹,选择“将文件添加到‘Runner’”菜单,然后选择 GoogleService-Info.plist 文件将其添加到 XCode 中的 /ios/Runner
- 在文本编辑器中打开 /ios/Runner/Info.plist。找到 CFBundleURLSchemes 键。此键的值数组中的第二个项目特定于 Firebase 实例。将其替换为 GoogleService-Info.plist 中 REVERSED_CLIENT_ID 的值。
仔细检查两者的安装说明
- Google Auth 插件
- Firestore 插件
下一步?
- 点赞、评论、关注等的通知
- 动画(点赞图片时的心形动画)
- 改进了用户资料、图片等的缓存
- 更好的帖子创建,为你的图片添加滤镜
- 自定义相机实现
- Firebase 安全规则
- 删除帖子
- 直接消息
- 动态
- 清理代码









