The difference between what I had done since my last post verses what I've achieved in the past 3 days is night and day.
I decided to use Bootstrap for the time being in order to make developing a nice layout quicker. I'm not a fan of using 3rd party systems because I can't manage the code. I don't want any trackers or anything to pollute my code and I can't confirm this isn't the case without going through all the code. That being said though, I'm only using the CSS part of Bootstrap and none of the JS stuff because I don't need it.
I feel the layout looks so much nicer than how I had been progressing on my own. However, at some stage I will look at copying and modifying Bootstrap to make it my own. Until then I'm keeping it on their servers.
I've got the login system working and I've got password hashing to protect your passwords. As far as I can workout there's no plain text stuff at all in terms of the password. Checking the output in MySQL the password field is definitely hashed. How PHP hashes I don't know and I guess if hackers were truly determined then I can see them breaking the hash.
You can create an account easily and the following data is stored in the MySQL database:
- Username
- Display Name
- Password
- Confirm Password
- Date of Birth
- Height in Meters
- Gender
The last three are actually needed as they are important to calculations later on.
The Gender requirement might be a little controversial. It refers to the gender you were born as. This is important because what you decide to identify as is not set genetically and the calculations need the genetic gender. The only exception to this is if you have had gender realignment procedures that are older than 1 year. It all has to do with hormones set at your birth not a socio-political debate.
Once in you'll see this screen:
The left hand side information is taken from the data you provided on account sign-up. Pretty standard stuff. Incidentally this information is not currently, nor EVER will be supplied to anyone.
The data is pretty self-explanatory up until the list of clothing. The supplied list is generic data based on my clothing. I am wanting to moved this into a user specific list so you can weigh your own clothes and only those you created will be available to you.
Here's what my details for today look like:
Once submitted the data is calculated and you're left with some (hopefully) accurate details about your body.
Notice the Clothing Weight:? That's the weight calculated by ticking specific boxes on the previous screen. This is then subtracted from your Weight to give you your Actual Weight. Why have your clothing negatively impact your stats?
What's to do?
Have ToolTip pop-ups to document everything in order to make the system easy to use.
So I'm going to put some priority on the clothing weights MySQL table. I feel it's important to give you control over what is going to affect your statistics.
I need to add a "Profile" section where you can change your password, add clothing weights, and even delete your account if you so wish.
I also need to save each of these entries that you can keep records each use and recall those entries so you can track your body changes.
Wishlist
I want to add the following at some distant stage:
- Nutrition information
- Recipes with the ability for you to add your own
- Hive integration
- Social system, either using Hive or an internal system
Conclusion
I'm happy with how things are progressing at the moment. I've had much help from Bing CoPilot although that's also led me down the garden path a few times.
Please feel free to have a play and let me know in the comments what you think and what you would like to see added - or even removed.