Interactive Systems: Tech Job Search & City Information
This project was completed as part of an undergraduate course in Interactive Systems Design & Technology, in Autumn 2016.
For this project, I used Python to create an application that lets users search for jobs related to software engineering or web development. It then brings up information or news about the city the job is located in. The application will also provide job summary information. The user can also look through articles and census information about the city where the job is located.
This application would be beneficial for:
-
People looking for jobs around the country
-
People willing to move to a different area in need of a job
-
Companies looking to expand branches into different cities
Software & Skills
-
Python
-
GitHubJobs API (search for tech/engineering jobs)
-
New York Times API (news articles)
-
geoDataService API (census data)
-
Zip code API (retrieve city zipcodes to use as value input for geoDataService API
-
HTML
-
CSS
Changes
I had originally planned to compile all the information into a csv file instead of hosting the project on a website. However, csv files do not display large bodies of text very well. Hosting the project on Google App Engine allowed for a more interactive search engine where users could open links with more information in new tabs.
In my initial write up, I had planned on using The Guardian API, but I found that the New York Times API provided a larger amount of relevant news articles.
I also had originally planned to only provide information for the job summary/company and the news articles. However, I decided that this information was not as useful as census data information, so I added in crime rates and average household income.
Issues
The geoDataService API is very slow. I wanted to use the official US Census Bureau API, but they were having a 503 Error. I messaged them on a GitHub forum, but there was no time for them to fix it by the time I needed to complete my project.
Most APIs with census information need value input of zip codes or latitude and longitude. Unfortunately, I could not find a census data API that gave back information regarding a whole city. In order for my project to work, I used another API for finding zip codes from city names.
Overall Takeaways
This project helped me learn new skills and go from coding homework to an actual interactive website. Before this course, I had no experience with Python, HTML, or CSS. In a previous course, I had learned how to use Java, but the class was more focused on replicating the output. In comparison, this project let me experience a way to use data from other sources and compile them into a website.
The HTML and CSS are not the greatest on this website because throughout the course, we were focused on learning Python. However, I was able to teach myself the very basics of web formatting and layout for the project.