Server Setup (iOS app - Facebook API intermediate)

Setup a server that can act as an intermediate between an iOS app and Facebook(accessed via API).

A bit about the iOS app.

The application is envisioned to allow users to mine data on their facebook friends from their iOS device. It does this by passing a series of requests to Facebook and analyzing what Facebook returns. The server acts as an intermediate between the local application and facebook, taking the data mine parameters set out by the iOS app, sending the necessary requests to facebook, performing analysis on the results and finally sending back the results to the iOS device.

Application User Flow (UF)

1. User opens application

2. User logs into facebook (or returns to a previously opened session)

3. User searches for a facebook friend. From now on this friend will be referred to as the ‘subject’.

4. User then selects what data to gather from the subject’s timeline

5. User specifies time range for which to gather data and initiates mine.

6. Push notification sent to user’s device, notifying them that their results are ready for viewing.

7. User revisits app and is presented with the results.

8. User opts whether or not to return to step (3)

9. User exits application.

Put more simply, the user decides which facebook friend they would like to analyze. Chooses a type of data (Likes, comments, posts or interactions(a weighted sum of the three)), and runs the data mine. Sometime later (this will have to be established during testing) they will receive a notification on their device letting them know that they their results are ready. These results will show who the most frequent likers, commenters etc are for the facebook friend they chose.

(Server specific) Communication with iOS App:

In order for the data to be displayed on an iOS app, the server must have an API for the iPhone to communicate with, supporting two requests -

a) starting a new data request

b) retrieving results of a data request

When a new data request is received, the server should use the provided parameters (eg OAuth hash, ID of subject of data mine etc) to start retrieving the relevant information, using the Facebook Graph API.

Since the data mining may take a while, we don't want to keep the iOS app hanging whilst waiting for the request to return (potential problems due to app closing, battery out, bad/lost connection etc.). Instead the server should start running the data mine, and respond to the iOS app request with a confirmation that the data mine has begun (and probably a data mine ID, see below), or reporting any errors with the request parameters.

When the data mine has finished, the server should send a push notification informing the app that the results are ready.

When a results retrieval request is received, the server should then return the relevant results, using the parameters of the request (eg a data mine ID) to return the corresponding results.

Data does not need to be stored once it has been retrieved, so data can be cleared a short specified time frame (eg 12 hours) after a retrieval request has been made for them.

More technical information available on request.

Skills: Software Architecture

See more: facebook app ios server, which graph to use for data, when to use what type of graph, what is ios device, what is ios 7, what is an ios device, what graph to use for data, series 7 application, problems with ios 7, oauth architecture, ios software, ios device, ios 8.03, ios 7.1.1, ios 7.0.6, graph data type, flow problems, device type ios, connection graph, app user testing, what is an ios, starting an app, oauth ios, ios oauth, commenters

About the Employer:
( 0 reviews ) Cambridge, United Kingdom

Project ID: #5559449

3 freelancers are bidding on average $1661 for this job


Hi. Is iOS application ready? I'm ready to write server for such application. Now show please detailed information.

$1250 USD in 20 days
(3 Reviews)

Hi, I found your post and we are interested in a business relationship with you. Here we have 5 Android developers with 24 hours support for our clients’ needs. Here I am attaching some work links; ANDROID : 1. More

$1155 USD in 25 days
(0 Reviews)

Hi, We have gone through your requirement and we understand that you are looking for highly skilled, qualified, and experience Development team for your project. As our teams have work on several similar projects More

$2577 USD in 20 days
(0 Reviews)

Hey, We gone through with requirement and understood that. We have done similar Project in past. If you want to see the DEMO then contact me ASAP. Portfolio [url removed, login to view] [url removed, login to view] More

$757 USD in 6 days
(0 Reviews)