Track your gym progress, completely offline.
Go to file
Brandon Presley 95681c0b3d Save plan before starting it
Also after saving it makes more sense to just
navigate to PlanList instead of calling
navigation.goBack(). This way we can make sure
we have up-to-date data.

The old way would typically lead to us seeing
stale data. E.g.
1. Tap on a plan
2. Tap on edit
3. Change details of the plan
4. Press save
5. See old plan

Now when we save we instead see the original list of plans.
2023-07-31 15:54:32 +12:00
.bundle First commit 2022-06-30 18:50:52 +12:00
.vscode Add vscode configuration for debugging 2022-12-03 22:14:01 +13:00
.yarn/releases Fix .gitignore for yarn berry 2022-08-26 17:03:44 +12:00
android Prevent sets dissapearing after updating - 1.146 2023-07-27 13:31:50 +12:00
ios Upgrade react-native to 0.72.1 2023-07-07 13:17:19 +12:00
metadata/en-US Revert "Update timer page screenshot" 2023-03-02 19:15:26 +13:00
migrations Add setting to automatically backup - 1.130 2023-03-09 17:16:08 +13:00
tests Fix type errors related to upgrade 2023-07-15 14:38:46 +12:00
.Gemfile Add gemfile + lock 2022-11-04 18:50:52 +13:00
.buckconfig First commit 2022-06-30 18:50:52 +12:00
.eslintrc.js Ignore mock-providers.tsx 2023-07-17 16:46:23 +12:00
.fdignore Add ability to customize primary color 2022-09-24 13:57:51 +12:00
.gitignore Replace it with test for jest files 2023-01-04 13:44:28 +13:00
.rgignore Split out routes 2022-07-15 16:34:06 +12:00
.ruby-version Change ruby version to match what is required in ios 2022-11-15 18:10:30 +13:00
.watchmanconfig Run prettier on project directory 2022-09-01 23:52:33 +12:00
.yarnrc.yml Upgrade yarn version 2022-07-19 16:24:05 +12:00
App.tsx Fix snackbar color for button 2023-07-17 16:21:56 +12:00
AppFab.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
AppInput.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
Chart.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
ConfirmDialog.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
DrawerHeader.tsx Fix type errors related to upgrade 2023-07-15 14:38:46 +12:00
EditPlan.tsx Save plan before starting it 2023-07-31 15:54:32 +12:00
EditSet.tsx Prevent sets dissapearing after updating - 1.146 2023-07-27 13:31:50 +12:00
EditSets.tsx Use outlined buttons instead of contained ones 2023-07-17 16:24:09 +12:00
EditWorkout.tsx Use outlined buttons instead of contained ones 2023-07-17 16:24:09 +12:00
Gemfile Upgrade react-native to 0.72.1 2023-07-07 13:17:19 +12:00
Gemfile.lock Get ios running 2022-11-15 18:10:48 +13:00
GraphsList.tsx Rework Best -> Graphs 2023-07-04 11:35:52 +12:00
GraphsPage.tsx Rework Best -> Graphs 2023-07-04 11:35:52 +12:00
HomePage.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
LICENSE Add GPL3 license 2022-07-08 11:59:31 +12:00
ListMenu.tsx Remove unused variable from ListMenu 2023-07-17 18:39:09 +12:00
Page.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
PlanItem.tsx Retrieve last set when running a plan - 1.145 2023-07-23 13:59:11 +12:00
PlanList.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
PlanPage.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
README.md Add plan start screenshot 2022-10-14 18:25:30 +13:00
Routes.tsx Rework Best -> Graphs 2023-07-04 11:35:52 +12:00
Select.tsx Fix a few instances of react/no-unstable-nested-components 2023-07-17 18:38:28 +12:00
SetItem.tsx Fix a few instances of react/no-unstable-nested-components 2023-07-17 18:38:28 +12:00
SetList.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
SettingButton.tsx Add delete database button - 1.141 2023-06-29 15:34:14 +12:00
SettingsPage.tsx Deno fmt 2023-07-20 14:55:19 +12:00
StackHeader.tsx Fix type errors related to upgrade 2023-07-15 14:38:46 +12:00
StartPlan.tsx Reduce escaping of characters 2023-07-23 14:52:22 +12:00
StartPlanItem.tsx Fix a few instances of react/no-unstable-nested-components 2023-07-17 18:38:28 +12:00
Switch.tsx Deno fmt 2023-07-20 14:55:19 +12:00
TimerPage.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
ViewGraph.tsx Reduce escaping of characters 2023-07-23 14:52:22 +12:00
WorkoutItem.tsx Fix a few instances of react/no-unstable-nested-components 2023-07-17 18:38:28 +12:00
WorkoutList.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
WorkoutsPage.tsx Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
app.json Run prettier on project directory 2022-09-01 23:52:33 +12:00
babel.config.js Upgrade react-native to 0.72.1 2023-07-07 13:17:19 +12:00
best.service.ts Retrieve last set when running a plan - 1.145 2023-07-23 13:59:11 +12:00
colors.ts Upgrade react-native-paper to v5 2023-07-15 13:21:09 +12:00
constants.ts Fix ripple color for dark theme 2022-12-15 16:43:00 +13:00
count-many.ts Remove semicolons from line endings 2022-10-31 17:22:08 +13:00
data-source.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
db.ts Reduce escaping of characters 2023-07-23 14:52:22 +12:00
deno.json Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
deploy.sh Fix type errors related to upgrade 2023-07-15 14:38:46 +12:00
drawer-param-list.ts Rework Best -> Graphs 2023-07-04 11:35:52 +12:00
gym-set.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
home-page-params.ts Add ability to edit/delete multiple sets/plans 2022-12-13 22:54:37 +13:00
index.js Upgrade react-native to 0.72.1 2023-07-07 13:17:19 +12:00
input.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
install.sh Fix install.sh script for new react-native output 2023-07-15 15:02:13 +12:00
jest.config.js Optimize root context 2022-10-31 21:00:10 +13:00
jestSetup.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
metrics.ts Reword best weight and volume metrics 2022-10-16 14:36:08 +13:00
metro.config.js Upgrade react-native to 0.72.1 2023-07-07 13:17:19 +12:00
mock-providers.tsx Deno fmt 2023-07-20 14:55:19 +12:00
options.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
organize.sh Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
package.json Prevent sets dissapearing after updating - 1.146 2023-07-27 13:31:50 +12:00
periods.ts Move all database operations into db.ts 2022-09-04 15:28:21 +12:00
plan-page-params.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
plan.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
react-native.config.js Ran prettier on react-native.config.js 2022-11-22 21:38:54 +13:00
release.sh Turn on proguard and separate build per cpu 2022-07-27 16:06:28 +12:00
route.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
settings.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
time.ts Use date-fns and detect 12/24 hour device setting 2022-11-12 14:38:39 +13:00
toast.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
tsconfig.json Fix type errors related to upgrade 2023-07-15 14:38:46 +12:00
use-dark.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
use-theme.ts Upgrade react-native-paper to v5 2023-07-15 13:21:09 +12:00
use-timer.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
volume.ts Remove semicolons from line endings 2022-10-31 17:22:08 +13:00
watch-lint.sh Add watch-lint.sh and watch-tsc.sh 2022-09-20 13:51:34 +12:00
watch-tsc.sh Add watch-lint.sh and watch-tsc.sh 2022-09-20 13:51:34 +12:00
write.ts Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
yarn.lock Upgrade all packages 2023-07-15 14:19:08 +12:00

README.md

Massive

Massive tracks your reps and sets at the gym. No internet connectivity or high spec device is required.

Features

  • Track weight, reps and sets
  • Rest timers after each set
  • Progress graphs
  • Day planner
Get it on Google Play

Screenshots

Building from Source

First follow the React Native Environment Setup. Then run the following command:

cd android
./gradlew assembleRelease

The apk file can be found at android/app/build/outputs/apk/release/app-*-release.apk The APKs are separated by architecture, for example we have:

  • app-arm64-v8a-release.apk
  • app-armeabi-v7a-release.apk
  • app-x86_64-release.apk
  • app-x86-release.apk

Your phone is probably app-arm64-v8a-release.apk.

Running in Development

First ensure Node.js dependencies are installed:

yarn install

Then start the metro server:

yarn start

Then (in a separate terminal) run the android script:

yarn android

Fdroid Metadata

You can find the metadata yaml file in the fdroiddata repository: https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/com.massive.yml

Relevant Documentation