mismith / scotdance

Highland dancing event tracker

Home Page:https://scotdance.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Highland dancing event tracker

Skip the pen and paper—attend highland dance competitions in style with this app for your mobile device.

Modernize your highland dancing experience by interacting with program-of-events information digitally:

  • Search through dancers by their competition number, name, age group, etc. Then mark your favourites for easy tracking.
  • Track your 'favourite' dancers to make it easy to follow you/your children/friends.
  • Use the at-a-glance schedule to check event start times, which platforms to dance at, order of dances, and more.
  • Get real-time results updates—from callbacks through to placings—and review them anytime after a competition, too.

Dev

Command Description
npm i install dependencies
npm run dev serve app with emulated data and hot reloading at https://localhost:3000
npm run dev:cy shortcut for running dev + cy -- open
npm test build app and run cypress tests locally (equivalently to how they will be run in CI)
npm run lint / npm run lint:fix show code formatting tips (and fix them)
npm run build build for release to production (including apps)
npm run report open bundle size visualizer (stats.html)
npm run release create version commit and tag in git
npm run deploy push local build to production and main git branch

Admin

Links to the admin panels needed to manage this project:

App (Capacitor)

Combined Release

  1. While waiting between/for any of the following steps, write release notes in CHANGELOG.md
  2. Adjust/increment the version in package.json (this will be propagated by the sync-version script that gets called pre-build)
  3. Build and Deploy to app stores:
    1. Perform steps 1-5 of the Apple App Store instructions
    2. Perform steps 2-8 of the Google Play Store instructions
    3. Once iOS build package is processed, perform step 6 of the App Store instructions
  4. Finalize the release via npm run release, which consists of:
    1. Commit version change and release notes using the release version as the commit message (e.g. 1.0.0)
    2. Tag the commit using the release version prepended with v (e.g. v1.0.0)
  5. Deploy to web via npm run deploy, which consists of:
    1. Deploy to web via firebase deploy
    2. Push to main
  6. Open the ScotDance admin panel's versions page and update the appropriate version numbers as apps are released/approved

Apple App Store

  • Use Automatic Signing in Xcode, after setting up all certificates and provisioning profiles

  • To upload to App Store:

    1. npm run build
    2. Open project in Xcode (npx cap open ios)
      • Once open, consider running the app in a simulator to ensure everything is working well
    3. In the menu bar, select "Product" > "Archive" (if you can't select it, make sure you are targeting "Any iOS Device")
    4. Click "Distribute App"
    5. Follow the wizard ("Test Flight & App Store", etc.)
    6. In App Store Connect, create a New iOS Version, then complete/fill out all remaining steps/info in form
      • the new build should be processed and ready to be selected shortly (~15 mins)

Google Play Store

  • To build a signed .aab, you'll need the scotdance.keystore file (stored in a private Dropbox).

  • To upload to Google Play:

    1. npm run build
    2. Open project in Android Studio (npx cap open android)
      • Once open, consider running the app in a simulator to ensure everything is working well
    3. In the menu bar, select "Build" > "Generate Signed Bundle / APK…"
    4. Follow the wizard (AAB, "release", etc.)
    5. Open Google Play Console
    6. Create a new Production Release
    7. Select/Drag in android/app/release/app-release.aab
    8. Complete all remaining steps/info in form

About

Highland dancing event tracker

https://scotdance.app


Languages

Language:Vue 71.8%Language:JavaScript 21.7%Language:TypeScript 2.9%Language:Swift 2.4%Language:Shell 0.4%Language:HTML 0.3%Language:Java 0.3%Language:Ruby 0.1%Language:Objective-C 0.0%Language:C 0.0%