Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Building a service for my website that has some foursquare features

I am interested in extending my website to provide a service which involves users "check in" in my university's campus. Since Location Based Services (LBS) is pretty new, and there are not much literature around that could provide relevant interests to this matter, I have the following questions to ask:

First, I know that I have to design an Android App and possibly an phone app application. For all I am guessing, foursquare is simply using the client to send data to their webserver back and forth.

  1. What are the standard protocols for the client to communicate with the webserver? (or is it simply just json or xml?)
  2. What kind of special web service do they use on their backend? (Like some research would reveal they are using LIFT, written in Scala which is something that I am not familiar with.).
  3. I know python pretty well. Are there webservers, i.e. django or pylons, that provide similar service to 2) above?
  4. How difficult is this really?

Also, any literature on this subject matter is greatly appreciated.

like image 207
asdfawvsdv Avatar asked Jul 03 '10 16:07

asdfawvsdv


2 Answers

Use the foursquare API.

They have pre-made libraries for both Django and Python here, those should make it easier to integrate foursquare into your website.

like image 50
indragie Avatar answered Sep 29 '22 11:09

indragie


Well, I do think a good first step would be to look at Foursquare's API, both to see if you can simply integrate with their service (i.e. look for check-ins that are to campus buildings or whatever) or just to get a picture of what they're using. Their API seems like a pretty standard web service using XML or JSON, which seems like a good practice for you as well.

There are some challenges in building a scalable web service that will handle geographic data: you'd want a database that can handle geospatial indexing for you (otherwise the algorithms can get a little complex). If you're familiar with Django, GeoDjango might be a good fit for you. I hear that Foursquare is actually switching to use MongoDB, which has some geospatial indexing features: they're likely using a NoSQL database because of their unique scaling issues which you probably don't need to worry about.

like image 26
npdoty Avatar answered Sep 29 '22 13:09

npdoty