https://github.com/j-roskopf/SyncSphere
Sync Sphere - Compose multiplatform project targeting iOS, Android, and Desktop for planning get togethers with friends
https://github.com/j-roskopf/SyncSphere
sphere sync sync-sphere
Last synced: about 2 months ago
JSON representation
Sync Sphere - Compose multiplatform project targeting iOS, Android, and Desktop for planning get togethers with friends
- Host: GitHub
- URL: https://github.com/j-roskopf/SyncSphere
- Owner: j-roskopf
- License: mit
- Created: 2023-11-01T14:40:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-07T12:54:11.000Z (7 months ago)
- Last Synced: 2024-11-07T13:49:16.895Z (7 months ago)
- Topics: sphere, sync, sync-sphere
- Language: Kotlin
- Homepage:
- Size: 22.4 MB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - j-roskopf/SyncSphere - Sync Sphere - Compose multiplatform project targeting iOS, Android, and Desktop for planning get togethers with friends (Kotlin)
README
![]()
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!
[](https://github.com/j-roskopf/SyncSphere/actions/workflows/build.yml)
## Download 📦
Sync Sphere is available for Android, iOS, and Desktop
## Publishing
### iOS
iOS is published to the iOS App Store on release via fastlane by creating a tag (release/x.y.z)### Android
Android is published to the Google Play Store on release via fastlane by creating a tag (release/x.y.z)### Mac Desktop
Mac is published to the Mac App Store on release by creating a tag (release/x.y.z)## Useful
Fastlane - `bundle exec fastlane ios build`
iOS -
[Fastlane](https://medium.com/revelo-tech/setting-up-automatic-ios-release-with-fastlane-and-match-on-ci-cd-server-16c3f1d79bc5)
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](https://docs.fastlane.tools/actions/upload_to_play_store/)
[CI](https://proandroiddev.com/how-to-securely-build-and-sign-your-android-app-with-github-actions-ad5323452ce)
1. Keystore, alias, alias password, keystore password
2. Google Play Services JSON account credentialsMac -
[Native distributions & local execution](https://github.com/JetBrains/compose-multiplatform/blob/master/tutorials/Native_distributions_and_local_execution/README.md#native-distributions--local-execution)
[Signing and notarizing distributions for macOS](https://github.com/JetBrains/compose-multiplatform/blob/master/tutorials/Signing_and_notarization_on_macOS/README.md)
[Publishing to Github Actions](https://www.marcogomiero.com/posts/2024/kmp-ci-macos-appstore/)
[Publishing to Mac App Store](https://www.marcogomiero.com/posts/2024/compose-macos-app-store/)```
./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. ```groovy
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=
keyPassword=
storePassword=
storeFile=keystore.jks
```## Mockups
https://studio.app-mockup.com/