Hi,
I’m a fresh CS graduate from the uni of Dundee (Scotland). At the moment working remotely as a GO developer (still in training).
So my Devember2021 project idea is actually the same idea I had for my honours project at uni (final year project). However, that project failed because I tried to implement it with micro-services at a time when I did not have any real world skills in this topic (plus add on top the fact that I had to also learn other topics, and other uni subjects that were going on at the same time). So here is me coming back almost making it (almost) from scratch.
The only parts that were re-used were just some authentication code.
The actual project itself is a fitness (or workout) logger that ultimately would be able to be setup by each individual to track the data that they want.
The reason why this can be a challenge is simply because every individual would want to log their workouts differently in their own way (which is why 95% of people would use notepad and pen, and I did too). The reason why I want an electronic solution is so that eventually this would be able to plot the data on charts and graphs.
Tech
Golang
Mongo
Some basic webapp tech (React or Vue…you can tell that im not too thrilled about writing frontend)
MVP v1.0
Input
Repetitions
Sets of repetitions
Changing weight mindset (dropsets)
Notes
Custom exercise types and other custom data points
Output
Historical view of different kinds of data (a table)
CSV (maybe?)
Extended MVP v2.0
Tags (which would be able to be added ideally on any data, when searched by it)
Was thinking that would be the case ye. But the reason why I was debating React was because of react native. If this is to be done properly, an actual phone app would be needed. But since i hate frontend so much and already am very familiar with js and ts, thought I might as well do Vue because I keep hearing its very easy to pick up.
Alternatively , I could use angular. Actually used it professionally before, but its been like 1 /1.5 years since then and I swear you need to relearn that framework every half a year lol
I would be a little wary of Vue Native. With React Native, you are already doing wrapping shenanigans and abstractions atop the native environments with Javascript. Vue Native is an abstraction on top of this already pretty fragile abstraction. If you will need to add some native module, you will be in for a fun time, not even talking about all of the random bugs you encounter stemming from React Native itself. It is hard enough to debug those as it is.
In addition, the project seems to be deprecated, which is the first I heard of it, but still a strike in my book. If you are deciding what to use and are not tied into Vue, it would be probably better to use plain React Native.
Have you tried looking around whether you could contribute to an existing project instead of creating another new thing? You mention that the problem has proven quite hard and there were certainly lots of people who were trying their hand at it. You could gather some significant insight from them. It might not be as much fun as a greenfield project, but it might turn out to be a little more worthwhile. At the very least, the findings from searching around and looking at what makes other projects “not right” would be quite useful
I’ve actually started up doing something like this a few times myself and never worked up the motivation to actually finish it, so kudos to you on the project. Totally out of the scope of the project but if you ever decide to do workout calorie tracking I highly recommend looking into METS. They seem to be one of the most accurate generic ways to figure up how many calories you’ve burned. Compendium of Physical Activities
Sorry for being MIA everyone. too busy with line job, etc.
At the moment im aiming to quickly finish the backend then get started on the frontend. I still have a few endpoints to complete. So far the exercise types (creating custom types of exercises) endpoint works fine, need todo the rest.
Backend is mostly finished, just needing to writte a couple of other endpoints.
In terms of the frontend, im using Vuejs and just making a “mobile optimised app” meaning that im writting a webapp designed to be used on mobile, im planning to make that a PWA out of it. It is also in feature parity with the backend.
MVP V1.0
Implemented
User custom exercises
CRUD operations
Workouts
Start/Stops
Edits/Deletes
Exercises (backend only)
CURD operations
To be implemented
Optimising data flow between client and server
Writting the the exercise functionality for the client
Will try to post more updates over the following week.
For those interested in fitness and calories burned, there was a recent study that came out that finally determined which model humans burn extra calories with, it’s compensative.
This means that our normal body energy expenditure costs are lowered when exercising so only a portion of what we think we burn for the day actually gets burned. As a double insult, the more obese you are, the greater you compensate.
People that are at the 10th percentile of the BMI distribution compensate 27.7% of activity calories, whereas people at the 90th percentile compensate 49.2% of activity calories
So Mr. Olympia only burns 72.3% of the extra calories they think they burn (the calories burned on top of what would be their normal daily expenditure if they hadn’t exercised), and Walmart shoppers only burn 50.8% of the extra calories they think the burn when you look at the entire day.
Ah, thanks for the tip, but any sort calorie calculation for me is way out of scope atm. This is literally just a notebook to note things down on, then ne able to generate graphs and more
Personally I think for cross platform mobile choices some of the best frameworks would be ionic or flutter (although with flutter you gotta learn dart).
Ionic might be part of the reason why Vue native is deprecated tbh. I don’t know the specifics of the ‘why’. But it seems redundant after ionic added VueJS support. To some degree at least.
Also, never heard of Vue native until just now. And now it’s gone. ^^
Unless you decide a PWA is enough then you can ofc just use vue.
Might be a bit late given that this is after the “1 months later part”.
haha you’ve basically guessed what im doing.
so for mvp1 im just making a fairly simple bootstrap vue app meant for the mobile, then when i end up making an mvp 2.0 (after devember) ill re-write it with ionic and vue