We wanted to create a fun hack that would enable us to learn how to create a web application and how to use APIs. Since both of our project leads have a passion for music and botany respectively, we decided to create an application that would cater to both interests.
What it does
The web application tells you what your plant personality is based on your favorite Beatles song. Discover new favorite flowers while you jam out to the Beatles on repeat. Start by selecting your favorite Beatles song from the drop-down, hit start, and start reading about your new plant personality. Take a photo of the plant displayed and share it on Instagram!
How we built it
The app is coded with Flask and deployed with Heroku. We used the Spotify API (ran out of time to finalize our use of the Trefle API) in our app to retrieve the desired plant and music information.
Challenges we ran into
After we got the Trefle API working, we realized that the dataset wasn't complete. As a result, many of our get requests would return "null" on the display page. We fixed this by limiting ourselves to using plants with a complete dataset.
The biggest challenge we ran into was with Heroku. We spent several hours trying to get our web application hosted on Heroku, but we kept running into file structure errors. In the future, we would spend more time getting the application working on our local machine and less time on hosting.
You'll notice from our GitHub that our dev branch isn't merged with master. We did not have enough time to merge the dev branch that contained the python and Spotify API code with the master branch that had all of our Flask and HTML/CSS code.
Accomplishments that we're proud of
Most of the members of our team were beginner coders, so the team leads were excited to have shown them a more advanced side of coding. Every single member on our team learned something new this weekend, from GitHub basics to back-end basics. Our project idea evolved a lot over the course of the weekend due to our limited technical skills. I'm proud of our team for never giving up despite the hurdles we ran into.
What we learned
Oh man, what didn't we learn this weekend? Our beginners learned: how to use GitHub, Terminal, HTML/CSS Basics, and Flask Basics. They also learned about what an API is and how to structure a web application. Our team leads learned how to use Flask and API's as well as how not to deploy on Heroku. We got stuck a few times, but thankfully we had a lot of mentors to help us get back on track! We are grateful to have met new, amazing friends, and we hope to collaborate more in the future!
What's next for Plant Pod
We all would love to learn more about how API's work and how to successfully host on Heroku, so we can better integrate their usage into future projects. We hope to merge the code on our two Github repositories into one web app. We plan on continuing the project in the future and using it as a tool for learning new technical skills.