Em Andamento

Facebook App - Socially Positive

The main objective is to show your status as either needing food or not needing food, to learn the total count of people in your extended network who need food, and to identify the friends in your personal network who are closer than you, by degrees of separation, to the people needing food.

This will give users a method to monitor and react to hunger as it exists in their immediate and extended social networks. The net result will be the creation of a "person to person" food supply chain that has higher participation rates and that is less costly than other methods used to distribute food to the hungry.

## Deliverables

Project Charter

Need and Environment

More than 852 million people -- about 13 percent of the world population -- do not have enough food each day to sustain a healthy life. Yet, there is enough food produced globally to provide everyone in the world with at least 2,720 kilocalories (kcal) per person per day. A primary reason for this discrepancy is the cost and organization of food distribution.

Project Objectives

The main objective is to show your status as either needing food or not needing food, to learn the total count of people in your extended network who need food, and to identify the friends in your personal network who are closer than you, by degrees of separation, to the people needing food.

This will give users a method to monitor and react to hunger as it exists in their immediate and extended social networks. The net result will be the creation of a "person to person" food supply chain that has higher participation rates and that is less costly than other methods used to distribute food to the hungry.

Constraints

Facebook must be used for the initial version of the client application, unless another widely used social networking platform can be identified that would support the installation and usage of this application.

The server application must run on FreeBSD, MySQL, Apache, and other open source tools. (The server environment will be provided to the development team when needed.)

Functional requirements

Hunger Dashboard

The primary method of interaction with the application will be through the hunger dashboard. Once installed on to a user's profile, the following dashboard will appear to any visitors that view the user's profile:

Hunger Status

The visitor will see one of the following headlines:

Someone in my network is hungry. Help us end hunger by sharing food with me and my network (how you can help)

OR

No one in my network needs food at this time. Learn more about Hunger Monitor.

Hunger Statistics

The visitor will see the following view:

Hungry people in <user's> extended network: 67

If the user is logged in and views his/her own dashboard, he/she will be able to interact with it as follows:

Hunger Status

The user will see one of the following headlines:

Someone in my network is hungry. Help us end hunger by sharing food with me and my network (how you can help)

OR

No one in my network needs food at this time. Learn more about Hunger Monitor.

Hunger Statistics

The user will see the following view:

Hungry people in <user's> extended network: 67

Someone connected to Jason needs food (How you can help) (Ignore)

Someone connected to Sara needs food (How you can help) (Ignore)

Someone connected to John needs food (How you can help) (Ignore)

Hunger Action

The user will see the follow view:

<*> I do not need food at this time

< > I need food for myself or for those around me

Discussion -

By default, a user's hunger action is "I do not need food at this time". As soon as the user changes their action to "I need food for myself or for those around me", any of the user's friends that have the Hunger Monitor module installed on their profile will see the message "Someone connected to <food requesting user> needs food". This request will propagate to their friends of friends's profiles as "Someone connected to <friend of food requesting user> needs food" and to their friends of friends of friends' profile as "Someone connected to <friend of friend of food requesting user> needs food" and so forth until 6 degrees of separation is reached. The number of degrees that constitute the extended network will be a modifiable parameter by the Hunger Monitor server administrators. The ignore option will allow the user to remove food requests from his/her view and the views of the friends and the friends of friends that he/she is propagating the requests to.

Status will change back to "No one in my network needs food at this time. Learn more about Hunger Monitor. " if the user sets all requests for food in his/her view to "Ignore", if all users propagating food requests set these requests to ignore such that user no longer has any requests for food in his/her view, or if the initiators of requests for food change their status to "I do not need food at this time" such that the user no longer has any requests for food in his/her view.

I would imagine that managing this propagation of requests for food will require a DB-driven server application. Each time the Facebook application runs, it would query the server application for the latest information. Any actions that are initiated would also touch this server application.

The server application will provide a mechanism to query a user's extended network for the total number of "I need food for myself or those around me" requests in the extended network. This mechanism would be used by the Facebook application to update the "Hungry people in <user's> extended network" field.

The "how you can help" and "Hunger Monitor" links will hyperlink to a web page that explains how to sign up for the Hunger Monitor, if the viewer is not already a user. It will also explain how to deliver food to a person in the user's social network when the application indicates that they are connected to someone that is hungry. Generally, users will deliver non-perishable items (canned or dried food, beans, pasta, rice, etc) during regular in-person social interactions with their friends. The food will travel slowly to its final destination. Often, the food shortages will be resolved before the donated food is received by the initiating user. In these cases, the donated food will rest with someone who sits nearer to where the food request was announced. Disasters aside, since food shortages do not randomly occur in a network, so the caching of food in this manner will be a positive occurrence. Any donated food that falls short of its final destination will now be closer to the "problem areas" of the social network, more readily available the next time a food shortage occurs. There will be other recommended actions for long distance and international relationships requiring assistance.

Sign up web pages

If registration on the server is necessary, web pages should be designed to facilitate this process. Only what is absolutely necessary should be asked of users to insure that this process is as quick and as streamlined as possible.

Administrative web pages

If any administrative activities will be regularly required, administrative web pages should be designed for this purpose.

Non-functional requirements

All modules and web pages should have a clean, polished look and feel.

Question and Answer

Question #1:

Hello,

I am an experienced Facebook Developer and I am interested in this project. I'd like to get a more solid picture of this application. For starters, I'm a confused a bit about your description of the profile. Is the objective to show all the friends of the user who need food, or is it just to show that there are friends that need food. If the amount of friends that need food are too large, the list might be too big.

I will follow up with more questions later. Thanks for reading.

Answer #1:

The goal is to become aware that there is a food shortage in your extended network and to identify the 'next hop' that you can pass food to that can move food closer to the person in need.

The idea is that you will regularly interact with your friends anyway. If you are aware that they are a few hops away from someone that needs food, you can bring a few cans to them the next time you see them. In turn, they can then give the cans to their friends who are closer to the person in need. It makes it really low cost to the participants and also more personal.

The person in need is only revealed to their immediate friends. And, even then, they may be simply representing the interests of an internet-less person they know. So, privacy is maintained.

Question #2:

Could you please define what exactly you mean by extended network? Are we referring to people in their Facebook network or something else?

Answer #2:

The extended network means your friend's friends and your friend's friend's friends (and so forth), within the Facebook website, to 6 degrees of separation. The number of degrees will probably need to be a modifiable parameter for the administrator, in case we have any scalability challenges in actual operation.

Question #3:

So, being extremely vague, the main objectives of this app are to show your status as either needing food or not needing food, and to learn of all the people in your extended network who need food?

Now, I love the concept of your app, but I'm a confused how you'd be able to determine if the user who needs food is in your extended network. The Facebook API lets you retrieve all of the friends of the user, but not the friends of that users user. The only way to get around this is by creating an infinite session key for the users friend, and they'd have to use the application to generate this. So, the way I'm thinking, you'd only be able to keep going through the degrees of separation is checking the friends of the friends of the user that have the application. Would this be a problem?

Answer #3:

The main objective is to show your status as either needing food or not needing food, to learn the total count of people in your extended network who need food, and to identify the friends in your personal network who are closer than you, by degrees of separation, to the people needing food.

The identity of a person needing food, outside of your personal network, should remain obscured. You should only know the "next hop", just like an internet router.

Yes - to your point about the Facebook API - we are only going to work within the network of friends who have the application installed. I had assumed that an external database could be used help resolve the challenge you describe but perhaps your approach is better.

Habilidades: Engenharia, MySQL, PHP, Gestão de projetos, Arquitetura de software, Teste de Software, Hospedagem Web, Gestão de Site , Teste de Website

Ver mais: yet another social network, work from distance web developer, who is the web developer of facebook, where get help for web development, where can i learn web development, when people ignore you, what to learn for website development, what support will i need from management, what is the purpose of use cases, what is a vague question, what degrees you need for a web developer, website development low cost, website development in low cost, website development at low cost, website creation low cost, website app developer php, web page set up cost, web facebook developer, web development challenges, web developer website question, web developer rates, web developer profiles, web developer profile description, web developer point net, web developer personal page

Acerca do Empregador:
( 1 comentário ) United States

ID do Projeto: #3038665

Premiar a:

mojocodersvw

See private message.

$637.5 USD em 14 dias
(79 Avaliações)
6.6

17 freelancers are bidding on average $1249 for this job

aviontechnology

See private message.

$1360 USD in 14 dias
(45 Comentários)
7.8
evisionisfvw

See private message.

$3825 USD in 14 dias
(27 Comentários)
7.4
jacobdd1

See private message.

$1105 USD in 14 dias
(268 Comentários)
7.1
acapweb

See private message.

$2550 USD in 14 dias
(5 Comentários)
6.3
eztechsystems

See private message.

$688.5 USD in 14 dias
(14 Comentários)
6.1
logiglideso

See private message.

$1275 USD in 14 dias
(23 Comentários)
5.2
geniussoftwvw

See private message.

$2550 USD in 14 dias
(20 Comentários)
4.8
mindzapvw

See private message.

$850 USD in 14 dias
(7 Comentários)
4.7
brandonevans

See private message.

$488.75 USD in 14 dias
(39 Comentários)
4.6
rtpsoft

See private message.

$722.5 USD in 14 dias
(13 Comentários)
4.6
amcozarish

See private message.

$1020 USD in 14 dias
(4 Comentários)
4.7
gkeorgia

See private message.

$466.65 USD in 14 dias
(0 Comentários)
0.0
durga2009

See private message.

$1275 USD in 14 dias
(1 Comentário)
3.4
dnsglobalsl

See private message.

$1275 USD in 14 dias
(0 Comentários)
0.0
Alcoder1980

See private message.

$540.6 USD in 14 dias
(1 Comentário)
0.0
gormster

See private message.

$595 USD in 14 dias
(0 Comentários)
0.0