SimpliBuy – 购物计算器应用
这是一个 Flutter 应用,可以帮助用户在将商品添加到购物车时跟踪购物总成本。
问题
人们常常在装满购物篮后,到收银台才发现购物总价,这对商家来说是好事,因为通常即使顾客在收银台对总价感到不悦,他们还是会付款。我的想法是让这款应用不比计算器复杂,但要更方便一些。在计算器中,如果你拒绝某件商品,你需要减去之前输入的金额,这有点不方便。
解决方案
这款应用为用户提供了一种便捷的方式来跟踪他们在购物车中添加商品时的购物总成本。用户可以添加和删除商品,应用会自动计算并显示总成本。这有助于用户在预算范围内购物,避免在收银台时出现意外。
屏幕截图
| 所有购买 | 添加商品 | 对话框 |
| 日期选择 | 删除购买对话框 | 轻量版 |
技术栈
- freezed_annotation: 一个代码生成库,有助于轻松编写不可变类。
- json_annotation: 一个用于将 Dart 对象转换为 JSON 以及从 JSON 转换回 Dart 对象的库。
- get_it: 一个简单的服务定位器,用于 Dart 和 Flutter 项目。
- flutter_svg: 一个用于渲染 SVG 图像的 Flutter 库。
- google_fonts: 一个用于使用 Google Fonts 目录中自定义字体的 Flutter 库。
- flutter_bloc: 一个用于 Flutter 的状态管理库,有助于分离演示和业务逻辑。
- shared_preferences: 一个用于在磁盘上存储键值对的 Flutter 库。
- grouped_list: 一个用于显示带有分组标题的列表的 Flutter 库。
- intl: 一个用于 Dart 中国际化和本地化的库。
- sqlite3_flutter_libs: 一个用于使用 SQLite 数据库引擎的 Flutter 库。
- path_provider: 一个用于访问文件系统的 Flutter 库。
- cupertino_icons: 一个适用于 Flutter 的图标包,提供 iOS 风格的图标。
- go_router: 一个用于在 Flutter 中创建声明式路由流程的库。
入门
在运行应用之前,生成状态管理所需的 freezed 类非常重要。要生成所需的类,请在终端中运行以下命令:
flutter pub run build_runner build --delete-conflicting-outputs
这将生成所需文件,并允许您在应用中使用 freezed 类进行状态管理。
生成必要的类后,您可以使用以下命令运行应用:
flutter run
未来路线图
随着 SimpliBuy 的不断发展,我计划在未来几个月内为该应用添加几项功能和改进。我的路线图上的一些项目包括:
-
改进的报告和分析:我计划为 SimpliBuy 添加更强大的报告和分析功能,使用户能够深入了解他们的购物习惯并找出可以节省开支的地方。
-
其他语言:我的目标是让 SimpliBuy 能够被世界各地的用户使用,并计划将来添加对其他语言的支持。
-
错误修复和性能改进:与任何软件项目一样,我将继续识别和解决出现的任何错误或性能问题,以确保 SimpliBuy 始终平稳运行。
我们致力于让 SimpliBuy 成为市场上最好的购物应用,并将随着时间的推移不断为该应用添加新功能和改进。
许可证
本项目根据 MIT 许可证 发布。