Inspiration - The four members of our team are often so involved in our own worlds, it's easy to fall out of the loop and not know the news in certain categories. In light of this, we came up with this idea.
What it does - DailyEmails is a program that prompts you for your zip code and the area of headlines you would like to receive. Once this information is inputted, the program takes this information and emails the user top headlines of the area of choice as well as a basic daily weather summary for the zip code provided. The program also adds a random inspirational quote to the email, to inspire users :).
How I built it - This program was developed using OpenWeatherAPI as well as the RequestsAPI. I started by retrieving the headlines of only technology but realized that users may want to receive headlines for other topics. Because of this, I added the ability to enter a topic from the choices of business, entertainment, health, science, sports, and technology. Once I completed this using the requests API, I had to send the email itself, which I did using the built-in python email feature and creating an email for DailyEmails itself. Once this was done, the email itself had to be created in HTML and parsed. Finally, I formatted the template email in HTML. Then, I wanted to add a feature to also get the weather for the area of the user, so I began to use the OpenWeatherAPI to use the inputted zip code to obtain the weather of the user.
Challenges I ran into - Our initial challenge was using the APIs itself. We had trouble using PIP at first to even utilize the APIs, and once we were able to get the APIs they are hard to use in themselves for a beginner so we had a steep learning curve. The next challenge we ran into was sending the email itself because there are different ways to send emails in Python and we were looking for the most optimal way to send it. Then, we ran into an issue when obtaining the weather as the OpenWeatherAPI does not split the data very easily. There were obviously smaller issues we ran into, as we are all beginners, but these were the major ones.
Accomplishments that I'm proud of - The fact that we were all beginners coming into this event and were able to create something like this with no prior experience is something we're all very proud of.
What I learned - Essentially everything that was done in this program we had to learn. Especially the use of APIs, PIP, emailing, etc.
What's next for DailyEmails - For DailyEmails, the next step is to produce a front end UI.