https://aliu55.github.io/venushacks/

Timestamps

0:00 Question 1 (About) 0:40 Question 2 (Demo) 2:00 Question 3 (Impact) 2:20 Question 4 (Future) 2:47 Question 5 (Challenge)

Inspiration

Life can get busy sometimes. From deciding what to eat to which workout to do, making these choices every day can get difficult, overwhelming, and time-consuming. Oftentimes, it’s easy to forget to slow down and take a break. Our goal is to promote a healthy lifestyle and reduce the indecisiveness we all experience from having too many options or not knowing where to start. Be Well is a quick and simple way to incorporate health, fitness, and self care into your day. We’ve narrowed down the categories for you to choose from, but we’ll surprise you with new resources each time! So whether you only have five minutes to spare on a workout or want to destress but don’t know where to start, Be Well can help!

What it does

Be Well generates a random recipe (based on breakfast, lunch, dinner), workout (5, 15, or 30 minutes), and de-stressing activity. All users have to do is select one of three options for each of the following categories: meal, fitness, and self care. The rest is left to the app, so that users can avoid overthinking and trying to talk themselves out of an option. After clicking “Plan My Day”, users will be able to view their plan for the day. They’ll also have the ability to navigate to a recipe link, exercise video, and de-stressing video that they can follow along with.

How we built it

First, we created a paper prototype to better visualize our ideas and see the various screens the user would interact with. The prototype played a big part in understanding the implementation of our web application. For the frontend, we built it using Javascript and React with styling done by CSS. We also used the Adamam and Youtube API to give us options for recipes and fitness videos to randomize and display to the user. We used Postman to test out our API calls and made sure they worked as we intended.

Challenges we ran into

Most of our challenges were primarily centered around software design, as we needed to figure out the different components that made up our app and how they made up higher level abstractions and interacted with each other. For example, the frontend team had to determine what levels state variables should be initialized and changed, and how to pass the data stored in these states across files. We also had to better understand API documentation, as we realized we needed a more efficient way to retrieve videos from YouTube without exceeding the daily quota - hence why we decided to make requests from specific playlists instead of continuously making search queries. Finally, because we had split up into teams dealing with APIs and front-end functionality, we had to figure out a way to best integrate our work after working on our components separately.

Accomplishments that we're proud of

With all of us still new to web development, we are proud to have put together this project within 24 hours while still being able to squeeze in a much-needed nap. Our frontend team was able to create a beautiful UI despite it being a member’s first time working with Javascript and React. Our team working with API was also able to successfully call the two different APIs. It was most satisfying seeing our project slowly come together, from the initial page with three small buttons to our final working product.

What we learned

One of the many things that we learned from our mentor Ryan was how we could best structure our files in the project. We learned that choosing where to place state variables in our React files is a very important decision. Ryan also taught us the importance of async/await functions in making API calls, which helped us solve several problems.

What's next for Be Well

In the future, we’d like to use the existing YouTube API to add a wider variety of options for self-care. We also hope to add personalization of meals by allowing the user to set diet and calorie count preferences as well as allergies. We also hope to implement a login system that would allow users to save daily routines, view their history, and share their day with friends.

Built With

Share this project:

Updates