Skip to content

OverlordAlex/Fitocrazy

Repository files navigation

About

Fitocrazy is an offline fitness tracking Android app. Originally inspired by Fitocracy being shutdown. The goals of the project are:

  • create an app that I want to use

Features are based on feedback from myself - if you want to modify anything for personal use then please feel free to fork! If you want to see what has been built already please check out the changelog

More seriously, this app aims to be:

  • Flexible; You should be able to add new exercises on the fly
  • Offline; No reliance on servers, always available
  • Refresher; It's been many years since I programmed in Android and this was a chance to refresh my skills

This app has been artisanally handcrafted without the use of AI/LLMs. It was however not made with love :) I may rebuilt it with Compose

For some more direct screenshots:

Landing Page, which is a list of workouts An example of a workout in progress List of Exercises, all built by the user
Landing Page, which is a list of workouts An example of a workout in progress List of Exercises, all built by the user

TODO List

The best task tracking software is the one that you already have and already use. The following is all the outstanding topics that I would like to tackle - it does not mean that they will be tackled.

Known Bugs details problems that I am already aware of - major issues have been sorted as I use the app several times a week TODO includes new features and iterations on existing features. There's also some tech-debt hiding in there.

Out of Scope is everything that I know about, but have no intention of fixing. Some were incidentally solved along the way, but I'm not exactly sure when so they live on in this list.

Known Bugs

Moving workouts loses the timers to change colour Progression in exercise graph wanted Edit exercise Bodyparts Better points for records

  • I do get points for every new record?. Workout end summary screen Ordering problems when leaving after adding two exercises?
  • sets got added to wrong exercise!!

TODO

  • should the suggested exercise list in a workout be a view adapter? (suggestionsLayout in WorkoutActivity)
  • change current workout graph to have readable numbers
  • move ApplicationConfig to DataStore (https://developer.android.com/topic/libraries/architecture/datastore)
  • exercises should use text entry to suggest next set
  • update SDK target (edge to edge, intents, and string formatting to be checked)
  • fail color should be applied to the specific line, not title
  • Use quantity strings https://developer.android.com/guide/topics/resources/string-resource#Plurals
  • build a workout by body parts
    • done by offering the next exercise based on past stats? (should I be copying workouts more)
  • suggest sets based on past experience
  • Failed weight can't be tracked
  • New award for most points?
  • Workouts should also shine if new records set
  • set records should use proper localisation and formatting
  • add record type for "best set" which explains the most-moved record
  • be able to toggle sort most common exercises by date desc/asc
  • Calculation should be based more heavily on weight over reps
  • When going to old exercise and back, then should scroll to where it was clicked from in the list
  • add exercise to current workout from search in other list
  • move from a group selecter to a difficulty selector that includes bodyweight
  • action bar on workout could use better styling (, back button, etc)
  • spinners should be searchable
  • nicer page scrolling animations between tabs on "exercises"
  • when pressing a chip for the number of times that exercise was done, open a view of the exercises when it was last seen
  • Bodyweight - what kg to enter?
  • add average weight per set and rep in the workout overview page
  • better icons for navigation panes
  • better text for the notification action
  • profile statistics
  • better logo and splash screen
  • fix icon (lighter background, missing shine on second stickout on F)
    • add a dumbbell in bottom right of logo
  • better font
  • better icons for achievements
  • timer pause icon should be closer to time, better styled, and timer started/stops when pressing anywhere in layout
  • number of sets at current weight in notification should be displayed better (closer to the weight?)

Out of Scope

  • use firebaseDB to store the exercises when exporting?
  • allow selection of colours for resting/work/etc
  • tint of chips should be per bodypart - right now its ordered by most frequent
  • bring points to the spinners on exercise type for more flexibility? [SOLVED!] most common exercises should be based on similar exercises already in workout?
  • BUG: buttons dont line up with spinners in adding exercise (problem only if the spinner is empty) - should happen once in entire app lifecycle
  • multiple of same set should show better in current workout - collapse? (not needed, is fine in practice) [no longer triggers] BUG: "enter" when creating a new exercise component does weird stuff (should trim+enter) [no longer triggers] BUG: adding first set is swallowed when rep edit text has focus (toast shows! inputs cleared) - related to achievements? worked on latest exercise but not earlier [no longer triggers] BUG: I have animations turned off... lol [no longer triggers] Bug: app not installed when starting from bottom bar icon [no longer triggers] BUG: Search is not working

About

Fitness tracking app for Android

Topics

Resources

License

Stars

Watchers

Forks

Languages