Files
TREK/client/fastlane

Store listings

The texts, review notes, policy drafts and images for the App Store and Google Play listings of TREK Travel Planner (com.liketrek.trek). The folder layout is the one fastlane's deliver (App Store) and supply (Google Play) read, so the listings can be uploaded from here; the builds themselves come from .github/workflows/native-release.yml.

Path What
metadata/en-US/ App Store texts: name, subtitle, keywords, description, URLs, release notes
metadata/review_information/ App Review notes and contact. Placeholders only: the review server, accounts and passwords are entered in App Store Connect, never committed
metadata/android/en-US/ Google Play texts, the changelog, and images/ (feature graphic, icon, screenshots)
metadata/privacy-policy.md, metadata/delete-account.md Drafts of the pages published at https://liketrek.com/privacy and https://liketrek.com/delete-account
screenshots/en-US/ App Store screenshots, iPhone 6.9" and iPad 13"

npm run store:check (in client/) checks every text against its store limit and every image for its size and for an alpha channel, which both stores refuse. CI runs it in the metadata job of native.yml.

Screenshots

The screenshots are not committed yet: they are captured from a running TREK with the seeded demo trip, which is a Playwright run and does not run in CI. To make them, from client/:

  1. npx playwright install chromium (once).
  2. npm run store:shots starts its own backend on a throwaway database and the Vite dev server, seeds the demo trip (the same one the wiki pictures show) and captures six screens at five device sizes into e2e/.tmp/store/.
  3. npm run store:promote checks each capture's size, flattens it onto the app background (no alpha) and copies it into screenshots/en-US/ (iPhone 6.9" 1320x2868, iPad 13" 2064x2752) and metadata/android/en-US/images/{phone,sevenInch,tenInch}Screenshots/ (1080x1920, 1620x2880, 1920x1080).
  4. npm run store:graphic rebuilds the feature graphic, now with a crop of the first phone screenshot, and the 512 px icon.
  5. npm run store:check, look through the pictures, commit.

The capture lives in e2e/store/capture.store.ts; the device sizes and screens are listed at its top.

Uploading the listing

With fastlane installed and the App Store Connect API key and Play service account at hand (the same ones the release workflow uses, see wiki/Native-Apps.md), from client/:

fastlane deliver --skip_binary_upload --metadata_path fastlane/metadata --screenshots_path fastlane/screenshots
fastlane supply --skip_upload_apk --skip_upload_aab --metadata_path fastlane/metadata/android --package_name com.liketrek.trek

Both also work from the consoles by hand; the files here are the source of truth for what the listings say.