使用 Flutter 和 Firebase 的时间跟踪应用

一个使用 Flutter 和 Firebase 构建的时间追踪应用程序

这是我基于 Riverpod 架构 的**参考应用**。

注意:此项目以前称为“Flutter & Firebase 的入门架构”(基于这篇 旧文章)。截至 2023 年 1 月,它遵循我更新的 Riverpod 架构,并使用了最新的软件包。

Flutter Web 预览

此应用的 Flutter Web 预览可在此处查看。

功能

  • 简单的引导页
  • 完整的认证流程(使用电子邮件和密码)
  • 工作:用户可以查看、创建、编辑和删除他们自己的私人工作(每项工作都有名称和时薪)
  • 记录:对于每项工作,用户可以查看、创建、编辑和删除相应的记录(记录是一项任务,包含开始和结束时间,以及可选的评论)
  • 报告页面,显示所有工作的每日明细、工作时长和收入,以及总计。

所有数据都通过 Firestore 持久化,并在多个设备之间保持同步。

路线图

  • 添加缺失的测试
  • 状态化嵌套导航(自 GoRouter 7.1 起可用)
  • 在应用中一致地使用控制器/通知器(部分代码仍需更新)
  • 添加本地化
  • 在适用的地方使用新的 Firebase UI 软件包
  • 响应式 UI

这是一个暂定的路线图。以上任何一项都没有预估时间。这是一个低优先级的项目,我没有太多时间来维护它。

相关文章

该应用基于我的 Flutter Riverpod 架构,这在此处有详细解释。

有关 Riverpod 的更多信息,请阅读此文。

使用的软件包

以下是应用中使用的主要软件包

有关完整列表,请参阅 pubspec.yaml 文件。

使用 Firebase 运行项目

要将此项目与 Firebase 配合使用,请按照以下步骤操作:

  • 使用 Firebase 控制台创建一个新项目
  • 在 Firebase 控制台(认证 > 登录方法 > 电子邮件/密码 > 编辑 > 启用 > 保存)中启用 Firebase 认证以及电子邮件/密码认证登录提供商。
  • 启用 Cloud Firestore。

然后,按照以下两种方法之一进行操作。?

1. 使用 CLI

确保您已安装 Firebase CLI 和 FlutterFire CLI

然后从项目根目录在终端中运行此命令:

  • 运行 firebase login,以便您可以访问您创建的 Firebase 项目。
  • 运行 flutterfire configure 并按照所有步骤操作。

有关更多信息,请遵循本指南:

2. 手动方式(不推荐)

如果您不想使用 FlutterFire CLI,请改用以下步骤:

  • 在 Firebase 项目设置中单独注册 iOS、Android 和 Web 应用。
  • 在 Android 上,使用 com.example.starter_architecture_flutter_firebase 作为包名。
  • 然后,下载并复制 google-services.jsonandroid/app
  • 在 iOS 上,使用 com.example.starterArchitectureFlutterFirebase 作为捆绑 ID。
  • 然后,下载并复制 GoogleService-Info.plistiOS/Runner,并将其添加到 Xcode 中的 Runner 目标。

就是这样。祝您使用愉快!

许可证:MIT

GitHub

查看 Github