Feels Like 45
Feels Like 45 is a paired-programming exercise by Laura Chuang and myself; the app was built entirely with one of us typing while the other gave direction, as an exercise in learning how to effectively think through programming decisions and communicate clearly.
The City of Toronto’s amazing Open Data initiative makes a tremendous amount of information available for free public use. Via an API call to the City's portal we grab the location of every cooling centre Toronto opens to provide relief when a Dangerous Heat Alert is declared. Using map data from OpenStreetMaps and the Leaflet.js library, Feels Like 45 displays a map of all locations in town. We also pull some data from the Dark Sky weather API to display current temperature conditions.
The biggest challenge on this project was working with the location data. Because we can't assume the user will allow our app to use their location data, we can't focus the map on where they currently are to show nearest cooling centre locations. So, by default, we focus the map on roughly the centre of town, zoomed out a bit, and provide a dropdown menu that lets users focus more tightly on one of the city's boroughs.
The tricky thing here is that the data we received back from the API call only provided latitude and longitude. This led to some tricky sorting of the data, in order to be able to say "locations at the latitude between X and Y, and between longitude A and B, are all in North York", and so on. We got there in the end and it was an interesting problem to solve!
Unfortunately, the City has since ended this program. (In its stead, they encourage people to go to their local library or mall.) The app is no longer live, since there's no data to display! It was a great experience in learning how to collaborate closely, and we're looking forward to working together on another project soon enough!