书籍应用
App and Up Flutter 家庭作业项目
简介
该项目是 App and Up Flutter Take Home Project 的实现。
要求
- 使用 Firebase Authentication(邮箱+至少一种社交方式)进行身份验证,所需屏幕的设计由您决定。
- 展示来自 Google Books API 的书籍列表
- 允许用户搜索图书
- 复制所提供的书籍列表页面的设计。
- 添加一个详情页显示所选图书的详细信息,设计由您决定。
- 允许用户通过将图书保存在 Firebase Firestore 数据库中来将其添加或移除收藏。
- 加分项:实现一个 Firebase Cloud Function 来做您认为对应用程序有价值的事情。
- 加分项:处理桌面/Web 上的应用程序响应性。
实现
该项目采用了类似于 MVVM 的自定义架构,其中
- ViewModels 被称为 notifiers
- 类依赖项使用 Riverpod Providers 进行管理
- 使用了 Riverpod 提供的特殊 provider,例如 StreamProvider、StateProviders
- 它使用了经典的 repository 方法
- 用于执行网络请求、无上下文导航等的服务也进行了分组
构建限制
- 该项目依赖于一个 API 密钥(用于调用图书 api),我已将其 gitignored,请生成一个 APIKey 并将其放在 lib/src/services/base/api_credentials.dart 文件中。
- Google Signin 也将在您添加有效的 SHA 1 密钥之前无法正常工作。
构建 Web 版本时
运行命令 flutter run -d chrome –web-port=5000 以使 Google Signin 工作。










