0% found this document useful (0 votes)
51 views25 pages

FINAL REPORT Project

Cropify project report

Uploaded by

Dhrumil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views25 pages

FINAL REPORT Project

Cropify project report

Uploaded by

Dhrumil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

CROPYFY

Project report of
Final Year, Semester-IV

Submitted in the partial fulfillment of the requirements for the degree of

Master of Computer Application


(MCA)

By

Dhrumil Oza A038

Under the guidance of

Mrs. Sofia Francis

Department of Computer Engineering

Mukesh Patel School of Technology Management & Engineering

NMIMS (Deemed-to-be University), Mumbai

CERTIFICATE OF COMPLETION

1
This is to certify that the dissertation entitled “___________” carried out
by_____________, student of MASTER OF COMPUTER APPLICATION [2022-
2023], of MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT &
ENGINEERING, MUMBAI, is hereby accepted and approved as a credible work.
Submitted in the partial fulfillment for the requirement of degree of MCA from NMIMS
(DEEMED-TO-BE UNIVERSITY),MUMBAI, It’s a bona –fide record of the work done
by him/her under my supervision during his/her stay as a project trainee at Company
Name From _______ to __________. The system has been implemented and running
successfully. We do not have any objection on the content of the report.

Sign & Name


(Project Leader)
Company Name

2
Shri Vile Parle Kelavani Mandal’s

NMIMS (Deemed-to-be University)

Mukesh Patel School of Technology Management & Engineering


JVPD Scheme, Bhaktivedanta swami Marg,
Vile Parle (w), Mumbai- 400 056.

This is to certify that the project report entitled

CROPYFY

Submitted by

Dhrumil Oza

has successfully completed the project report required for the partial fulfillment of
Master of Computer Application(MCA) Degree as per the norms prescribed by
NMIMS during the IV Semester of the academic year 2023-2024. The project report
has been assessed and found to be satisfactory.

_______________ ________________

Company Mentor’s Sign Internal Mentor’s Sign

_______________ ________________

Examiner 1 Sign Examiner 2 Sign

_______________________

DEAN

3
DECLARATION

I/We, ________ , hereby declare that the project work entitled “Project Name” is an
authenticated work carried out by me at Company Name Under the guidance of
Company Mentor Name for the partial fulfillment of the award of the degree of
MASTER OF COMPUTER APPLICATION and this work has not been submitted
for similar purpose anywhere else except to Mukesh Patel School of Technology
Management & Engineering, Mumbai, affiliated to NMIMS (DEEMED-TO-BE
UNIVIERSITY),MUMBAI.

Date:
Place: Sign &
Name of Students

4
INDEX OF CONTENT

Sr. No. Topic Page


No.

1 Introduction to Project
4.1 Project Profile
4.2 Introduction to system
4.3 Scope and Applicability of the Project

2 System Requirement Specification


5.1 Functional Requirements
5.2 Hardware Requirements
5.3 Software Requirements
3 Feasibility Study/ Survey of Technologies
6.1 Technical Feasibility
6.2 Operational Feasibility
6.3 Schedule Feasibility
6.4 Economic Feasibility.
6.5 Features of Technologies Learned/Used
4 Design and Analysis
7.1 Planning and Scheduling
7.2 Use Case Analysis / DFD Diagram
7.3 Class diagram / ER Diagram
7.4 Sequence Diagram (only for Object oriented approach)
7.5 Activity Diagram(only for Object oriented approach)
7.8 UI screens/ Wireframes
5 Implementation
8.1 Data Design
8.2 Functional Design (Input-output Form (Screen Shots))
8.3 Work Done on Project
8.3.1 Report of Activities Done

6 Testing
9.1 Test Cases
9.2 Validation
7 Key Learnings from Internship
8 Challenges During Internship
9 Conclusion and Future Expansion
10 References and Bibliography
Appendix.

Project Profile

5
Project Title : CROPYFY

Project Coordinator : Mrs.Sofia Francis

Project Guide : Mrs.Sofia Francis

Developed by : Mr. Dhrumil Oza

CHAPTER 1 : Introduction

1.1 Background:

Agriculture is the backbone of India. As we known, food stands first


in the basic need of survival, agriculture sector needs to be given the
highest preference in development. Indian agriculture sector accounts
for 18 per cent of Indian agriculture gross domestic product (GDP) and
provides employment to 50% of the country’s workforce. India is a
global agricultural powerhouse. It is the world’s largest producer of
milk, pulses, and spices, and has the world’s largest cattle herd
(buffaloes), as well as the largest area under wheat, rice and cotton. It
is the second largest producer of rice, wheat, cotton, sugarcane, farmed
fish, sheep & goat meat, fruit, vegetables and tea. The main reason for
considered Agriculture sector is because it plays a crucial role in
developing the country’s economy. The proposed System uses the
Crop Selection as the area of research since it the first and most
important step in the process of agricultural development and success
of this step guarantees increase in result of production. Agriculture

6
development provides assistance to the crop producers with the help
of various agricultural resources. As a result, it provides high
productivity with low consumption of resources. Despite the
overwhelming size of the agricultural sector, yields per hectare of
crops in India are generally low compared to international standards.
There are several factors that affect agriculture. Some of them are soil,
climate and land relief. Soil is a critical part of successful agriculture
and is the original source of the nutrients that we use to grow crops.
The nutrients move from the soil into plants that we eat like tomatoes.
Nutrients are also a part of the food animals (like cows) eat. In the end,
we benefit from healthy soil. The healthiest soils produce the healthiest
and most abundant food supplies .Farmers must use certain practices
to make sure they are taking good care of the soil. Following best
practices for crop production is essential, but prior to that, the selection
of right crop suitable for the fertile land must be ensured to make the
best use of the practices followed. Hence the System focuses on the
crop selection as it directly contributes to the crop production rate.

1.2 Objectives:
• Design a recommendation system for accurate crop selection based on
several parameters and help them make an informed decision before
cultivation.
The major parameters considered here are: Crop name, Nitrogen,
Phosphorus,
Potassium Values (NPK Values), Temperature, Rainfall, pH value of the
Soil

• To improve crop productivity by providing predictions of high


accuracy and efficiency through the recommendation technique.

• To reduce the wrong choice on a crop by application of principles of


precision agriculture.

7
1.3.1 Purpose:
• The purpose is to build a simple web application for Farmers wherein
they have to submit the Soil Nutrients and based on that data, best crop
will be recommended for them.
• A forum for people to interact with each other and develop an online
community to discuss topics related to farming.
• The important purpose is to suggest a way to fertilize the soil and to
improve the crop productivity.

1.3.2 Scope:
• There will be a Home Page for the web application where there will be
all the information related to farming and there will be two Hyperlinks.
The first one will be a simple form wherein they have to input soil
details and the best crop will be recommended to them.
• The second link will again ask for the soil details and also the crop
which the farmer wants to cultivate and based on his soil requirements
they will be suggested the best methods to fertilize their soil.
• A forum will be provided for the people to interact with each other and
develop an online community wherein they can discuss topics related
to farming.
• We can develop a complete product that will help the speech and
hearing impaired people to interpret their language with this automatic
system and help them become self-reliable and thereby reduce the
communication gap

1.3.3 Applicability:
• The application will be taking input from the users about the soil data
such as the NPK values and the soil pH level and the Rainfall in mm,
and the best crop suitable for growing will be displayed.

8
• Not only it recommends the best crop but will also suggest how to
improve the fertility of the soil.

Chapter 2: Survey of Technology

2.1.1 Data Analytics


The data analytics process has some components that can help a variety
of initiatives. By combining these components, a successful data
analytics initiative will provide a clear picture of where you are, where
you have been and where you should go.

Generally, this process begins with descriptive analytics. This is the


process of describing historical trends in data. Descriptive analytics
aims to answer the question “what happened?” This often involves
measuring traditional indicators such as return on investment (ROI).
The indicators used will be different for each industry. Descriptive
analytics does not make predictions or directly inform decisions. It
focuses on summarizing data in a meaningful and descriptive way.

The next essential part of data analytics is advanced analytics. This


part of data science takes advantage of advanced tools to extract data,
make predictions and discover trends. These tools include classical
statistics as well as machine learning. Machine learning technologies
such as neural networks, natural language processing, sentiment
analysis and more enable advanced analytics. This information
provides new insight from data. Advanced analytics addresses “what
if?” questions.

The availability of machine learning techniques, massive data sets, and


cheap computing power has enabled the use of these techniques in
many industries. The collection of big data sets is instrumental in
enabling these techniques. Big data analytics enables businesses to
draw meaningful conclusions from complex and varied data sources,
which has been made possible by advances in parallel processing and
cheap computational power.

Why Data Analytics?

9
Data analytics is important because it helps businesses optimize their
performances.

A company can also use data analytics to make better business decisions and help
analyze customer trends and satisfaction, which can lead to new—and better—
products and services.

2.1.2 Machine Learning


Machine learning is a method of data analysis that automates analytical
model building. It is a branch of artificial intelligence based on the
idea that systems can learn from data, identify patterns and make
decisions with minimal human intervention.

Why is machine learning important?

Resurging interest in machine learning is due to the same factors that have
made data mining and Bayesian analysis more popular than ever. Things like
growing volumes and varieties of available data, computational processing that
is cheaper and more powerful, and affordable data storage.

All of these things mean it's possible to quickly and automatically produce
models that can analyze bigger, more complex data and deliver faster, more
accurate results – even on a very large scale. And by building precise models,
an organization has a better chance of identifying profitable opportunities – or
avoiding unknown risks.

2.2 Flask Framework

Flask is a micro web framework written in Python. It is classified as a micro


framework because it does not require particular tools or libraries. It has no
database abstraction layer, form validation, or any other components where pre-
existing third-party libraries provide common functions. However, Flask
supports extensions that can add application features as if they were
implemented in Flask itself. Extensions exist for object-relational mappers,

10
form validation, upload handling, various open authentication technologies and
several common framework related tools.

2.2.1 Why is Flask a good web framework choice?

• Flask is flexible and comfortable. Most parts of Flask have the


possibility of changing, which is very unlikely for some other web
frameworks.

• Flask allows unit testing and would enable you to transit to a


web framework by tweaking some extensions because of its built-in-
development server, integrated support, etc.

• Flask is very beginner-friendly because of its simplicity, giving


developers room to learn and understand it better. It also enables
developers to create apps effortlessly and quickly.

• Comes with a built-in development server and fast debugger

• Coherent and neat API

• Easy and flexible configurations

• Restful and HTTP request handling

• Integrated Unit testing support

• Flask has two main dependencies – Werkzeug and Jinja2 that


provide strong WSGI support and templates, respectively.

11
Why Bootstrap?
• Time-saving

With Bootstrap, you get to use pre-made design themes and templates as
your starting point. It allows modification of its code to make the
framework suit your project’s needs.

• Easy to Use

Bootstrap is very simple to use – the setup process doesn’t take too long
and is relatively easy, even for beginners.

• Responsive Grid System

• Bootstrap has dedicated mobile-first grid system – it can divide the


screen into twelve columns to accommodate various screen sizes, thus
making its web design adaptable to all kinds of devices.

• Customizable

With Bootstrap’s design template, you can add your own twist to its CSS
file. You can also combine it with the existing code and make them
complement each other’s functions.

• Cross-browser Compatible

Bootstrap is compatible with the latest versions of all modern


browsers and platforms.

12
• Maintain Consistency
Bootstrap eliminates the use of libraries that always differ from one
developer to the other. Thus, you get to maintain the stability of your
project elements no matter who is tackling them.

• Open Source

Bootstrap is an open-source framework, meaning that you can use and


modify it without purchasing any license. Respectively, it also allows it to
grow rapidly with the help of over a thousand willing contributors on
GitHub.

CHAPTER 3: REQUIREMENTS AND ANALYSIS

3.1 Problem Definition


We are going to build a web application that will have several features
such as:

• Crop prediction using Data Analysis

• Fertilizer Suggestion

In addition to those features, we are planning to add

• A disease prediction model using machine learning

3.1.1 Problem Solution:

13
The first problem is, Which crop to grow?

The solution to this problem can be easily calculated by the NPK values.

Each crop has an NPK value associated with you, the main concern over
here would be to apply this data on a NPK table, but this application will
help us by providing a simple user interface where we will be allowed to
enter these details and we can get a simplified form of which crop will be
a better option for us.

The second problem is, How to maximise the crop production?

This problem is solved in the second module where again we will be


needed to input the soil details and then we will have to also input the crop
name that we would like to cultivate, and then the application will interpret
what nutrients the soil is lacking and based on it, the application will
suggest the best methods to improve the count of soil nutrients and which
in turn will increase the crop production.

3.2 Requirements Specification


3.2.1 Functional Requirements:

• To predict the best crop the user will be required to fill the soil details,
that is the NPK values.
• The Fertilizer suggestion page will also require the NPK data as well
as the Crop name, which the user is willing to grow and based on this
data, then the user will be suggested the best way to fertilize the soil.
• For the third Machine learning model, the user will be asked for an
image of the crop for the disease prediction.

3.2.2 Non-Functional Requirements:

14
Following Non-Functional Requirements will be there:

• Better component design to get better performance at peak time.


• The system should satisfy the maximum number of user’s needs.

INCREMENTAL MODEL

GANTT CHART

15
Chapter 4: System Design

4.1 Basic Modules

1. Crop Prediction Module:

The user is expected to put in the soil details that is the NPK
values based on which the best crop will be predicted which could
easily get cultivated based on the soil nutrients.

2. Increased crop prediction module:

In this module again the user will be asked for the soil details,
that is the NPK values again and the application will also ask
for which crop does the user wants to cultivate, based on it, the
application will calculate on which nutrients the soil is lacking

16
and then best methods will be suggested to improve the crop
production

3. Crop disease prediction Module

This module will be a disease prediction module, user will


have to input the crop photo and then the machine will predict
which disease does the crop have.

SEQUENCE :

ACTIVITY DIAGRAM

17
CLASS DIAGRAM

18
SAMPLE DATA FILE :

19
CODE :

➢ WEATHER FETCHING API :

def weather_fetch(city_name):
"""
Fetch and returns the temperature and humidity of a city
:params: city_name
:return: temperature, humidity
"""

20
api_key = config.weather_api_key
base_url = "http://api.openweathermap.org/data/2.5/weather?"

complete_url = base_url + "appid=" + api_key + "&q=" + city_name


response = requests.get(complete_url)
x = response.json()

if x["cod"] != "404":
y = x["main"]

temperature = round((y["temp"] - 273.15), 2)


humidity = y["humidity"]
return temperature, humidity
else:
return None

➢ LOGIC FOR CROP PREDICTION :

@ app.route('/crop-predict', methods=['POST'])
def crop_prediction():
title = 'Cropify - Crop Recommendation'

if request.method == 'POST':
N = int(request.form['nitrogen'])
P = int(request.form['phosphorous'])
K = int(request.form['pottasium'])
ph = float(request.form['ph'])
rainfall = float(request.form['rainfall'])

# state = request.form.get("stt")
city = request.form.get("city")

if weather_fetch(city) != None:
temperature, humidity = weather_fetch(city)
data = np.array([[N, P, K, temperature, humidity, ph,
rainfall]])
my_prediction = crop_recommendation_model.predict(data)
final_prediction = my_prediction[0]

return render_template('crop-result.html',
prediction=final_prediction, title=title)

else:

21
return render_template('try_again.html', title=title)

➢ FERTILIZER SUGGESTION :

@ app.route('/fertilizer-predict', methods=['POST'])
def fert_recommend():
title = 'Cropify - Fertilizer Suggestion'

crop_name = str(request.form['cropname'])
N = int(request.form['nitrogen'])
P = int(request.form['phosphorous'])
K = int(request.form['pottasium'])
# ph = float(request.form['ph'])

df = pd.read_csv('Data/fertilizer.csv')

nr = df[df['Crop'] == crop_name]['N'].iloc[0]
pr = df[df['Crop'] == crop_name]['P'].iloc[0]
kr = df[df['Crop'] == crop_name]['K'].iloc[0]

n = nr - N
p = pr - P
k = kr - K
temp = {abs(n): "N", abs(p): "P", abs(k): "K"}
max_value = temp[max(temp.keys())]
if max_value == "N":
if n < 0:
key = 'NHigh'
else:
key = "Nlow"
elif max_value == "P":
if p < 0:
key = 'PHigh'
else:
key = "Plow"
else:
if k < 0:
key = 'KHigh'
else:
key = "Klow"

response = Markup(str(fertilizer_dic[key]))

22
return render_template('fertilizer-result.html',
recommendation=response, title=title)

# render disease prediction result page

ScreenShots :

23
24
25

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy