So I’m looking to create an app with a particular purpose in mind and would love some suggestions/recommendations in terms of which tools to use. I am planning to write an app to track workouts (weightlifting, gymnastics, running, etc.).

My intent is to be able to enter in the various types of unique lifts or movements done on any given day. I was then hoping to create some visualizations based on frequency of various movements, muscle groups used, increases in weight over time and so on. There is also often a time component, as I do a lot of interval training, so I want to be able to keep track of pacing for particular movements. Dividing the total number of reps by the time taken is not sufficient here as work is often broken into 15 second intervals even though it is being done over the course of 10 minutes. In the end it is basically a very detailed and complicated fitness tracker.

I’m most familiar with Java/Spring, so intended to create a Spring Boot API, but was unsure of what to use beyond that. I have little to no experience working with NoSQL, which I imagine would work best here. There are plenty of different movements many of which I can’t think of off the top of my head so I would like to design it in such a way that more can be added at any given time. I was hoping to extend those points with other features though, like linking them to the muscle groups a given movement utilizes and linking all of that to a given day on a calendar. I was looking at using something like Neo4j, but don’t know enough about it or other NoSQL technologies, so there may very well be something else much better suited to someone with no prior experience like myself or just better for this particular use case.

If I did not provide enough detail I’m happy to add, just ask. Any help is greatly appreciated.

submitted by /u/TheDubiousDubber
[link] [comments]