Compare commits
10
Commits
ea3acb6896
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c35ec2ffee | ||
|
|
46ea6473e8 | ||
|
|
f7c52d0cb1 | ||
|
|
616ce36762 | ||
|
|
0a2c8abbba | ||
|
|
7543d05daf | ||
|
|
708c1adebf | ||
|
|
da6d785e54 | ||
|
|
928682a529 | ||
|
|
1d5791240a |
No files matched your search
+25
@@ -0,0 +1,25 @@
|
|||||||
|
# Keys & secrets
|
||||||
|
*.jks
|
||||||
|
*.keystore
|
||||||
|
local.properties
|
||||||
|
|
||||||
|
# Build output
|
||||||
|
.gradle/
|
||||||
|
build/
|
||||||
|
app/build/
|
||||||
|
*.apk
|
||||||
|
*.aab
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.idea/
|
||||||
|
*.iml
|
||||||
|
*.iws
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
# Mac
|
||||||
|
.DS_Store
|
||||||
|
**/.DS_Store
|
||||||
|
|
||||||
|
# Gradle wrapper (optional to commit)
|
||||||
|
!gradle/wrapper/gradle-wrapper.jar
|
||||||
|
!gradle/wrapper/gradle-wrapper.properties
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Whitespace-only changes.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Whitespace-only changes.
Binary file not shown.
@@ -1,2 +0,0 @@
|
|||||||
#Sat Jun 20 22:05:08 MST 2026
|
|
||||||
gradle.version=8.9
|
|
||||||
Binary file not shown.
@@ -1,2 +0,0 @@
|
|||||||
#Sat Jun 20 22:04:54 MST 2026
|
|
||||||
java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home
|
|
||||||
Binary file not shown.
Whitespace-only changes.
Generated
-3
@@ -1,3 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
Generated
-1
@@ -1 +0,0 @@
|
|||||||
StepMates Sync
|
|
||||||
Generated
-6
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="AndroidProjectSystem">
|
|
||||||
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
Generated
-1870
File diff suppressed because it is too large.
Load diff
Generated
-6
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="CompilerConfiguration">
|
|
||||||
<bytecodeTargetLevel target="21" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
Generated
-11
@@ -1,11 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="deploymentTargetSelector">
|
|
||||||
<selectionStates>
|
|
||||||
<SelectionState runConfigName="app">
|
|
||||||
<option name="selectionMode" value="DROPDOWN" />
|
|
||||||
<DialogSelection />
|
|
||||||
</SelectionState>
|
|
||||||
</selectionStates>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
Generated
-18
@@ -1,18 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="GradleSettings">
|
|
||||||
<option name="linkedExternalProjectsSettings">
|
|
||||||
<GradleProjectSettings>
|
|
||||||
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
||||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
|
||||||
<option name="modules">
|
|
||||||
<set>
|
|
||||||
<option value="$PROJECT_DIR$" />
|
|
||||||
<option value="$PROJECT_DIR$/app" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</GradleProjectSettings>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
Generated
-8
@@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="MarkdownSettings">
|
|
||||||
<option name="previewPanelProviderInfo">
|
|
||||||
<ProviderInfo name="Compose (experimental)" className="com.intellij.markdown.compose.preview.ComposePanelProvider" />
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
Generated
-10
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectMigrations">
|
|
||||||
<option name="MigrateToGradleLocalJavaHome">
|
|
||||||
<set>
|
|
||||||
<option value="$PROJECT_DIR$" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
Generated
-10
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
||||||
</component>
|
|
||||||
<component name="ProjectType">
|
|
||||||
<option name="id" value="Android" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
Generated
-17
@@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="RunConfigurationProducerService">
|
|
||||||
<option name="ignoredProducers">
|
|
||||||
<set>
|
|
||||||
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
|
||||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
|
||||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,34 +1,13 @@
|
|||||||
# StepMates Sync — Android Companion App
|
# StepMates Sync
|
||||||
|
|
||||||
Syncs your steps from Health Connect to StepMates automatically.
|
Mobile companion apps for syncing steps to [StepMates](https://justinoros.github.io/step-tracker).
|
||||||
|
|
||||||
## How to Use
|
## Android
|
||||||
|
See [android/README.md](android/README.md) for setup and build instructions.
|
||||||
|
|
||||||
1. Open the app
|
## iPhone (iOS)
|
||||||
2. Paste your StepMates Webhook URL (from your approval email)
|
Coming soon! In the meantime, iPhone users can use the free version of [Health Auto Export](https://apps.apple.com/us/app/health-auto-export-json-csv/id1115567069) from the App Store to create an Automated Export which syncs steps automatically to StepMates.
|
||||||
3. Tap **Sync My Steps**
|
|
||||||
4. Grant Health Connect permission when prompted
|
|
||||||
5. Done! Your steps are synced
|
|
||||||
|
|
||||||
Your webhook URL looks like:
|
## Download
|
||||||
`https://webhook-mgc3i5pbxq-uc.a.run.app?token=YOUR_TOKEN`
|
- **Android:** [Download latest APK](https://github.com/JustinOros/stepmates-sync/releases/download/v1.1/StepMates-Sync-Android.apk)
|
||||||
|
- **iOS:** Coming soon
|
||||||
## Requirements
|
|
||||||
- Android 8.0+ (API 26+)
|
|
||||||
- Health Connect installed ([Get it on Play Store](https://play.google.com/store/apps/details?id=com.google.android.apps.healthdata))
|
|
||||||
- A StepMates account at https://justinoros.github.io/step-tracker
|
|
||||||
|
|
||||||
## How to Build
|
|
||||||
|
|
||||||
1. Install [Android Studio](https://developer.android.com/studio)
|
|
||||||
2. Open this project
|
|
||||||
3. **Build → Generate Signed APK**
|
|
||||||
4. Create a keystore (save it somewhere safe!)
|
|
||||||
5. Upload the signed APK to GitHub Releases
|
|
||||||
|
|
||||||
## How it Works
|
|
||||||
|
|
||||||
- Reads last 7 days of steps from Health Connect
|
|
||||||
- POSTs directly to your personal StepMates webhook URL
|
|
||||||
- No login required — your webhook URL is your key
|
|
||||||
- Saves your webhook URL so you only need to paste it once
|
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
# StepMates Sync — Android
|
||||||
|
|
||||||
|
Syncs your steps from Health Connect to StepMates automatically.
|
||||||
|
|
||||||
|
## How to Use
|
||||||
|
|
||||||
|
1. Open the app
|
||||||
|
2. Paste your StepMates Webhook URL (from your approval email)
|
||||||
|
3. Tap **Sync Now**
|
||||||
|
4. Grant Health Connect permission when prompted
|
||||||
|
5. Set your preferred auto-sync interval
|
||||||
|
6. Done — steps sync automatically in the background
|
||||||
|
|
||||||
|
Your webhook URL looks like:
|
||||||
|
`https://webhook-mgc3i5pbxq-uc.a.run.app?token=YOUR_TOKEN`
|
||||||
|
|
||||||
|
You can also find your webhook URL in StepMates → hamburger menu → Setup & Sync.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Android 8.0+ (API 26+)
|
||||||
|
- Health Connect installed (search "Health Connect" in the Play Store if not already installed)
|
||||||
|
- A StepMates account at https://justinoros.github.io/step-tracker
|
||||||
|
|
||||||
|
## Download
|
||||||
|
|
||||||
|
[Download latest APK](https://github.com/JustinOros/step-tracker/releases/download/v1.1/StepMates-Sync-Android.apk)
|
||||||
|
|
||||||
|
## How to Build
|
||||||
|
|
||||||
|
1. Install [Android Studio](https://developer.android.com/studio)
|
||||||
|
2. Open the `android/` folder as a project
|
||||||
|
3. **Build → Generate Signed APK**
|
||||||
|
4. Create a keystore and save it somewhere safe
|
||||||
|
5. Upload the signed APK to GitHub Releases
|
||||||
|
|
||||||
|
## How it Works
|
||||||
|
|
||||||
|
- Reads last 7 days of steps from Health Connect
|
||||||
|
- POSTs to your personal StepMates webhook URL
|
||||||
|
- Auto-syncs in the background on your chosen schedule
|
||||||
|
- No login required — your webhook URL is your key
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 1138 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user