This android application is designed to redistribute the planted crops all over the world in a way that sustains highest self sufficiency for countries and the least percentage of shortage. The targeted audience is mainly anyone who owns any agricultural land,farmers,owners,organizations and Governments. It is implemented using Codeigniter, mysql database that was fed using FAO data for prototyping purpose, but later on it should process images from satellites for this data and IBM blu-mix PaaS.

This project is solving the Food Directions challenge.


Hunger kills more people than AIDS,malaria, and tuberculosis all together(1), The number of hungry people exceeds the population of U.S., Canada, and the European Union combined(2) !!! This application aims to end the world's hunger and maintain a healthy population all over the world.This is by an algorithm that will show the best agricultural distribution.

The algorithm is as follows:

Part I (Self Sufficiency): -It tries to reach the maximum self sufficiency level by giving crops priorities according to their importance to human nutrition,replanting* areas where less prior plants are being planted with more prior plants that the country suffer shortage of (known through the country import) and stoping the exporting of crops that are being imported!

Part II (Crops Exchange): -After reaching maximum self sufficiency, there will still be a shortage in some crops, so the next step will be matching countries with excess in certain crop and other with shortage in it that have a crop to be exchanged,keep matching countries till there is no possible crop exchange available.

Part III (Get rid of the excess): -Now we get rid of any crop that is not needed by the country and cannot be exchanged by replanting the area of this crop with a needed less prior crop or if not present a crop that can be exchanged with another country in return of a needed one.

Redo the algorithm until there is nothing that can be done in part III.

(1) and (2) "Hunger Stats" Hunger. World Food Program, 2012. Web. 16 May 2012 *Replanting is done by comparing the soil type and its acidity in the prototype, and in future plant atmosphere will be put into consideration along with the possibility of planting certain plants after each other.

The visualization of this data is done by showing the worlds map with color codes representing levels of sufficiency, there are options to view these maps before and after applying the algorithm,and with respect to a certain crop, or according to priority.

Project Information

License: GNU General Public License version 3.0 (GPL-3.0)

Source Code/Project URL:


Android Source Code -
Presentation -


  • mohamed elbehiry
  • Ahmed Shaher
  • Menna Tarek
  • Mohamed Khattab
  • Ahmed Salem