/SyncSphere

Sync Sphere - Compose multiplatform project targeting iOS, Android, and Desktop for planning get togethers with friends

Primary LanguageKotlinMIT LicenseMIT

Sync Sphere

Are you tired of endless group chats and email threads trying to plan a simple get-together? Sync Sphere is here to streamline your social planning with ease and efficiency.

Create a Room, Share, and Sync!

Download 📦

Sync Sphere is available for Android, iOS, and Desktop

Desktop publishing coming soon!

Publishing

iOS

iOS is published on release via fastlane by creating a tag (release/x.y.z)

Android

Android is published on release via fastlane by creating a tag (release/x.y.z)

Mac Desktop

Mac desktop is currently not published

Useful

Fastlane - bundle exec fastlane ios build

iOS - Fastlane

  1. Github repo with certificates (MATCH_GIT_BASIC_AUTHORIZATION, MATCH_PASSWORD)
  2. App Store Connect API Key, Issuer ID, and Key ID
  3. openssl base64 < path/to/key.p8 | tr -d '\n' | pbcopy
  4. echo -n your_github_username:your_personal_access_token | base64 for MATCH_GIT_BASIC_AUTHORIZATION

Android - Fastlane CI

  1. Keystore, alias, alias password, keystore password
  2. Google Play Services JSON account credentials
./gradlew clean spotlessApply detektAll :androidApp:build :desktopApp:packageDistributionForCurrentOS && bundle exec fastlane ios build

On A Fresh Clone

  1. Add this to your home gradle.properties (~/.gradle/gradle.properties) for a debug environment on Desktop. iOS and Android are already configured for debug.

    1.   systemProp.syncSphereDebug=true
  2. Add .env.default under fastlane based on the .env.default.sample for building and using fastlane locally (only needed for deploying)

  3. Add keystore.jks under androidApp with a key.properties file that looks like:

    1.   keyAlias=<alias>
        keyPassword=<key password>
        storePassword=<stote password>
        storeFile=keystore.jks
      

Mockups

https://studio.app-mockup.com/