Skip to content
An innovative crop management system for farmers šŸŒ¾.
JavaScript CSS HTML
Branch: master
Clone or download
Latest commit 870a256 Feb 21, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
hooks first commit Feb 8, 2018
resources first release Feb 9, 2018
www first release Feb 9, 2018
.bowerrc first commit Feb 8, 2018
.editorconfig first commit Feb 8, 2018
.gitignore first commit Feb 8, 2018 readme updated Feb 22, 2018
config.xml first release Feb 9, 2018
gulpfile.js first commit Feb 8, 2018
ionic.config.json first commit Feb 8, 2018
package.json first commit Feb 8, 2018


Smart Farm is a crop management system that allots crops to farmers on the basis of the highest requirement crop predicted using machine learning from the crops that are suitable for their area according to the soil type, average rainfall etc. in their area, so that crops dont get wasted and, are produced accordingly. It consist of two apps a mobile app for the end-user i.e. the farmer, and a web-app for the admin.

Table of Contents

Mobile app

  • In the mobile app the farmer will first need to enter all his details like name, aadhar no., mobile no., the land area he has in hectares and his district and village.
  • After he enters all these details he is guided to a page where there are three tabs, in the first tab he is shown the crop that is suited for his area and currently has maximum requirement.
  • The second tab shows all the crops that can be grown in his area.
  • The third tab shows the soil type, average rainfall, soil texture and soil color in his area.
  • When the user presses the allot button he is alloted the given crop with an allotid and the requirement for that crop in the database is updated accordingly and, a sms is sent to him about the crop he is alloted with his allotid.
  • Next time the user opens the app he will only be shown his allot id, crop alloted and the other two tabs.

Mobile Application - Google Play Store
Github repository

Web app

The Web application is made up of three sections -

  • Users- It consists of all the details of the users who have registeres and the crop which is alloted to them.
  • Crop requirement- It consist of the current requirement of the crops in tonnes.
  • Prediction- It consist of the interactable plots predicted using machine learning.

Web application - Website
Github repository


The database is built on firebase and consist of two sections users and crops.

The users section consist of all the details the user enters when he registers, using aadhar no. as the key, whenever the user clicks the allot button, the alloted crop is also updated in his corresponding key.

The crops section consist of the requirement for all the crops in tonnes and whenever the user clicks allot button the amount of that crop that can be grown on his land area is subtracted from the requirement of that crop accordingly.

Machine Learning

We used the data from here and used linear regression using year and area as features and the crop production as label.

The data we got consisted of all the production of all the districts of all the states from 1997 - 2010 and we then added the production and area of the crops we wanted to plot of rajasthan using pandas and created a new data csv named final.csv.

To view the interactive plots click on prediction section here.
Github repository

Built with


You canā€™t perform that action at this time.