Inspiration
Me and a couple of my friends had a conversation over winter break about how hard it was for us to stay motivated to workout throughout the week. We ended up making a "workout pact" that we would tell the others when we worked out, and make it a bit competitive to see who did the most.
What it does
Workout Buddies tracks the number of times per week and the time per week of multiple users' workouts. It then creates a leaderboard showing who did the most that week. Users simply click "Workout entry" to fill out a form with the relevant information about their workout. The user clicks submit, and is shown a confirmation page with a link back to the main leaderboard. The leaderboard is by default sorted by workouts per week, but can also be sorted by workout time per week as well. To switch between the two, the user must click "Sort by time" or "Sort by workouts". The user can see which of the other users has worked out the most that week.
How I built it
I used HTML and CSS to create and format the pages. I used PHP to link the HTML pages to the MySQL server, and Python to process the raw input_data into the leaderboard data.
Challenges I ran into
The biggest challenge for me was that I had never used any of the technologies I used before, except for Python. My biggest challenges were just rookie mistakes that I made and then had to fix. I spent about 6 hours on Saturday not understanding why I couldn't run the .php files, before realizing that the link I was using in my browser was the direct filepath and not the localhost link.
Accomplishments that I'm proud of
I'm proud of what I did accomplish. It is a fairly basic site, not groundbreaking or anything, but I can definitively say that I did that.
What I learned
I learned a great deal about how websites are created, what SQL is, and how SQL works. I know I've only scratched the surface of those, but starting from knowing nothing about them Friday night, I've learned an incredible amount.
What's next for Workout Buddies
- Graphics. As it is, the website is not very nice too look at. I want to actually get some of my friend's help with this as they are more experienced with front end design.
- Hosting. Currently the website is only running on my localhost, so I need to get a domain and a hosting service so that others can also use Workout Buddies
- Accounts. I want to implement an account based system, since I want to implement a friends list, and only your friends will appear on the leaderboard for you.
- More data. I want to expand the amount of data collected for each workout and make it available to the user. This is so the user can compete with their friends, but also personally track how they have been doing on a detailed level.
Log in or sign up for Devpost to join the conversation.