书籍应用

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 工作。

在此处查找应用截图

register
login
forgot_password
google_signin

books
book_details
favorite_books

profile
update_profile
update_password
update_email_address

GitHub

查看 Github