带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控制台(Authentication > Sign-in method > Email/Password > Edit > Enable > Save)中启用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