Simple digital solution for tree-planters and other reforestation professionals to record the establishment of 'guinnessometric' style reforestation trials and save information to a common dataset for display in a web portal spatial environment.
- iOS: 11.0
- Android: Android 6.0 (API 23)
- iOS: 15/16
- Android: 12/13 (API 31/33)
This app required remote PostgreSQL server to work. Please go here and fill in the info for your database.
Requires Dart SDK >=2.18.4 <2.19.0
Requires Flutter SDK >=3.3.7 <3.4.0
Available environments:
- Debug environment
- Profile environment
- Release environment
Current environments differences:
- Debug environments:
- All logs are written to the console and to a file
- Flutter dev tools available
- Freeze animations
- Profile environments:
- Only error logs are written to a file
- Some debugging ability is maintained—enough to profile your app’s performance
- No freeze animations
- Release environments:
- Only error logs are written to a file
- Flutter dev tools not supported
- No freeze animations
There are two core scripts in the project:
- assemble.bash
- run.bash
They are used to build artifacts and run the application on a real device.
There are also three supported scripts in the project:
- env_reader.bash
- init.bash
- setup_keybase.bash
They are used to read the main script arguments and set up the project to build or run.
Warning: For iOS, you need to set up a signature before running scripts. For Android, you can customize the signature with the assemble script.
Core scripts have enough arguments to set the build.
| Argument | Values | Description | Avaliable in run script | Avaliable in assemble script |
|---|---|---|---|---|
--android |
apk, appbundle - default |
Specifies whether to generate an Android version and what type of artifact to generate. | ❌ | ✔️ |
--ios |
No values. | Indicates whether to build the iOS version. | ❌ | ✔️ |
--no-setup-keystore |
No values. | Specifies that no keystore needs to be set up. | ❌ | ✔️ |
--flutter-path |
path to flutter(default value is flutter) |
Specifies the path to the flutter sdk that must be used for assembly. | ✔️ | ✔️ |
--debug |
No values. | Specifies that you want to build the project with a debug environment. | ✔️ | ✔️ |
--release |
No values. | Specifies that you want to build the project with a release environment. | ✔️ | ✔️ |
--profile |
No values. | Specifies that you want to build the project with a profile environment. | ✔️ | ✔️ |
--keystore-properties |
Path to keystore properties. | Specifies the path to the keystore properties that must be used for signed. | ✔️ | ✔️ |
--keystore-path |
Path to keystore. | Specifies the path to the keystore that must be used for signed. | ✔️ | ✔️ |
--store-password |
Keystore password. | Specifies the keystore password that must be used for signed. | ✔️ | ✔️ |
--key-alias |
Key alias from keystore. | Specifies the key alias that must be used for signed. | ✔️ | ✔️ |
--key-password |
Key alias password from keystore. | Specifies the key alias password that must be used for signed. | ✔️ | ✔️ |
Warning: To set up a signature, you need to use either
--keystore-propertiesalone or--keystore-path,--store-password,--key-aliasand--key-passwordtogether.
This is a basic example that shows how to run a build:
/bin/bash assemble.bash --android --release --keystore-path keystore.jks --store-password password --key-alias key0 --key-password passwordThis is a basic example showing how to start a run:
/bin/bash run.bash --releaseor
/bin/bash run.bash --debugTo report bugs/issues/feature requests, please file an issue.
If you would like to contribute, please see our CONTRIBUTING guidelines.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Copyright 2022 Province of British Columbia
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.