Inspiration
It's always lovely to discover new activities to experience in your area, but one wouldn't be able to go skiing on a 90-degree day in July. Weather is one of the most critical factors that affect one's schedule on a day off, and our team thought that a program that could recommend which activities to do would lessen the burden of planning.
What it does
A user will first input the zip code of their area, then will be redirected to an HTML site that would display the area's meteorological data such as temperature, humidity, and wind speed. The website will also display a list of activities that is appropriate based on those data.
How we built it
Our project was focused on utilizing the Openweathermap API to extract weather data by zip code and presenting it to users in an intuitive and informative way. We employed several programming languages, including Python, CSS, HTML, and JavaScript, to create a website that provides weather forecasts and corresponding activity recommendations. With Python, we were able to generate accurate weather reports and suggest activities that match the current conditions. Our user interface was designed with user experience in mind, with a simple and easy-to-use layout. We started developing the website on codepen.io and later transitioned to Visual Studio Code to be able to collaborate on the code and connect all the files together. Using link statements, we were able to make the files all work together.
Challenges we ran into
When creating the website, our team ran upon a few obstacles. We all had to quickly pick up new programming languages like HTML, CSS, JavaScript, and Flask despite having some background in web development. Our progress was slowed by this procedure taking longer than anticipated. Additionally, a flawed API key caused problems for us when we tried to retrieve data from the API. We were forced to spend time troubleshooting and solving this problem, which significantly slowed us down. In addition to that, integrating our JavaScript files into the HTML files in Visual Studio Code proved to be a technical challenge. We made every effort to fix the problem, but finally, we had to convert the JavaScript code to HTML. We also had issues with the icons, which at first didn't appear correctly. By changing the version number, we were able to fix the problem. Despite these obstacles, we were able to get beyond them and finish the job.
Accomplishments that we're proud of
Despite our lack of web development experience, we are glad to be able to make a website that is functioning! During this process, we are proud that everyone participated and had some contributions to the project. In fact, we were able to do this because we were concentrated and able to spend time wisely. Lastly, we are proud of ourselves for successfully ending our first HackTJ event!
What we learned
Although our teammates knew basic python and java, we were not familiar with web development. So most of us spent time learning new languages by watching youtube videos such as Flask tutorials or HTML tutorials. After gaining a basic knowledge of these new languages, we experimented with integrating these languages(such as HTML, CSS, and Javascript) into one website. Moreover, we came to realize that making a website is far more difficult and time-consuming than we expected before the event.
What's next for Activity Suggester
We have thought of creating an optional survey that collects information about users' interests in order to improve the user experience on our website and offer more individualized activity recommendations. By doing this, we can develop an algorithm that is more exact and accurate and proposes a range of activities that consumers could find most enjoyable. Moreover, we understand that the location of the user is a crucial factor in determining suitable activities. Therefore, we plan to integrate a map API that allows us to recommend activities based on the user's location and local environment. For instance, if a user resides in California, we would not recommend skiing since it is not a suitable activity for the area. By utilizing location-based data, we can ensure that our recommendations are tailored to the user's current location and preferences.
Log in or sign up for Devpost to join the conversation.