Fund Tracker
一款用于预算和跟踪交易的 Flutter 应用程序。
我创建这个是因为找不到任何允许自定义或四周周期的应用程序。
它允许使用 Firebase 进行身份验证,并使用 Firestore 作为云数据库,同时使用设备的本地数据库作为备份。
功能包括
- 统计
- 自定义周期
- 周期性交易
- 自定义类别
- 筛选器
等等...
运行方法
要构建此应用程序并将其运行在您的设备或模拟器上,您需要
- Flutter
- Android SDK
- 如果您想运行 iOS,则需要 XCode
请遵循此处的说明进行设置:https://flutterdart.cn/docs/get-started/install。
演示
第一个屏幕是登录页面。

点击“注册”来创建一个用户。

或者,您也可以使用现有凭据登录。

主页是交易列表。

让我们添加一笔交易。我从 Play Store 购买了一个应用程序,花费了 1.99 美元。

我还可以从预设类别中选择。让我们选择“游戏与应用”。

我还想添加一笔收入。我以 5000 美元的价格卖掉了我的汽车。我选择了“交通”作为类别。

假设我想为我卖掉的东西创建一个自定义类别。
让我们打开菜单并转到“类别”。
此页面显示所有类别的列表。
您可以通过选择/取消选择各个类别来决定是否在交易页面上显示这些类别,并更改其在下拉列表中显示的顺序。


但我们在这里是创建一个新类别,所以点击浮动的 + 按钮。
在类别创建/编辑页面,您可以指定名称、图标(来自 MaterialIcons)和颜色。

![]()


点击“添加”,它就会出现在列表的底部!

如果您愿意,可以点击每个类别进行编辑。
现在,让我们回到汽车交易并更改类别。
在类别下拉列表中,您可以看到“已售物品”现在可用。
选择类别,保存,交易就已更新。


我刚刚又从 Play Store 购买了一个应用程序,并希望添加一笔交易。
当我开始输入时,过去以相同名称开头的交易就会被建议。
选择建议。名称和类别会自动为您更改。输入其余详细信息并保存。


现在您有了一些交易,让我们来看看我们的统计数据。
您可以向左滑动或点击“统计”。

有三个主要视图
- 总计
- 周期
- 自定义
“总计”选项卡显示您第一次交易以来的统计数据。
“周期”选项卡显示周期性统计数据,您可以从下拉列表中选择。
“自定义”选项卡显示可在“偏好设置”中设置的交易范围内的统计数据,或者您可以使用日期选择器选择要显示统计数据的开始日期。(待办:允许选择结束日期)
统计页面目前包含以下信息
- 余额
- 当前周期剩余天数/每日剩余余额
- 实际收入/支出
- 按类别支出(待办:考虑收入?偏好设置)
- 主要支出



交易可以从主页(交易或统计)进行筛选。此筛选器是共享的,并影响统计数据。
您可以按收入/支出或按类别进行筛选。

交易列表顶部还有一个搜索功能。
另一个有用的功能是自定义周期。默认情况下,周期按月设置。
在“周期”菜单中,让我们添加一个自定义周期。
我想要一个从这个星期五开始的四周自定义周期。
不用担心过去的交易,这会正确地从任何设定的开始日期设置过去的周期。
让我们也将其设置为默认(活动)周期。


我还添加了一个两周周期,以显示活动周期以蓝色突出显示。

回到主页和交易列表,我们可以看到交易被分成不同的周期。
前两次交易是在 6 月 11 日添加的(在当前周期开始之前),最后一次交易是在 12 日添加的。

统计页面 > 周期选项卡也显示更新的周期以及任何其他有交易的周期。

另一个必不可少的功能是“周期性交易”。
我们可以从菜单 > “周期性交易”中添加。

假设我想在接下来的 5 天里每天给我弟弟 5 美元。
我可以设置下一个日期(或开始日期)、交易详情、频率,如果适用,还可以使用 *任一* 次数或结束日期来设置结束条件。


现在周期性交易已添加,让我们转到主页。
由于我们将下一个日期设置为今天,因此该交易已添加。
(注意:零花钱交易显示在 Google Play 应用购买之前,因为周期性交易以 00:00 的时间添加)

菜单中的最后一项是“偏好设置”。
您目前可以在偏好设置中更改以下项目
- 统计中“自定义”选项卡的自定义范围
- 打开统计时的默认选项卡
- 重置偏好设置
