Plante? 应用


社区型纯素食品杂货地图

https://planteapp.com/


app-store


google-play

screenshots

? 翻译

我们支持的语言不多——如果你能帮助我们将应用程序翻译成你所说的语言,那对项目来说将非常有益!?

我们在 POEditor 上有两个项目

? 如何构建

安装 Flutter

Plante 是一个标准的 Flutter 应用,可以使用标准的 Flutter 环境构建?

https://docs.flutterdart.cn/get-started/install

安装依赖项

Open Food Facts SDK 用作子模块,要首次初始化它,您应该运行

$ git submodule update --init --recursive

密钥

尽管源代码是公开的,但 Google 密钥不能公开——这会违反 Google 的服务条款,并会造成严重的应用漏洞。

这意味着,虽然 flutter test 命令可以直接运行,但要构建和运行应用程序,您应该从我们那里获取应用程序密钥,或者使用您自己的密钥。

获取现有密钥

如果您愿意为项目做出贡献,可以在我们的 Discord 服务器上与我们联系: https://discord.com/invite/2QCgRbba

我们将很乐意为您提供任何所需信息,并帮助您解决任何问题?

您自己的密钥

要组装应用程序,您需要以下文件

  • android/app/google-services.json (Android)
  • android/app/debug.keystore (Android)
  • ios/GoogleService-Info.plist (iOS)
  • .env

.env 文件是唯一非标准的。它应该包含以下格式的密钥

VAR_NAME1=VALUE1
VAR_NAME2=VALUE2
...

目前在 Android 上使用的变量

  • PLANTE_ANDROID_GOOGLE_CLOUD_CLIENT_ID
  • PLANTE_ANDROID_GOOGLE_MAPS_KEY

在 iOS 上

  • PLANTE_IOS_GOOGLE_CLOUD_CLIENT_ID
  • PLANTE_IOS_GOOGLE_CLOUD_CLIENT_ID_REVERSE
  • PLANTE_IOS_GOOGLE_MAPS_KEY

要在 iOS 上贡献,您需要一个(生成的)tmp.xconfig。

??‍? 开发

  • flutter format 用于强制执行应用程序的编码风格——您应该在每次提交前从项目根目录运行 $ flutter format lib

  • built_value 包用于值类型。如果您想编辑任何 implements Built 类,或者想创建一个新类,请阅读其文档。当我们更新/创建此类时,我们会运行以下命令: $ flutter pub run build_runner build --delete-conflicting-outputs

  • 我们广泛使用测试,并非常赞赏。在您进行补丁工作时,请尝试编写新的(或修改现有的)测试。

©️ 开源 – 许可证

存储库和贡献均受 GNU General Public License v3.0 许可。

GitHub

查看 Github