diff --git a/frontend/README.md b/frontend/README.md index 2ae1ff4..8c860c0 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,6 +1,6 @@ # Frontend -This is the frontend of the project. It is a Flutter application that is designed to run on both Android and iOS devices. The frontend is responsible for displaying the user interface and handling user input. It communicates with the backend to retrieve and send data. +The frontend of this project is a Flutter application designed to run on both Android and iOS devices (and possibly as a PWA). The frontend is responsible for displaying the user interface and handling user input. It communicates with the backend via a REST-api to retrieve and send data. ## Getting Started @@ -15,3 +15,16 @@ Once you have the Flutter SDK installed, you can locally install the dependencie ```bash flutter pub get ``` + +## Deployment (using fastlane) +The application is deployed to the Google Play Store and the Apple App Store using fastlane: + +[https://docs.fastlane.tools/](https://docs.fastlane.tools/) + +Fastlane is installed as a Ruby gem. Since the bundler-gemfile is scoped to a single directory, a gemfile is included in both the `android` and `ios` directories. Once installed, the usage is +```bash +cd frontend/android # or ios +bundle install +bundle exec fastlane +``` +This is reused in the CI/CD pipeline to automate the deployment process. diff --git a/frontend/android/.gitignore b/frontend/android/.gitignore index 3592eab..5a079a6 100644 --- a/frontend/android/.gitignore +++ b/frontend/android/.gitignore @@ -12,3 +12,6 @@ GeneratedPluginRegistrant.java key.properties **/*.keystore **/*.jks + +# Fastlane google cloud access +google-key.json diff --git a/frontend/android/Gemfile b/frontend/android/Gemfile new file mode 100644 index 0000000..7a118b4 --- /dev/null +++ b/frontend/android/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/frontend/android/Gemfile.lock b/frontend/android/Gemfile.lock new file mode 100644 index 0000000..a427422 --- /dev/null +++ b/frontend/android/Gemfile.lock @@ -0,0 +1,220 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.7) + base64 + nkf + rexml + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + artifactory (3.0.17) + atomos (0.1.3) + aws-eventstream (1.3.0) + aws-partitions (1.970.0) + aws-sdk-core (3.202.2) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.9) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.88.0) + aws-sdk-core (~> 3, >= 3.201.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.159.0) + aws-sdk-core (~> 3, >= 3.201.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.9.1) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + base64 (0.2.0) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.6.5) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.111.0) + faraday (1.10.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) + faraday (~> 1.0) + fastimage (2.3.1) + fastlane (2.222.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored (~> 1.2) + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.7.1) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.4.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.7) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.6.2) + json (2.7.2) + jwt (2.8.2) + base64 + mini_magick (4.13.2) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.4.1) + nanaimo (0.3.0) + naturally (2.2.1) + nkf (0.2.0) + optparse (0.5.0) + os (1.1.4) + plist (3.7.1) + public_suffix (6.0.1) + rake (13.2.1) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.3.6) + strscan + rouge (2.0.7) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + security (0.1.5) + signet (0.19.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + strscan (3.1.0) + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.5.0) + word_wrap (1.0.0) + xcodeproj (1.25.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (>= 3.3.2, < 4.0) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + ruby + x86_64-linux + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.5.18 diff --git a/frontend/android/README.md b/frontend/android/README.md index 1e3354e..3acd427 100644 --- a/frontend/android/README.md +++ b/frontend/android/README.md @@ -2,13 +2,12 @@ ### Keystore setup ```bash -keytool -genkey -v -keystore release.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias release +keytool -genkey -v -keystore release.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias upload ``` -- This is required to store local credentials securely (not used for now). -- But necesseary in order to restrict the particular api key to a particular app (through the sha1 of the associated keystore). +- This is required to store local credentials securely and more importantly to sign the app for google play store distribution. -### Building and secret credentials +### Using secret credentials during build Following the guide under [https://developers.google.com/maps/flutter-package/config#android_1](https://developers.google.com/maps/flutter-package/config#android_1). - Add the following to `android/build.gradle`: ```gradle @@ -36,13 +35,39 @@ Following the guide under [https://developers.google.com/maps/flutter-package/co android:value="${MAPS_API_KEY}" /> ``` +### Signing the app +Compared to the flutter template application, a few changes have to be made: +- Added to `android/app/build.gradle`: + ```gradle + signingConfigs { + release { + keyAlias = secretProperties['keyAlias'] + keyPassword = secretProperties['keyPassword'] + storeFile = secretProperties['storeFile'] ? file(secretProperties['storeFile']) : null + storePassword = secretProperties['storePassword'] + } + } + ``` +- Changed the `buildTypes` to use the `release` signing config: + ```gradle + buildTypes { + release { + signingConfig signingConfigs.release + } + } + ``` + This makes use of the `secretProperties` defined previously: + ```gradle + secretPropertiesFile.withReader('UTF-8') { reader -> + secretProperties.load(reader) + } + ``` + ### Using the credentials in CI -- Add the base64 encoded credentials to the repository secrets (e.g. `ANDROID_SECRETS`). +- Add the secret files to the repository secrets (e.g. `ANDROID_SECRETS_PROPERTIES`). + +- temporarily write them back to files during the CI execution: ```bash - base64 -i android/secrets.properties + echo {{ secrets.ANDROID_SECRETS }} >> android/secrets.properties ``` -- Use the following in the CI script: - ```bash - echo {{ secrets.ANDROID_SECRETS }} | base64 -d > android/secrets.properties - ``` \ No newline at end of file diff --git a/frontend/android/app/build.gradle b/frontend/android/app/build.gradle index c0f4089..6827865 100644 --- a/frontend/android/app/build.gradle +++ b/frontend/android/app/build.gradle @@ -76,11 +76,18 @@ android { } + signingConfigs { + release { + keyAlias = secretProperties['keyAlias'] + keyPassword = secretProperties['keyPassword'] + storeFile = secretProperties['storeFile'] ? file(secretProperties['storeFile']) : null + storePassword = secretProperties['storePassword'] + } + } + buildTypes { release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.release } } } diff --git a/frontend/android/fastlane/Appfile b/frontend/android/fastlane/Appfile new file mode 100644 index 0000000..6da6bdf --- /dev/null +++ b/frontend/android/fastlane/Appfile @@ -0,0 +1,2 @@ +json_key_file("google-key.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one +package_name("com.anydev.anyway") # e.g. com.krausefx.app diff --git a/frontend/android/fastlane/Fastfile b/frontend/android/fastlane/Fastfile new file mode 100644 index 0000000..beff8f3 --- /dev/null +++ b/frontend/android/fastlane/Fastfile @@ -0,0 +1,45 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +default_platform(:android) + +platform :android do + desc "Runs all the tests" + lane :test do + gradle(task: "test") + end + + desc "Submit a new build to the closed testing lane" + lane :closed_testing do + gradle( + task: "bundle", + # flavor: "staging", + ) + + upload_to_play_store( + track: 'alpha', + skip_upload_apk: true, + skip_upload_changelogs: true, + + ) + + end + + desc "Deploy a new version to the Google Play" + lane :deploy do + gradle(task: "clean assembleRelease") + upload_to_play_store + end +end diff --git a/frontend/android/fastlane/README.md b/frontend/android/fastlane/README.md new file mode 100644 index 0000000..574d585 --- /dev/null +++ b/frontend/android/fastlane/README.md @@ -0,0 +1,48 @@ +fastlane documentation +---- + +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +```sh +xcode-select --install +``` + +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) + +# Available Actions + +## Android + +### android test + +```sh +[bundle exec] fastlane android test +``` + +Runs all the tests + +### android closed_testing + +```sh +[bundle exec] fastlane android closed_testing +``` + +Submit a new build to the closed testing lane + +### android deploy + +```sh +[bundle exec] fastlane android deploy +``` + +Deploy a new version to the Google Play + +---- + +This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/frontend/android/fastlane/metadata/android/en-US/full_description.txt b/frontend/android/fastlane/metadata/android/en-US/full_description.txt new file mode 100644 index 0000000..9091b15 --- /dev/null +++ b/frontend/android/fastlane/metadata/android/en-US/full_description.txt @@ -0,0 +1,7 @@ +AnyWay - plan city trips your way + +AnyWay is a mobile application that helps users plan city trips. The app allows users to specify their preferences and constraints, and then generates a personalized itinerary for them. The planning follows some guiding principles: +- **Personalization**:The user's preferences should be reflected in the choice of destinations. +- **Efficiency**:The itinerary should be optimized for the user's constraints. +- **Flexibility**: We aknowledge that tourism is a dynamic activity, and that users may want to change their plans on the go. +- **Discoverability**: Tourism is an inherently exploratory activity. Once a rough itinerary is generated, detours and spontaneous decisions should be encouraged. \ No newline at end of file diff --git a/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240903-224614_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240903-224614_anyway.png new file mode 100755 index 0000000..e397c0f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240903-224614_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124649_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124649_anyway.png new file mode 100755 index 0000000..fb627a4 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124649_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124703_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124703_anyway.png new file mode 100755 index 0000000..9ff30a2 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124703_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124708_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124708_anyway.png new file mode 100755 index 0000000..d679a40 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124708_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124716_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124716_anyway.png new file mode 100755 index 0000000..455b90f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124716_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124720_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124720_anyway.png new file mode 100755 index 0000000..245bb6f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/phoneScreenshots/Screenshot_20240904-124720_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240903-224614_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240903-224614_anyway.png new file mode 100755 index 0000000..e397c0f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240903-224614_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124649_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124649_anyway.png new file mode 100755 index 0000000..fb627a4 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124649_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124703_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124703_anyway.png new file mode 100755 index 0000000..9ff30a2 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124703_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124708_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124708_anyway.png new file mode 100755 index 0000000..d679a40 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124708_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124716_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124716_anyway.png new file mode 100755 index 0000000..455b90f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124716_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124720_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124720_anyway.png new file mode 100755 index 0000000..245bb6f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots/Screenshot_20240904-124720_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240903-224614_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240903-224614_anyway.png new file mode 100755 index 0000000..e397c0f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240903-224614_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124649_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124649_anyway.png new file mode 100755 index 0000000..fb627a4 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124649_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124703_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124703_anyway.png new file mode 100755 index 0000000..9ff30a2 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124703_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124708_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124708_anyway.png new file mode 100755 index 0000000..d679a40 Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124708_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124716_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124716_anyway.png new file mode 100755 index 0000000..455b90f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124716_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124720_anyway.png b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124720_anyway.png new file mode 100755 index 0000000..245bb6f Binary files /dev/null and b/frontend/android/fastlane/metadata/android/en-US/images/tenInchScreenshots/Screenshot_20240904-124720_anyway.png differ diff --git a/frontend/android/fastlane/metadata/android/en-US/short_description.txt b/frontend/android/fastlane/metadata/android/en-US/short_description.txt new file mode 100644 index 0000000..4ecbfb5 --- /dev/null +++ b/frontend/android/fastlane/metadata/android/en-US/short_description.txt @@ -0,0 +1 @@ +AnyWay - plan city trips your way! \ No newline at end of file diff --git a/frontend/android/fastlane/metadata/android/en-US/title.txt b/frontend/android/fastlane/metadata/android/en-US/title.txt new file mode 100644 index 0000000..4366249 --- /dev/null +++ b/frontend/android/fastlane/metadata/android/en-US/title.txt @@ -0,0 +1 @@ +AnyWay \ No newline at end of file diff --git a/frontend/android/fastlane/metadata/android/en-US/video.txt b/frontend/android/fastlane/metadata/android/en-US/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/frontend/android/fastlane/report.xml b/frontend/android/fastlane/report.xml new file mode 100644 index 0000000..07d4bb8 --- /dev/null +++ b/frontend/android/fastlane/report.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/pubspec.lock b/frontend/pubspec.lock index 1c7e0ec..78671e7 100644 --- a/frontend/pubspec.lock +++ b/frontend/pubspec.lock @@ -705,10 +705,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.4" + version: "14.2.5" web: dependency: transitive description: