Download presentation
Presentation is loading. Please wait.
Published byArron Bradford Modified over 9 years ago
1
VENUE FINDER
2
This application provide up to date information of locations where particular music events are taking place on an specific date. The application has been designed to be extremely easy to use VENUE FINDER
3
THE GOOGLE CLOUD
4
The project is a mashup that has been developed in Python, one of the as the development languages for Google App Engine webapp framework. It is using RESTful web services from: Last FM that provide a JSON or and XML feed, which is later displayed on a Google Map using Django templates. THE APP
5
Music Remix was initially used as a an alternate version of a song. Mashup brings together elements of two or more songs, creating a new musical composition combining two or more songs. Web 2.0 Mashup is an application that combines data from disparate sources. MASHUP
6
Last FM: (geo.getEvents) gets all events in a specific location by country or city name. Does not require authentication and the only required parameter is api_key. XML feed translated into a JSON format with the format=json parameters Google Map uses URL requests to access geocoding, directions, elevation, places information from client applications and manipulate the results in JSON or XML. THE WEB SERVICES
9
main.py def post(self): venue = self.request.get('venue') artist = self.request.get('artist') logging.info('Searching for venue ='+venue) if venue == '' or artist == '': doRender( self, 'search.htm', {'error' : 'Please specify a city and an artist'} ) else: liGeoLoc = query_artist(venue, artist) xLoc=(liGeoLoc[0])['geo:lat'] yLoc=(liGeoLoc[0])['geo:long'] WEB SERVICES: LAST FM
10
main.py def query_artist(venue, artist): ArtistList = {} url = "http://ws.audioscrobbler.com/2.0/?format=json&method=geo.getevent s&location=%s&api_key=b25b959554ed76058ac220b7b2e0a026" % venue venueResult = parseJSON(url) LiGeoLoc = [] for diEvent in venueResult['events']['event']: if diEvent['title'].lower().find(artist.lower()) != -1: liGeoLoc.append(diEvent['venue']['location']['geo:point']) return liGeoLoc WEB SERVICES: LAST FM
13
_base.htm $(document).ready(function() { $('#map').jmap('init', { mapCenter:[53.347268,-6.259205], mapShowjMapIcon: false, mapZoom: 12, mapEnableScaleControl: true, mapControlSize: 'large' }); $('#map').jmap('addMarker', { pointLatLng:[{{xLoc}}, {{yLoc}}], }); WEB SERVICES: GOOGLE MAP
14
DEMO
15
THE DEMO
22
Clouds alternative of Google App Engine would be other plaftorms such us Amazon EC2 or Windows Azure. App Engine provides a restricted runtime environment but it also offers a runtime environment that scales indefinitely, and will scale as big as you want it to. Azure provides a slightly less constrained environment, which lets you write a wider array of apps, but requires you to write more code Amazon EC2 provides the ultimate do-it-yourself solution. They provide the hardware, and the storage, and not much else. CLOUD ALTERNATIVES
23
THANKS Ricardo José Flores Galán 10205403
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.