Você está na página 1de 105

DESIGN AND IMPLEMENTATION OF

HARVESTREE: A FARM MANAGEMENT SYSTEM FOR FRUIT TREES

A Project Study Report

Presented to

The Faculty of the Department of Software Engineering

Central Philippine University

Jaro, Iloilo City, Philippines

In Partial Fulfillment

of the Requirements for the Degree of

Bachelor of Science in Software Engineering

by

Arevalo, Noren S.

Belita, Patricia Arianne A.

Dela Cruz, Vince Paul B.

Macadangdang, Tristan Karlo M.

Palma, Adrean S.

Sermonia, Quim Robi S.

March 2018
ii

COLLEGE OF ENGINEERING
CENTRAL PHILIPPINE UNIVERSITY
JARO, ILOILO CITY, PHILIPPINES
0063-33-3291971 TO 79 local 1084

PROJECT STUDY APPROVAL PAGE


A Project Study entitled
HARVESTREE: A FARM MANAGEMENT SYSTEM FOR FRUIT TREES
has been presented and hereby approved by the following:
 
Project Study Panelists:
Dr. Aries Roda D. Romallosa __________________ _____________
Signature Date

Mr. Barry Jone Matutina __________________ _____________


Signature Date

Engr. Gelvie Lagos __________________ _____________


Signature Date
Project Study Adviser:
Mr. Richard Michael Coo __________________ _____________
Signature Date
Project Study Coordinator:
Mr. Eugenio Andrieu __________________ _____________
Signature Date
Department Head, SE Department:
Engr. Dany C. Molina __________________ _____________
Signature Date
Dean, College of Engineering:
Engr. Dany C. Molina __________________ _____________
Signature Date
iii

ACKNOWLEDGMENTS

The researchers would like to take this best opportunity to express their sincerest

gratitude to the following individuals who, in part or in whole, have contributed to the

completion and success of the project study:

The Almighty God for granting the researchers knowledge, wisdom, strength, patience,

and guidance all throughout the development of the application. Without Him, this project could

have never been accomplished;

The adviser, Mr. Richard Michael Coo, for his time, advice, supervision, assistance, and

involvement right from the conception of the idea, during development, and until the completion

of the project;

The coordinator, Mr. Eugenio Andrieu, for the expertise and suggestions he shared to the

researchers;

Dr. Aries Roda D. Romallosa, Engr. Gelvie Lagos, and Mr. Barry Jone Matutina,

panelists, for their time, effort, expertise, and insights that contributed to the success of this

project;

Mr. Raul Sebastian Belita III and Mrs. Anna Marie Belita for warmly opening their home

and serving the researchers with nice meals during their overnight sessions, all throughout the

course of the study.

Mrs. Hermenilda Tupas, for accommodating the researchers during the finalization of

writing the first chapters of the paper and Mr. French Neco Tupas, for kickstarting the

Harvestree idea;
iv

The parents of the researchers, for their love, patience, understanding, and support on

sleepless nights and stressful days that the researchers endured during the development of the

project;

All the friends, classmates, Daisy, and to those who played a significant part in the

realization and fulfillment of the project, a kiss of life and gratefulness for the

motivation, inspiration, and belief in the potential of the researchers to transform the Harvestree

vision into a reality.

The Researchers.
v

HARVESTREE: A FARM MANAGEMENT SYSTEM FOR FRUIT TREES

Arevalo, Noren S.; Belita, Patricia Arianne A.; Dela Cruz, Vince Paul B.;

Macadangdang, Tristan Karlo M.; Palma, Adrean S.; Sermonia, Quim Robi S.

ABSTRACT
The vast majority of Filipino farmers and farm owners lack access to modern technology

when it comes to monitoring fruit trees. Since many trees are monitored all at once, it could be

tedious to take every detail into account. Harvestree is a web application designed to mitigate

this problem and help farm owners and employees monitor fruit trees with the aid of geographic

information technology. The system primarily uses the Google Maps API for interactive

mapping and integrates various third-party services to transform data into information such as

weather and vegetation index which may influence the decisions of the farm’s stakeholders for

better fruit yield.


Table of Contents
PROJECT STUDY APPROVAL PAGE ....................................................................................... ii 
ACKNOWLEDGMENTS ............................................................................................................ iii 
ABSTRACT ................................................................................................................................... v 
INTRODUCTION ......................................................................................................................... 1 
1.1  Background and Rationale ............................................................................................... 1 
1.2  Problem Statement ........................................................................................................... 2 
1.3  Proposed Solution ............................................................................................................ 2 
1.4  Objectives of the Study .................................................................................................... 3 
  Main Objectives ........................................................................................................ 3 
  Specific Objectives ................................................................................................... 3 
1.5  Significance of the Study ................................................................................................. 4 
1.6  Scope and Limitations of the Study ................................................................................. 5 
  Scope ......................................................................................................................... 5 
  Limitations ................................................................................................................ 5 
REVIEW OF RELATED LITERATURE ..................................................................................... 6 
2.1  ESRI: ARC Geographic Information System .................................................................. 6 
2.2  Google Maps .................................................................................................................... 7 
2.3  GeoMation Farming: Agricultural Information Management System ............................. 8 
2.4  Farm Works Dispatch....................................................................................................... 9 
2.5  Cropio ............................................................................................................................. 10 
2.6  Synthesis......................................................................................................................... 11 
METHODOLOGY ...................................................................................................................... 13 
3.1  Introduction .................................................................................................................... 13 
  HARVESTREE: A Farm Management System for Fruit Trees ............................. 13 
3.2  Tools and Technologies ................................................................................................. 14 
3.3  Software Development Cycle and Agile Scrum Methodology ...................................... 17 
  Plan Preparation ...................................................................................................... 17 
  Scrum Development Approach ............................................................................... 17 
  Work Details of the Team, Sprint Length, and Capacity ........................................ 18 
  Test and Evaluation................................................................................................. 19 
3.4  Application Development .............................................................................................. 20 
  Authorization .......................................................................................................... 20 
  Tree and Area Activities ......................................................................................... 21 
  Plotting of Boundaries, Trees, and Areas ............................................................... 22 
  Realtime Data Transmission ................................................................................... 22 
  NDVI Map Layer .................................................................................................... 23 
  Weather Information ............................................................................................... 23 
  User Verification via SMS ...................................................................................... 24 
RESULTS AND DISCUSSION .................................................................................................. 25 
4.1  System Overview ........................................................................................................... 25 
4.2  System Objectives and Expectations.............................................................................. 25 
4.3  System Functionality ...................................................................................................... 26 
4.4  Use Case Views and Activity Diagrams ........................................................................ 29 
  Use Case 1: Account Management ......................................................................... 31 
  Use Case 2: Authentication ..................................................................................... 34 
  Use Case 3: Farm Management .............................................................................. 45 
  Use Case 4: Activity Management ......................................................................... 66 
  Use Case 5: Messaging ........................................................................................... 74 
4.5  Normalized Difference Vegetation Index (NDVI)......................................................... 79 
4.6  Google Maps Offline-Use Restriction............................................................................ 81 
4.7  Screenshots of the Application ....................................................................................... 82 
SUMMARY, CONCLUSION, AND RECOMMENDATIONS ................................................. 88 
5.1  Summary ........................................................................................................................ 88 
5.2  Conclusion ...................................................................................................................... 89 
5.3  Recommendations .......................................................................................................... 90 
REFERENCES ............................................................................................................................ 91 
APPENDICES ............................................................................................................................. 93 
Appendix A – Adviser Endorsement Forms ................................................................................ 94 
Appendix B – Plagiarism Review Certificate .............................................................................. 95 
Appendix C – Grammar Proofread Certificate ............................................................................ 96 

List of Figures
Figure 1: ESRI: ArcGIS ....................................................................................................................  
Figure 2: Google Maps .....................................................................................................................  
Figure 3: GeoMation Farming ..........................................................................................................  
Figure 4: Farm Works Dispatch ........................................................................................................  
Figure 5: Cropio ................................................................................................................................  
Figure 6: Scrum Development Approach .........................................................................................  
Figure 7: Team Capacity ............................................................................................................... 18 
Figure 8: General Use Case Diagram ........................................................................................... 29 
Figure 9: Use Case Diagram - Account Management .................................................................. 31 
Figure 10: Activity Diagram - Account Information Update ....................................................... 33 
Figure 11: Use Case Diagram - Authentication ............................................................................ 34 
Figure 12: Activity Diagram - Registration .................................................................................. 36 
Figure 13: Activity Diagram - New User Verification ................................................................. 38 
Figure 14: Activity Diagram – Login ........................................................................................... 40 
Figure 15: Activity Diagram - Logout .......................................................................................... 42 
Figure 16: Activity Diagram - Password Recovery ...................................................................... 44 
Figure 17: Use Case Diagram - Farm Management ..................................................................... 45 
Figure 18: Activity Diagram - Farm Creation .............................................................................. 47 
Figure 19: Activity Diagram - Farm Update................................................................................. 49 
Figure 20: Activity Diagram - Farm Deletion .............................................................................. 51 
Figure 21: Activity Diagram - Employee Addition ...................................................................... 53 
Figure 22: Activity Diagram - Employee Removal ...................................................................... 55 
Figure 23: Activity Diagram - View Employee List ................................................................... 56 
Figure 24: Activity Diagram - View Farm List ............................................................................ 57 
Figure 25: Activity Diagram - Tree Plotting................................................................................. 60 
Figure 26: Activity Diagram - Area Plotting ................................................................................ 62 
Figure 27: Activity Diagram - Current Weather ........................................................................... 63 
Figure 28: Activity Diagram - Weather Forecast ......................................................................... 64 
Figure 29: Activity Diagram - View Quick Details ...................................................................... 65 
Figure 30: Use Case - Activity Management ................................................................................ 66 
Figure 31: Activity Diagram - Activity Creation .......................................................................... 68 
Figure 32: Activity Diagram - Activity Update ............................................................................ 70 
Figure 33: Activity Diagram - Activity Deletion .......................................................................... 71 
Figure 34: Activity Diagram - View Activity ............................................................................... 72 
Figure 35: Activity Diagram - Profit Statistics ............................................................................. 73 
Figure 36: Use Case – Messaging ................................................................................................. 74 
Figure 37: Activity Diagram - Send Message............................................................................... 76 
Figure 38: Activity Diagram - Read Message .............................................................................. 78 
Figure 39: NDVI Formula ............................................................................................................ 79 
Figure 40: NDVI Legend Gradient ............................................................................................... 79 
Figure 41: Normal Image vs NDVI color map ............................................................................. 80 
Figure 42: Login Page ................................................................................................................... 82 
Figure 43: Registration Page ......................................................................................................... 82 
Figure 44: Verification Page ......................................................................................................... 82 
Figure 45: Farm List ..................................................................................................................... 83 
Figure 46: Employees List ............................................................................................................ 83 
Figure 47: Farm in Map ................................................................................................................ 83 
Figure 48: Weather Information ................................................................................................... 84 
Figure 49: Summary of Trees and Areas ...................................................................................... 84 
Figure 50: NDVI Map Overlay ..................................................................................................... 84 
Figure 51: Chat Messaging ........................................................................................................... 85 
Figure 52: Activity Creation ......................................................................................................... 85 
Figure 53: Harvest-Profit Graph ................................................................................................... 85 
Figure 54: Activity Calendar ........................................................................................................ 86 
Figure 55: Activity Information .................................................................................................... 86 
Figure 56: Reset Password Feature ............................................................................................... 87 
Figure 57: Password Reset Identity Confirmation ........................................................................ 87 
Figure 58: Password Reset ............................................................................................................ 87 
Figure 59: Update Profile Information ......................................................................................... 87 
 

List of Tables
Table 1: Feature Comparison ........................................................................................................ 11 
Table 2: Role Permissions ............................................................................................................ 20 
1

CHAPTER 1

INTRODUCTION

1.1 Background and Rationale

Technology has greatly improved how individuals interact with the world and Geolocation,

when connected to information, has helped people pin their location on a map for a variety of

purposes - primarily for convenience, may it be flagging a transportation (Uber), checking

weather and typhoon updates (PAGASA Project NOAH), exploring the world (Google Maps),

checking in to a place to let friends know where they are (Facebook), and more. Geolocation

determines and evaluates the real-world geographic position of an object, like mobile phones and

laptops connected to the Internet. In other words, geolocation involves the production of a set of

geographic coordinates and is similar to the use of positioning systems, but its effectiveness is

improved by the use of these coordinates to determine a valid location.

Global Positioning System (GPS) satellites, Cell Tower Assisted Triangulation, and

crowdsourced Wireless-Fidelity (Wi-Fi) Positioning System are some of the technologies that

made geolocation possible with decent accuracy. Several companies have changed the world by

connecting data to information and this is what the project is all about, “to connect raw position

data to relevant information.”

Harvestree: A Farm Management System for Fruit Trees aims to improve the system of

monitoring fruit trees. From the current pen-and-paper and spreadsheet methods to location-

aware devices, maps, and digital information.


2

1.2 Problem Statement

The vast majority of Filipino farmers and farm owners lack access to modern technology

when it comes to managing fruit trees. Since many trees are monitored, it is tedious to take every

detail into account such as the last date when it was fertilized, the brand of fertilizer used on a

specific date, the date when the fruit tree was planted, the rate of production, the profit earned at

a certain amount of production, and other pertinent information.

1.3 Proposed Solution

The team proposes to do a web application that primarily utilizes the Google Maps API.

The map markers/pins will be used to indicate either the locations of specific trees or areas -

depending on the preference of the user. The position markers will then be linked to information

that will tell the developments and work done on that tree or area, as well as connecting it to

other sources of information that will aid the stakeholders of the farm make better decisions. The

web application can be accessed through a web browser from a desktop for easier plotting and

will also be mobile-ready for portability.


3

1.4 Objectives of the Study

Main Objectives

1. To develop a system that will help farm owners and farmer workers monitor fruit

trees with the aid of geographic information technology.

Specific Objectives

1. To organize the information of fruit trees;

2. To deliver farm activity data on the field, through the farmers, directly to the farm

owners in real time;

3. To assist owners in monitoring the status of the fruit trees remotely via the

internet by granting the owners the option of not personally going to the field to

check on the status of the trees;

4. To assist the stakeholders of a farm in making better farming decisions;

5. To enable users to plot boundaries, areas, and markers of the farm on a map; and

6. To secure the information contained in the application and restrict access to

authorized users only.


4

1.5 Significance of the Study

The Harvestree: Farm Management System for Fruit Trees aims to innovate farming

technology when it comes to monitoring and acquiring current and historical data of the fruit

trees.

To the Farmers, it makes the farm management of the fruit trees easy; thus, saving extra

time which can be used to do other tasks.

To the Agricultural scientists, data of the fruit trees for analysis and experimentation can

be retrieved in a consistent format. The data can be processed to determine information and

optimize the processes of fruit farming that could give the best yield rate.

To the Society, since the fruit trees are being monitored, it is expected that the fruits it

yields would have higher quality than normal. Consuming high quality fruits provide more health

benefits.

To the Government, the Harvestree can be of great help when it comes to improving the

economy. With proper monitoring of the fruit trees using the system, it is expected to provide

high quality fruits which can be sold in the market with high demands or can even be exported in

other countries, thereby boosting the economy.

To the Future Researchers, it provides information about the mechanisms of a geographic

information system and its application to agriculture. It can be the basis for a more complex

study and innovate the presented concepts as more advanced technology becomes available in

the future.

 
5

1.6 Scope and Limitations of the Study

The farmer manually plots the coordinates of the fruit trees through the in-app Google Map

integration. Hence, the accuracy of the plotting depends on the user input. They may opt to use

the GPS features of their device to improve plotting accuracy. They would be able to add,

update, or delete the status, condition, and details of the trees such as harvest times, fertilizer

information, and all other relevant information about the farm.

The businessman or the owner would be able to monitor, in real-time, statistics of the

farm over the internet.

Scope

The study is limited to the details used in fruit trees only.

The study only covers the fruit trees that are planted on map-plottable terrains.

 
Limitations

The application does not include auto-detection of objects such as trees and

obstacles. They should be appropriately marked by the user manually.

The application does not support real-time satellite imagery. The application

relies on the map information provided by Google Inc. and Sinergise Ltd. and is

updated according to the discretion of the respective companies.

The application needs a working internet connection provided by the user to use

the system and to save and retrieve data stored online such as map and marker

information.
6

CHAPTER 2

REVIEW OF RELATED LITERATURE


2.1 ESRI: ARC Geographic Information System

Arc Geographic

Information System

(ArcGIS) is an online

mapping application

developed by ESRI. ArcGIS

is equipped with contextual

tools for mapping data

which allows people to


Figure 1: ESRI: ArcGIS
conceptualize what is

happening and how information is related via different spatial overviews within the platform.

It is available in 2D or 3D versions and is readily sharable to the company’s stakeholders for

easier collaboration. These views help spot spatial patterns in data so that stakeholders can

make better and informed decisions before making actions. They may also take into account

the recommendations provided by the advanced predictive modeling features of the software.

Spatial Analytics is the core of ArcGIS, as with all other geographic information

systems. The major features of this objective include computational analysis of geographic

patterns, finding optimum routes, detecting and quantifying patterns, prediction, and site

selection.

ArcGIS integrates real-time sensor data to mapping information thereby improving

operational awareness across all assets and activities. It boasts a community with the largest
7

collection of global mapping imagery and layer information. Customers are provided with

secure cloud-storage of mapping information from their business systems with integration-

ready capabilities whenever the customer decides to add more geo-enabled data from any

source.

2.2 Google Maps

Google Maps, started as a

web application, now a pre-installed

app on almost every smartphone. Its

core functions have also expanded

from basic destination guidance to

giving users useful road information


Figure 2: Google Maps

such as travel time, traffic alerts, as

well as crowdedness for places of interest. Through Google Maps, people can do their task

faster. It can also make reservations in some restaurants by just a couple of clicks. Moreover,

they can share videos and photos of their favorite places that they have visited. They can also

view some reviews to help them decide to the place that they want to visit. Before they arrive

in their destination, they can look around with street view and indoor maps. Through Google

Maps, they can use Satellite and Street View to revisit places they have already been or explore

places of their dreams.


8

2.3 GeoMation Farming: Agricultural Information Management System

GeoMation Farming

is a system dealing with

agricultural information

management. It was

produced by The Hitachi

Soft, in order to meet its


Figure 3: GeoMation Farming
customers' demand with

regards to applying information technology to agriculture. GeoMation utilizes

Geographic Information System, it works by linking customer's farm information to map

data. Hitachi aimed to deal on various hitches in agriculture areas such as soil

fertilization, food safety and security, farmland liquidity, and regional and agricultural

development promotion.

GeoMation Farming enables the customer to utilize various functions, such as

their Farm Field and Soil Information Management System, Traceability Management

System, Fertilization Design System, and Growth Forecast and Eating Quality Analysis

System. The advantage of these software is that it utilizes and manages data and

information (e.g. crops' information, fertilizers' record, and other chemical usage record)

for each farm which lead to a more efficient and precise operation flow.
9

2.4 Farm Works Dispatch

An individual can imagine

pulling up on his or her mobile

computer, a map that shows where

all vehicles are operating and their

fuel levels, how much product has

been applied or how much crop is


Figure 4: Farm Works Dispatch
harvested, and even a piece of

equipment that is going to break down.

This type of Big Brother look is now possible with telematic products that allow

navigation, location, prescription application, and other data to be transferred easily to and

from farm machinery. These systems help farmers improve efficiencies on high-priced

equipment.

Trimble developed Farm Works Dispatch, an asset tracking software and the new

DCM-300 modem, a wireless 3G connectivity provider. Both were additions to precision

farming products by Trimble's Connected Farm solution. The DCM-300 and Farm Works

Dispatch, provides access to real-time kinematic (RTK) corrections from its VRS Now

network and enables wireless transfer of information.


10

2.5 Cropio

Cropio is a

productivity management

system that allows its users

to accomplish agricultural

operations remotely and

efficiently. It is a web-based

and mobile application that


Figure 5: Cropio
is available for both

Android and iPhone users.

It provides satellite images and weather forecast and has telematics which enable it to

monitor machine performance and motion. It could also track progress within a given time

frame and keep records of data. It also equips with time analytics and forecast for the next

harvest.

Cropio can be used for field selection and monitoring of agricultural fields through

the NDVI images. Integration of this tool to create maps to be used in precision agriculture is

highly possible. It may also transfer information to the GPS and programs serving to locate

the points of collection of soil samples.


11

2.6 Synthesis

Table 1: Feature Comparison

Google Farm
Esri: GeoMation
Maps (Free Works Cropio Harvestree
ArcGIS Farming
Version) Dispatch
Farm Location
✓ ✓ ✓ ✓
Weather Data
Fruit Yield-Profit
✓ ✓
Statistics
Geo tagging ✓ ✓ ✓ ✓ ✓ ✓
Map Satellite
✓ ✓ ✓ ✓ ✓ ✓
View
Location Search ✓ ✓ ✓ ✓ ✓ ✓
Geographic
Information ✓ ✓ ✓ ✓ ✓ ✓
System
In-app
✓ ✓
Communications
Custom Data
✓ ✓ ✓ ✓ ✓
Cloud Storage
Cross-platform
✓ ✓ ✓ ✓ ✓
Compatibility

NDVI View ✓ ✓ ✓

Free ✓ ✓

As shown in the table above, these are related systems as to the proposed solution based

on the variety of features and functions.

The Esri: Arc Geographic Information System (ArcGIS) is an online software-as-a-

service cloud-based mapping platform. Next, the Google Maps has core functions that also

expanded from basic destination guidance to giving users useful road information such as travel

time, traffic alerts, as well as crowdedness for places of interest. Third, the GeoMation Farming

is an agricultural information management system that uses GIS technology to utilize and
12

provide unified management of farm information about products, producers, yields, and quality.

Then, Farm Works Dispatch is primarily an asset tracking software. And lastly, Cropio is a

productivity management system that facilitates remote monitoring of agricultural land and

enables its users to efficiently plan and carry out agricultural operations.

Therefore, the stated systems include features that can cater to some needs of the farmers,

but not as a whole. Farm owners are affected because they lack the technology of tracking the

crops, quality, yield, and profits. Sometimes, crops wither because of lack of fertilizer, and most

of all, the lack of access to digital monitoring tools. That’s why the team decided to work on

Harvestree to meet the technological needs of farmers that existing systems cannot cater to. It is

a web application to enable cross platform compatibility and mobile portability. Harvestree is a

combination of all features of the systems, and best of all, it is free.


13

CHAPTER 3

METHODOLOGY
3.1 Introduction

In the design and development of Harvestree: A Farm Management System for Fruit

Trees, the team chose the Agile Software Development Methodology: SCRUM Process. The

model promotes planning that can be adaptive planning, evolutionary development, continuous

improvement, and flexible response to change. The process has been modified by the researches

to fit their needs from planning to implementation.

HARVESTREE: A Farm Management System for Fruit Trees

Harvestree is a system that will cater to the farming needs in the Philippines and, later on,

the world especially in managing fruit trees. The people who will benefit includes farm owners

and farm workers. Farm owners have information on their fingertips when managing the fruit

farm. They have the option of accessing the digital information of fruit trees so that they can

make informed assessments and decisions regarding the state of the farm. The major features of

Harvestree are as follows:

 Tree information management

 In-app map layer plotting

 Yield-profit charting

 Weather information

 In-app communication system

 Mobile-ready access
14

3.2 Tools and Technologies

The HARVESTREE application was developed using the following software

development tools, and technologies:

1. Node.js

Node.js is an open-source, cross-platform JavaScript run-time environment for executing

JavaScript code on the server-side. The team primarily utilized this technology to develop the

application.

2. React

React is a JavaScript library for building user interfaces. The team used this library for

client-side rendering.

3. Material Design

Material Design is a design language developed by Google. The team used the Principles

of Material in designing the user interface.

3.1 Material-UI

Material-UI is a library of React components that implement Google’s Material

Design.

4. GitLab

GitLab is an online GIT repository management service. The team used this service for

version control, source code collaboration, and continuous integration.


15

5. Google Maps

Visual map data was retrieved from Google Maps. The API enabled the users to drag

marker pins and place it at the approximate location of the fruit tree. They also have the

option to use the geolocation feature of their mobile phones (via GPS) and stand near the

target tree to improve accuracy.

6. Mocha

Mocha is a JavaScript testing framework. The team utilized this tool for unit testing and

integration testing.

7. Jest

Jest is a testing platform to test JavaScript codes including React applications. The team

used this technology to test React components and how it behaves to state changes.

8. BurstSMS

BurstSMS is a bulk SMS messaging service that enables SMS messages to be delivered

from the web to mobile phone terminals. The team used this technology for verification

requests during registration and password resets.

9. Scrum

Scrum is a framework for project management. It is the software development

methodology used by the team in developing the application and it was modified to fit the

needs of the team.

10. Heroku

Heroku is a cloud Platform-as-a-Service(PaaS). Heroku is used by the team to host the

application online.
16

11. MongoDB

MongoDB is a cross-platform and open-source document-oriented database. It was used to

store all the user information and data of the system.

12. Sentinel-2 NDVI Maps

NDVI Maps is a collection of satellite map information layer of the Sentinel-2 provided by

the Copernicus Program. NDVI is used by the team to display and quantify green vegetation

in terms of color to help farm stakeholders determine the parts of the farm that are starting to

cease photosynthetic activity and risk becoming wilted.


17

3.3 Software Development Cycle and Agile Scrum Methodology

Plan Preparation

On this phase, the team gathered requirements and decided on the architecture and

technology stack to be used. The team also discussed the project scope and organized the high-

level requirements needed by the system. During this phase, the team was able to estimate the

duration of the entire project.

Scrum Development Approach

Figure 6: Scrum Development Approach

The team first gathered the requirements. After this stage, the team created a product

backlog which is composed of user stories based on the requirements. After story creation, the

team quantified the size of the stories through a planning session called, “planning poker”. By

giving values to the user stories, the team can decide the stories to be done for each sprint. The

stories are divided into manageable tasks which a member can voluntarily choose. Every day

during the duration of the sprint, the team convened in a quick meeting called, “daily stand up
18

meeting”. In this activity, the team discussed what they have done, what they will do, and if there

are impediments that hinder them to complete the task. After every sprint, the team conducted

sprint retrospective and sprint review. During sprint retrospective, the team discussed what they

could do to improve the processes and performance on the next sprint. While on a sprint review,

the team reviewed the current build progress of the whole system.

Work Details of the Team, Sprint Length, and Capacity

Figure 7: Team Capacity

The team was composed of a Scrum Master, a Product Owner, and the Development

Team. Each member of the team will commit his or her availability, measured in hours, for a

sprint. This will enable the team to estimate their capacity and make informed decisions about

the duration of the sprint.

The Scrum master was the one who facilitated team meetings. He supervised the Scrum

processes, coached the team, and removed immediate impediments of the members. He managed

the flow of information exchange between concerned parties.

The Product Owner has the vision of the finished product. He was the one who clarified

the details of the product backlog items and their respective acceptance criteria.
19

The Development Team defines the work and effort necessary to meet their

commitments. They were the people who turned the ideas of the product owner into reality by

using software tools as solutions.

Test and Evaluation

The team has used the testing tools and techniques defined in Chapter 3.2 to execute this

phase. The Product Owner has been consulted during evaluation to make sure that the

requirements have been met before the team marked the task as done.
20

3.4 Application Development

This section discusses how the researchers used the tools and technologies, defined in

Chapter 3.2, to develop and meet the objectives of the application.

Authorization

Objectives met:
 To secure the information contained in the application and restrict access to

authorized users only.

The system enables farm owners to control access permissions. Farm owners assign roles

and restrict the actions done by the roles specified on Table 2.

Action Farm Owner Farm Manager Employee


Able to create a new tree ✓ ✓ ✘
Able to create a new area ✓ ✓ ✘
Able to upload images ✓ ✓ ✓
Able to create a new activity ✓ ✓ ✓
Able to send a chat message ✓ ✓ ✓
Able to edit an activity ✓ ✓ ✓
Able to edit an area ✓ ✓ ✘
Able to edit farm information ✓ ✘ ✘
Able to edit a tree ✓ ✓ ✘
Able to edit a sent message ✘ ✘ ✘
Able to delete an activity ✓ ✓ ✓
Able to delete an area ✓ ✓ ✘
Able to delete a farm ✓ ✘ ✘
Able to delete a tree ✓ ✓ ✘
Able to delete a sent message ✘ ✘ ✘
Able to delete an uploaded images ✓ ✓ ✓
Table 2: Role Permissions
21

Tree and Area Activities

Objectives met:

 To organize the information of fruit trees.

 To assist owners in monitoring the status of the fruit trees remotely via the
internet granting the owners the option of not personally going to the field to

check on the status of the trees.

The user may create distinctive types of activities for each marker of a tree or the areas of

trees of the farm which the user inputs and the system saves in the database. The following are

the activity types that the system prompts at the user:

1. Fertilizer Application

2. Field Report

3. Harvest

4. Land Preparation

5. Pest Control

6. Watering

7. Weed Control

The user may add remarks and attach photo to the activity. The activities are then

displayed on a calendar to classify them by the time and date that the activity was done or is

planned to be performed.

The researchers installed an external module for the calendar and graph display and the

data shown were fetched from the database. In activities with quantitative data like the ‘Amount
22

of Harvest’ and ‘Profit’, these elements were displayed in a graph to correlate the harvest-profit

statistics of the activities per month.

Plotting of Boundaries, Trees, and Areas

Objectives met:

 To enable users to plot boundaries, areas, and markers of the farm on the map.

The researchers used the Google Maps API in order to generate an interactive map for the

application. Since the project was done using React, the researchers used an external module that

converts the API into React-friendly components.

The map allows the user to switch from road view to satellite view or vice versa. It is also

the source of the latitude and longitude data which is used in other parts of the application. Using

this technology, the researchers were able to integrate an interactive map interface which allowed

the user to draw an overlay on the map to either mark boundaries, trees, and areas of the farm.

Realtime Data Transmission

Objectives met:

 To deliver farm activity data on the field, through the farmers, directly to the

farm owners in real time.

The researchers used the feathers service events to broadcast new data to the users,

implementing additional filters so that the data is only sent to authorized clients.
23

NDVI Map Layer

Objectives met:

 To assist the stakeholders of a farm in making better farming decisions.

The system uses map tile information from the Sentinel Hub by Sinergise. The tile

information is integrated with the Google Maps API as an overlay to provide a seamless

experience for the user. The tile information is updated by Sinergise every 5 days.

Weather Information

Objectives met:

 To assist the stakeholders of a farm in making better farming decisions.

The researchers used the OpenWeatherMap API to give insight to the user about the

current weather of a specific place. OpenWeatherMap’s weather service is based on the VANE

Geospatial Data Science platform. Through this, the user can track the current temperature and

weather conditions.

The system retrieves the longitude and latitude data of a specific farm’s center plotted

from the Google Maps API during farm creation. By using this data, we can view the weather

information using the OpenWeatherMap API. The service requires a specific name of a place or

the longitude and the latitude of a place to show the current weather condition and a 5-day

forecast which is updated every 3 hours. Since the system is limited in the Philippines, the

researchers checked that the information given correlates with the PAGASA (Philippine

Atmospheric Geophysical and Astronomical Services Administration).


24

User Verification via SMS

Objectives met:

 To secure the information contained in the application and restrict access to

authorized users only.

The researchers would like to restrict the usage of the application within the Philippines

and the user must be verified first before using the system. To address this, the researchers used

SMS verification to make sure that the user is legitimate and also to mitigate spam. The

BurstSMS REST API is used to send the SMS verification message from the web to a mobile

phone terminal at $0.10 per message.

The system generates and sends a 6-digit code after user registration to the mobile

number entered by the user. The user will enter this code on the verification page to confirm his

identity. The same process is also followed when the user wants to retrieve his password.

The 6-digit verification code may be brute forced over an optimistic time of 3 minutes –

depending on resources. Due this, the system is configured to invalidate the code once an invalid

request is attempted or after a period of time.


25

CHAPTER 4

RESULTS AND DISCUSSION

4.1 System Overview

Harvestree is a farm management application that features a set of functionalities to

provide simple, efficient, and innovative methods of managing and monitoring farms. It was

designed and developed to help farm stakeholders monitor the farm with the help of Geographic

Information System Mapping Technology via Google Maps, a web mapping service developed

by Google.

It also contains features which can aid to analyze farm performance and status. Moreover,

the application enables the farm owners to monitor their farm and employees at any time without

personally going to the field. It was built as a web-based application which can be accessed using

a web browser in the desktop and it also looks equally great on smart phones.

4.2 System Objectives and Expectations

The application has a core objective of innovating the existing methods of farm

management and monitoring. It incorporates features such as tree and area plotting and activity

recording which would greatly improve the way farm information is being managed. The

application is able to generate annual harvest-profit statistics overview once there is sufficient

information. Farm owners can search and add employees to the farm. Furthermore, they can also

monitor their employees once added. With Harvestree, the way farm owners and employees do

their regular management and monitoring tasks become undemanding.


26

4.3 System Functionality

Harvestree has the following main functionalities.

 User Authentication

This function requires the user to register an account before they can use the

application. When the user has already an account, the system requires them to log in

using the username and password that the user has created.

 Account Verification

After creating a new account, the system requires the user to verify their account

by sending a verification code to the mobile number they have provided during

registration. The code will be sent via text message to the user, and it will be entered

into the system before the user can enjoy the full features of Harvestree.

 User Profile Setting

The user has the ability to modify their personal details like name, address, and

date of birth. This function also allows the user to change their password whenever

they decide to.

 Farm Creation

The user can create a virtual representation of their farm on the application by

locating it using the Google maps and plotting its position. The user who created the

farm will be assigned to the role of a farm owner which has the capability to add
27

other users to the farm as their employees. They could also create multiple farms and

be employed in another farm.

 Employee Management

Each farm has its own list of employees, and the farm owner has the capability to

add and remove employees and managers to the farm. The farm owner could search

the employee to add if they have an existing account. If they do not have an account

yet, the farm owner could send an invitation link to the employee to let them create an

account.

 Tree and Area Plotting

This functionality allows the farm owners and their employees to mark a certain

fruit tree or an area of fruit trees in the map. The marked fruit tree or area of fruit

trees can be added with activities and be monitored.

 Farm Activity Creation

The users, which includes the farm owner and the employees that are authorized

to access a farm, have the ability to create activities on every tree and area plotted on

the farm. The user can add farm activities which are “Watering”, “Harvest”, “Pest

Control”, “Weed Control”, “Fertilizer Application”, “Field Report”, and “Land

Preparation”. These activities are for keeping track of the status of each trees and

areas on the user’s farm. The activities that the user creates are archived on a calendar

for ease of use.


28

 Harvest-Profit Statistics

One of the farm activities that can be added to the trees and areas on a farm is

“Harvest”. It is the activity that the harvest-profit graph gets the data from. The

Harvest activity contains the amount of harvest and profit information which is the

data used by the graph.

 In-app Messaging

This functionality lets the farm owners and their employees within their assigned

farm communicate through instant messaging.

 Normalized Difference Vegetation Index (NDVI Mapping)

The system uses a third-party mapping API called Sentinel to retrieve NDVI map

tiles from the Sentinel S2 satellite and overlay these tiles to the Google Maps API

primarily used by the application for interactions. Sentinel processes the satellite

images and maps a color depending on the system’s calculation of a certain area.

NDVI is used to determine plant activity. It relies on the principle that the

chlorophyll in living plant material strongly absorbs visible light, and strongly reflects

near-infrared light. Further details about this is discussed on Chapter 4.5.


29

4.4 Use Case Views and Activity Diagrams

The following diagram illustrates the general use case of Harvestree. This use case view

shows the main roles present in the application and how these users interact with the system in

various ways.

Figure 8: General Use Case Diagram


30

The general use case diagram shows the scope of the system. It describes the interactions

between the system and the users of the system. In this diagram, the actors are the Farm Owner,

the Farm Manager which is ideally the system role assigned by the Farm Owner to do

administrative tasks and help out in farm management, and the Employee which is ideally the

system role assigned to the Farmer. These actors have an association with the use cases in what

they can do in the system.


31

Use Case 1: Account Management

This use case is for all verified users when they want to manage their account information

in the system.

Figure 9: Use Case Diagram - Account Management

4.4.1.1 Account Information Update

Use Case ID: UC-1.1


Use Case Name: Account Information Update

Actor: Verified User


Description: The actor chooses to update profile information.
Preconditions: 1. The actor must have an account.
2. The actor must be authenticated and authorized.
3. The actor is in the account management page.
Postconditions: 1. The user information is successfully updated.
2. The date information of the ‘lastUpdateAt’ field of the user
document will internally be changed to reflect the date and time
when the request is successfully carried out.
Main Course: 1. The actor decides to update one or many of the following
information:
a. First Name
b. Middle Name
c. Last Name
d. Address
e. Contact Number
f. Date of Birth
32

g. Password
1. The actor inputs the preferred information changes.
2. The actor presses the confirmation button to save the changes.
3. The system validates the inputs.
4. If there are no errors, the changes are saved and the actor is notified
that the changes are successfully saved. Otherwise, see EX.1 and
EX.2 on how errors are handled.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon saving.
1.1. The final notification will show ‘Internal Server Error’.
2. The actor’s inputs do not follow the system’s predefined rules.
2.1. The system displays errors if they exist and highlights the fields
where the error occurs along with an explanation. The action
will not proceed unless the errors are satisfied by the actor.
Assumptions: 1. The actor has a stable internet connection.
Notes and None.
Issues:
33

Figure 10: Activity Diagram - Account Information Update


34

Use Case 2: Authentication

This use case is for all users when they want to authenticate their account for the system

to grant them access to authorized features.

Figure 11: Use Case Diagram - Authentication

4.4.2.1 Registration

Use Case ID: UC-2.1


Use Case Name: New User Registration

Actor: Unregistered User


Description: The actor chooses to create an account.
Preconditions: 1. The actor is not authenticated.
2. The actor is in the homepage.
Postconditions: 1. The actor is successfully logged-in.
2. The SMS verification page is shown to the actor.
Main Course: 1. The actor navigates to the registration page.
2. The system displays the registration form.
3. The actor fills-in the information asked by the system:
a. First Name
35

b. Middle Name
c. Last Name
d. Address
e. Contact Number
f. Date of Birth
g. Password
4. The actor presses the ‘r\Register’ button.
5. If there are no errors, the registration proceeds. Otherwise, see
EX.1 and EX.2 on how errors are handled.
6. A verification code is sent via SMS to the contact number
registered by the actor.
7. The actor is redirected to the verification page.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon saving.
1.1. The notification will show an ‘Internal Server Error’ message.
2. The inputs do not follow the system’s predefined rules.
2.1. The system displays errors if they exist and highlights the
fields where the error occurs along with an explanation.
2.2. If the errors are satisfied by the actor, reg
Assumptions: 1. The actor has a stable internet connection.
2. The registered contact number of the actor must be a Philippine
mobile phone number.
Notes and Issues: None.
36

Figure 12: Activity Diagram - Registration


37

4.4.2.2 New User Verification

Use Case ID: UC-2.2


Use Case Name: New User Verification

Actor: Registered Unverified User


Description: The actor verifies the account via a 6-digit code sent via SMS.
Preconditions: 1. The actor has been successfully registered.
2. The actor is not yet verified.
3. The actor is in the verification page.
Postconditions: 1. The actor is successfully verified.
2. The system presents a congratulatory page to the actor upon
successful verification.
Main Course: 1. The actor receives a 6-digit code via SMS to his registered
Philippine mobile contact number.
2. The actor enters the 6-digit code to the verification page.
3. If the 6-digit code is valid, the actor is verified successfully.
Otherwise, see EX.1 on how an invalid code submission is handled.
Alternative None.
Courses:
Exceptions: 1. The 6-digit code is invalid.
1.1. An error is shown to the user informing that the code is
invalid.
1.2. The user is asked to request a new code.
1.3. Return to MC.1
2. The 6-digit code has expired.
2.1. An error is shown to the user informing that the code has
expired.
2.2. The user is asked to request a new code.
2.3. Return to MC.1
Assumptions: 1. The actor has a stable internet connection.
2. The registered contact number of the actor must be a Philippine
mobile phone number.
Notes and Issues: 1. The resending of the code upon a failed attempt is a security
measure of the application to prevent brute-force attacks on the 6-
digit code.
38

Figure 13: Activity Diagram - New User Verification


39

4.4.2.3 Login

Use Case ID: UC-2.3


Use Case Name: User Login

Actor: Registered User


Description: The actor wants to login.
Preconditions: 1. The actor is not authenticated.
2. The actor is in the homepage.
Postconditions: 1. The actor is successfully logged-in and the system displays the
farm management dashboard.
Main Course: 1. The actor navigates to the login page.
2. The system displays the login form.
3. The actor fills-in the information asked by the system:
a. Username
b. Password
4. The actor presses the ‘Login’ button.
5. If there are no errors, the login authenticatication proceeds.
Otherwise, see EX.1 and EX.2 on how errors are handled.
6. The actor is redirected to the farm management dashboard.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon login.
1.1. An ‘Internal Server Error’ message is shown.
2. The user does not exist.
2.1. An error is shown to the user informing that either the
username or password is invalid.
3. The user is not verified.
3.1. The verification page is shown.
Assumptions: 1. The actor has a stable internet connection.
Notes and Issues: None.
40

Figure 14: Activity Diagram – Login


41

4.4.2.4 Logout

Use Case ID: UC-2.3


Use Case Name: User Logout

Actor: Registered User


Description: The actor wants to logout.
Preconditions: 1. The actor is authenticated.
2. The actor is in any page of the application.
Postconditions: 1. The actor is successfully logged-out.
Main Course: 1. The actor clicks the hamburger icon on the upper-left side of the
application.
2. The system presents an application drawer.
3. The actor clicks the ‘Logout’ button at the bottom of the
application drawer.
4. The actor is redirected to the homepage.
Alternative 1. The actor clears the browser’s application data.
Courses: 1. The user is deauthenticated and redirected to the
homepage upon page refresh.
Exceptions: None.
Assumptions: 1. The actor has a stable internet connection.
Notes and Issues: None.
42

Figure 15: Activity Diagram - Logout


43

4.4.2.5 Password Recovery

Use Case ID: UC-2.5


Use Case Name: Password Recovery

Actor: Registered User


Description: The actor has forgotten the password to the account and wishes to reset it.
Preconditions: 1. The actor is not authenticated.
2. The actor is in the ‘Forget Password’ page.
Postconditions: 1. The actor has successfully changed the password.
2. The system presents a congratulatory page to the actor upon
successful password reset.
Main Course: 1. The actor enters the username of his account.
2. A 6-digit code is sent to the registered contact number associated to
the username entered by the actor.
3. The system shows the SMS verification page.
4. The actor enters the 6-digit code to the verification page.
5. If the 6-digit code is valid, the actor is verified successfully.
Otherwise, see EX.1 on how an invalid code submission is handled.
Alternative None.
Courses:
Exceptions: 1. The 6-digit code is invalid.
1. An error is shown to the user informing that the code is
invalid.
2. The user is asked to request a new code.
3. Return to MC.3
2. The 6-digit code has expired.
1. An error is shown to the user informing that the code has
expired.
2. The user is asked to request a new code.
3. Return to MC.3
Assumptions: 1. The actor has a stable internet connection.
2. The registered contact number of the actor must be a Philippine
mobile phone number.
Notes and Issues: 1. The resending of the code upon a failed attempt is a security
measure of the application to prevent brute-force attacks on the 6-
digit code.
44

Figure 16: Activity Diagram - Password Recovery


45

Use Case 3: Farm Management

This use case is for verified users when they want to manage the farms they own or to
manage the farms they are employed to.

Figure 17: Use Case Diagram - Farm Management


46

4.4.3.1 Farm Creation

Use Case ID: UC-3.1


Use Case Name: Farm Creation

Actor: Verified User


Description: The actor chooses to create a farm.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm management dashboard.
Postconditions: 1. The actor successfully created a farm.
2. The actor views the newly created farm.
Main Course: 1. The actor clicks the ‘Create Farm’ button.
2. The system presents a map.
3. The system determines the user’s location and displays it as the
map’s center.
4. The actor plots a polygon for the farm boundary.
5. The actor clicks ‘Plot Farm’ button.
6. The system shows a modal with a create farm form.
7. The actor fills-in the following information required by the
system.
1. Farm Name
2. Farm Description
8. The actor clicks the ‘Done’ button to submit the information.
9. The system redirects the actor to the farm management dashboard
Alternative 1. The actor wants the center to be in a different location other than
Courses: the presented center.
1. The actor uses the location search bar to find the
approximate area to plot the farm’s boundaries.
2. Proceed to MC. 4
Exceptions: 1. The backend fails for some reason upon creating farm.
1. An ‘Internal Server Error’ message is shown.
2. Boundaries are not enclosed nor plotted.
1. The system shows a ‘Please set boundary first’ notification.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
47

Figure 18: Activity Diagram - Farm Creation


48

4.4.3.2 Farm Update

Use Case ID: UC-3.2


Use Case Name: Farm Update

Actor: Farm Owner


Description: The actor chooses to update a specific farm.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm management dashboard.
Postconditions: 1. The system successfully updates the farm information.
2. The actor sees the new farm information.
Main Course: 1. The actor clicks the ‘Update’ icon.
2. The system redirects the actor to a map where the current farm
boundaries are plotted.
3. The actor modifies the farm boundary.
4. The actor clicks the ‘Update Farm’ button.
5. The system shows a form containing the current farm details.
6. The actor modifies following information:
1. Farm Name
2. Farm Description
7. The actor clicks the ‘Done’ button to submit the information.
8. The system redirects the actor to the farm management dashboard
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon modifying the farm.
1. An ‘Internal Server Error’ message is shown.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
49

Figure 19: Activity Diagram - Farm Update


50

4.4.3.3 Farm Deletion

Use Case ID: UC-3.3


Use Case Name: Farm Deletion

Actor: Farm Owner


Description: The actor deletes a one of his own farms.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm management dashboard.
Postconditions: 1. The system successfully deletes the farm.
2. The actor doesn’t see the deleted farm in the farm list.
Main Course: 1. The actor clicks the ‘Trash’ icon.
2. The system shows a confirmation modal.
3. The actor clicks ‘Yes’ button.
4. The system shows a notification message that the farm has been
successfully deleted.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon deleting the farm.
1. An ‘Internal Server Error’ message is shown.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
51

Figure 20: Activity Diagram - Farm Deletion


52

4.4.3.4 Employee Addition

Use Case ID: UC-3.4


Use Case Name: Employee Addition

Actor: Farm owner, Farm Manager


Description: The actor wants to add employee for the farm.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm management dashboard.
Postconditions: 1. The actor successfully adds the employee for a farm.
2. The system redirects the actor to the farm management dashboard.
Main Course: 1. The actor clicks the ‘Employee’ icon.
2. The system presents a modal containing the add employee text
field and the list of employees.
3. The actor searches for the employee using keywords.
3.1. Keywords
a. First name
b. Middle name
c. Last name
d. Username
4. The system shows a selection that matches the keyword to an
existing and active user.
5. The actor clicks the ‘Add Employee’ button.
6. The selected employee gets added to the employee list.
7. The actor clicks the ‘Done’ button.
8. The system closes the modal and returns to farm management
dashboard.
9. The system shows a notification that the employee list of the farm
is successfully updated.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon adding the employee.
1. An ‘Internal Server Error’ message is shown.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
53

Figure 21: Activity Diagram - Employee Addition


54

4.4.3.5 Employee Removal

Use Case ID: UC-3.5


Use Case Name: Employee Removal

Actor: Farm Owner, Farm Manager


Description: The actor deletes an employee of the farm.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm management dashboard.
Postconditions: 1. The actor successfully removes the employee.
2. The actor never sees the removed employee from the list.
Main Course: 1. The actor clicks on the ‘Employee’ icon.
2. The system opens the modal showing the list of employees and
‘add employee’ form.
3. The actor clicks the ‘Trash’ icon.
4. The system shows a confirmation modal.
5. The actor clicks the ‘Yes’ button.
6. The system removes the deleted employee from the list.
7. The actor clicks the ‘Done’ button.
8. The system closes the modal and returns to the farm management
dashboard.
9. The system shows a notification that the employee list has been
successfully updated.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon employee removal.
1.1. An ‘Internal Server Error’ message is shown.
2. The actor clicks the ‘No’ button.
2.1. The confirmation modal closes.
2.2. Resume from MC. 2
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
55

Figure 22: Activity Diagram - Employee Removal


56

4.4.3.6 View Employee List

Use Case ID: UC-3.6


Use Case Name: View Employee List

Actor: Farm Owner / Farm Manager


Description: The actor wants to view the list of employee of specific farm.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm management dashboard.
Postconditions: 1. The actors views the list of employee.
Main Course: 1. The actor click employee icon.
2. The system opens modal showing the list of employee and add
employee form.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon creating farm.
1.1. An ‘Internal Server Error’ message is shown.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.

Figure 23: Activity Diagram - View Employee List


57

4.4.3.7 View Farm List

Use Case ID: UC-3.7


Use Case Name: View Farm List

Actor: Farm Owner / Farm Manager / Employee


Description: The actor wants to view the list of farms.
Preconditions: 1. The actor is logged in.
Postconditions: 1. The system shows list of farms.
Main Course: 1. The actor is in the farm management dashboard.
Alternative Courses: None.
Exceptions: 1. The backend fails for some reason upon creating farm.
1.1. An ‘Internal Server Error’ message is shown.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.

Figure 24: Activity Diagram - View Farm List


58

4.4.3.8 Tree Plotting

Use Case ID: UC-3.8


Use Case Name: Tree Plotting

Actor: Farm Owner, Farm Manager


Description: The actor wants to start plotting trees.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm management dashboard.
Postconditions: 1. The actor views the farm boundary with tree marker.
2. The system notifies the actor that the tree has been successfully
plotted.
Main Course: 1. The actor clicks the ‘Farm Name’.
2. The system redirects the actor to the farm’s map page.
3. The actor clicks marker icon on the toolbox.
4. The system shows a list of different kinds of markers.
5. The actor selects a marker.
5.1. The actor may use the default marker by clicking directly at the
farm boundary without selecting any marker from the list.
6. The actor plots trees using the selected marker.
7. The system opens a modal containing an add marker form.
8. The actors fills-in the following information:
a. Marker type
b. Marker description
9. The actor clicks the ‘Submit’ button.
10. The system closes modal and returns the actor to the farm page.
11. The system notifies the actor that the tree has been successfully
plotted.
Alternative 1. The actor has enabled the ‘Quick Plot’ feature.
Courses: 1.1. The actor selects a marker.
1.2. The actor may use the default marker by clicking directly at the
farm boundary without selecting any marker from the list.
1.3. The actor plots trees using the selected marker.
1.4. The system opens a modal containing an add marker form.
1.5. The actors fills-in the following information:
a. Marker type
b. Marker description
1.6. The actor clicks the ‘Submit’ button.
1.7. The actor continuously plots trees with the system
automatically filling in the same information that was
previously accepted by the system.
Exceptions: 1. The backend fails for some reason upon plotting a tree.
1.1. An ‘Internal Server Error’ message is shown.
2. The inputs do not follow the system’s predefined rules.
59

2.1. The system closes the modal and shows an ‘Invalid Data’
notification. The inputs are temporarily preserved on the field
but are not persisted to the system.
2.2. Resume from MC. 6
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and None.
Issues:
60

Figure 25: Activity Diagram - Tree Plotting


61

4.4.3.9 Area Plotting

Use Case ID: UC-3.9


Use Case Name: Area Plotting

Actor: Farm Owner, Farm Manager


Description: The actor wants to start plotting area for crops.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm management dashboard.
Postconditions: 1. The actor sees the farm with plotted area boundaries.
2. The system notifies the actor that the new area has been
successfully plotted.
Main Course: 1. The actor clicks the ‘Farm Name’ on the list.
2. The system redirects the actor to the farm page.
3. The actor enables the drawing mode.
4. The system shows the drawing manager.
5. The actor plots the enclosed boundaries for the area marker.
6. The system opens modal with marker informations.
7. The actors fills-in the following information of the marker.
a. Area type
b. Area description
8. The actor clicks the ‘Submit’ button.
9. The system closes the modal and returns to the farm page.
10. The system notifies the actor that the area has been successfully
plotted.
Alternative 1. The actor has enabled the ‘Quick Plot’ feature.
Courses: 1.1. The actor selects a marker.
1.2. The actor may use the default marker by clicking directly at the
farm boundary without selecting any marker from the list.
1.3. The actor plots trees using the selected marker.
1.4. The system opens a modal containing an add marker form.
1.5. The actors fills-in the following information:
a. Marker type
b. Marker description
1.6. The actor clicks the ‘Submit’ button.
1.7. The actor continuously plots areas with the system automatically
filling in the same information that was previously accepted by the
system.
Exceptions: 1. The backend fails for some reason upon plotting an area.
1.1. An ‘Internal Server Error’ message is shown.
2. The inputs do not follow the system’s predefined rules.
2.1. The system closes the modal and shows an ‘Invalid Data’
notification. The inputs are temporarily preserved on the fields but
are not persisted to the system.
2.2. Resume from MC. 5
62

Assumptions: 1. The actor has a stable internet connection.


2. The actor is verified and authorized.
Notes and None.
Issues:

Figure 26: Activity Diagram - Area Plotting


63

4.4.3.10 Current Weather

Use Case ID: UC-3.10


Use Case Name: Current Weather

Actor: Farm Owner, Farm Manager, Employee


Description: The actors wants to know the current weather of the farm’s location.
Preconditions: 1. The actor is logged-in.
2. The actor is in the farm’s map page.
Postconditions: 1. The system displays the current weather of the farm’s location in
the application drawer.
Main Course: 1. The actor clicks the weather data icon.
2. The application bar opens initially displaying the current weather
on the stepper.
Alternative None.
Courses:
Exceptions: 1. The system fails to retrieve data to the third-party API.
1.1. The system does not show any information on the application
drawer.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.

Figure 27: Activity Diagram - Current Weather


64

4.4.3.11 Weather Forecast

Use Case ID: UC-3.11


Use Case Name: Weather Forecast

Actor: Farm Owner, Farm Manager, Employee


Description: The actor wants to know the weather forecast for the farm’s location.
Preconditions: 1. The actor is logged-in.
2. The actor is in the farm’s map page.
Postconditions: 1. The system displays a 5-day weather forecast, categorized by day,
of the farm’s location in the application drawer.
Main Course: 1. The actor clicks the weather data icon.
2. The application bar opens initially displaying the current weather
on the stepper.
3. The actor selects a preferred day of the forecast he wants to view.
Alternative None.
Courses:
Exceptions: 1. The system fails to retrieve data to the third-party API.
1.1. The system does not show any information on the application
drawer.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.

Figure 28: Activity Diagram - Weather Forecast


65

4.4.3.12 View Quick Details

Use Case ID: UC-3.12


Use Case Name: View Quick Details

Actor: Farm Owner, Farm Manager, Employee


Description: The actor wants to view quick details
Preconditions: 1. The actor is logged in.
2. The actor is in the farm page.
3. The farm has an existing marker.
Postconditions: 1. The system shows the type, description, and last activity of the
selected marker on a balloon display.
Main Course: 1. The actor clicks on a marker.
Alternative None.
Courses:
Exceptions: None.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.

Figure 29: Activity Diagram - View Quick Details


66

Use Case 4: Activity Management

This use case is used by farm employees to record and retrieve the activities they do in

the farms they are employed to, this may also be used by the owner and the managers to plan out

activities in the interactive calendar provided by the application. This management feature

enables the users to obtain a bird’s eye view to monitor the farms they own and to keep track of

the profit each harvesting season, as well as detailed views with attached images to examine how

operations are carried out in the field.

Figure 30: Use Case - Activity Management


67

4.4.4.1 Activity Creation

Use Case ID: UC-4.1


Use Case Name: Activity Creation

Actor: Farm Owner, Farm Manager, Employee


Description: The actor wants to create activity for a specific tree or area.
Preconditions: 1. The actor is logged in.
2. The actor is in the activity page.
Postconditions: 1. The actor successfully creates the activity.
2. The system shows the details of the created activity.
Main Course: 1. The actor clicks the ‘Add Activity’ button.
2. The system shows the create activity form.
3. The actor fills-in the information required by the system,
depending on the activity type selected.
3.1. General
a. Activity type
b. Date
c. Remarks
3.2. Harvest
a. Amount of harvest
b. Profit
3.3. Fertilizer Application, Pest and Weed Control
a. Brand
4. The actors clicks the ’Upload Photo’ button to attach images to the
activity.
5. The actor clicks the ‘Add’ button to submit the activity.
6. The system redirects the actor to the activity profile page.
7. The actor sees the details of the activity.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon creating farm.
1.1. An ‘Internal Server Error’ message is shown.
2. The inputs do not follow the system’s predefined rules.
2.1. The system displays errors if they exist and highlights the
fields where the error occurs along with an explanation.
2.2. If the errors are satisfied by the actor, resume to MC. 5.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
68

Figure 31: Activity Diagram - Activity Creation


69

4.4.4.2 Activity Update

Use Case ID: UC-4.2


Use Case Name: Activity Update

Actor: Farm Owner, Farm Manager, Employee


Description: The actor wants to update the activity.
Preconditions: 1. The actor is logged in.
2. The actor is in the activity manager.
3. The farm has an existing activity.
Postconditions: 1. The system updates the activity.
Main Course: 1. The actor clicks on an activity.
2. The system redirects the actor to the activity profile.
3. The actor clicks the ‘Edit’ button.
4. The actor modifies the information required by the system,
depending on the activity type selected.
4.1. General
a. Activity type
b. Date
c. Remarks
d. Photo
4.2. Harvest
a. Amount of harvest
b. Profit
4.3. Fertilizer Application, Pest and Weed Control
a. Brand
5. The actor clicks the ‘Save Changes’ button.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon clicking on the ‘Edit’
button.
1.1. An ‘Internal Server Error’ message is shown.
2. The inputs do not follow the system’s predefined rules.
2.1. The system displays errors if they exist and highlights the
fields where the error occurs along with an explanation.
2.2. If the errors are satisfied by the actor, resume to MC. 5.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
70

Figure 32: Activity Diagram - Activity Update


71

4.4.4.3 Activity Deletion

Use Case ID: UC-4.3


Use Case Name: Activity Deletion

Actor: Farm Owner, Farm Manager, Employee


Description: The actor deletes an activity.
Preconditions: 1. The actor is logged in.
Postconditions: 1. The activity is removed from the activity calendar.
Main Course: 1. The actor clicks on a specific Activity on the activity calendar.
2. The system redirects the actor to the activity profile.
3. The actor clicks the ‘Remove’ button.
4. The actor is redirected to the activity calendar page after
removing the activity.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon deleting the activity.
1.1. An ‘Internal Server Error’ message is shown.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.

Figure 33: Activity Diagram - Activity Deletion


72

4.4.4.4 View Activity

Use Case ID: UC-4.4


Use Case Name: View Activity

Actor: Farm Owner, Farm Manager, Employee


Description: The actor views the activity profile.
Preconditions: 1. The actor is logged in.
Postconditions: 1. The system displays the details and photos of the activity.
Main Course: 1. The actor clicks a specific activity from the activity calendar.
2. The systems redirects the actor to the activity profile page.
3. The actor sees the activity information and photos attached to the
activity.
Alternative None.
Courses:
Exceptions: 1. The accessed activity does not exist.
1.1. The system redirects the actor to the 404 landing page.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.

Figure 34: Activity Diagram - View Activity


73

4.4.4.5 Profit Statistics

Use Case ID: UC-4.5


Use Case Name: Profit Statistics

Actor: Farm Owner, Farm Manager, Employee


Description: The actor views the profit earned at a specific harvesting season.
Preconditions: 1. The actor is logged in.
2. The actor is in the farm’s map view.
Postconditions: 1. The system shows the graph of each profit every year.
Main Course: 1. The actor selects a specific marker.
2. The system shows a balloon view containing quick details
Alternative Courses: None.
Exceptions: 1. The harvest data is not enough for graphing.
1.1. The graph is empty.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.

Figure 35: Activity Diagram - Profit Statistics


74

Use Case 5: Messaging

This use case is for an authorized owner, manager, and employees of a certain farm when

they want to collaborate within the app such as discussing about the problems they encountered

in the field and how to improve farm operations and management.

Figure 36: Use Case – Messaging


75

4.4.5.1 Send Message

Use Case ID: UC-5.1


Use Case Name: Send Message

Actor: Farm Owner, Farm Manager, Employee


Description: The actor sends a message to the messaging area of the farm.
Preconditions: 1. The actor is logged in.
2. The actor has an authorized role to send messages to a farm.
3. The actor is on the farm dashboard page
Postconditions: 1. The actor is able to leave and send messages to the messaging
area of the farm.
Main Course: 1. The actor clicks the messaging icon.
2. The system redirects to the message board.
3. The actor writes a message.
4. The actor presses the enter button.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason when persisting the message.
1.1. The send message submit function is disabled and the
message is not sent.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
76

Figure 37: Activity Diagram - Send Message


77

4.4.5.2 Read Message

Use Case ID: UC-5.2


Use Case Name: Read Message

Actor: Farm Owner, Farm Manager, Employee


Description: The actor reads a message from other actor of the farm
Preconditions: 1. The actor is logged in.
2. The actor should be working on the farm he wants to read
messages from.
3. The actor have messages to read.
4. The actor is on the farm list page
1. The actor is able to read messages from other actors of the same
Postconditions: farm.
Main Course: 1. The actor clicks the messaging icon.
2. The system redirects to the messaging area.
Alternative None.
Courses:
Exceptions: 1. The backend fails for some reason upon retrieving the messages.
1.1. The message thread is empty.
Assumptions: 1. The actor has a stable internet connection.
2. The actor is verified and authorized.
Notes and Issues: None.
78

Figure 38: Activity Diagram - Read Message


79

4.5 Normalized Difference Vegetation Index (NDVI)

The normalized difference vegetation index (NDVI) is a graphical indicator used to

assess whether an area contains live green vegetation. It relies on the principle that the

chlorophyll in living plant material strongly absorbs visible light, and strongly reflects near-

infrared light. This is the most known and used vegetation index because it is a simple but

effective vegetation index for quantifying green vegetation. It normalizes green leaf scattering in

the near-infrared wavelength and chlorophyll absorption in the red wavelength.

A vegetation index is used to unify multiple data sets into a single value making it

possible to quantify the combined information. It can typically be expressed as a mathematical

formula:

Figure 39: NDVI Formula

Where NIR stands for the Near Infrared Regions and Red stands for the visible light.

Figure 40: NDVI Legend Gradient

The output from the index is assigned a color from the gradient and it is used to generate

a false-color image of an area. A quick glance at the resulting image can quickly show regions of

the field where the index returned low values and those where high values were obtained. The

greener the color, the more leaves and photosynthetic activity a plant has.
80

Figure 41: Normal Image vs NDVI color map

These are comparisons taken from a random tree farm in Guimaras, Philippines. The

image on the left is the normal satellite view image composed of an array of trees where rich

photosynthetic activity happens. On the right is the NDVI Color Map which suggests an accurate

representation that the area contains live green vegetation. Also, observe the array of trees on the

adjacent lot colored in green, as opposed to the land partially lacking in vegetation that surrounds

the boundary, colored in blue.


81

4.6 Google Maps Offline-Use Restriction

The application does not store Google Maps tile data for offline use because doing so

would violate the terms and conditions that Google has set in using the API as stated in Section

4.4 of the Google Maps API - Purchase Agreement:

4.4 Cache Restrictions. Customer may not pre-fetch, retrieve, cache, index, or store any

Content, or portion of the Services with the exception being Customer may store limited

amounts of Content solely to improve the performance of the Customer Implementation

due to network latency, and only if Customer does so temporarily, securely, and in a

manner that (a) does not permit use of the Content outside of the Services; (b) does not

manipulate or aggregate any Content or portion of the Services; (c) does not prevent

Google from accurately tracking usage; and (e) does not modify attribution in any way.
82

4.7 Screenshots of the Application

Figure 42: Login Page

Figure 43: Registration Page

Figure 44: Verification Page


83

Figure 45: Farm List

Figure 46: Employees List

Figure 47: Farm in Map


84

Figure 48: Weather Information

Figure 49: Summary of Trees and Areas

Figure 50: NDVI Map Overlay


85

Figure 51: Chat Messaging

Figure 52: Activity Creation

Figure 53: Harvest-Profit Graph


86

Figure 54: Activity Calendar

Figure 55: Activity Information


87

Figure 56: Reset Password Feature

Figure 57: Password Reset Identity Confirmation

Figure 58: Password Reset

Figure 59: Update Profile Information


88

SUMMARY, CONCLUSION, AND RECOMMENDATIONS

5.1 Summary

Harvestree is a farm management application that has provided a set of functionalities to

enable remote farm management and monitoring. It aims to innovate the existing methods of

farm owners and their employees in accomplishing their daily tasks. The application contains

features such as farm plotting, tree and area marking, harvest and profit statistics, activity

logging, weather forecasting, and employee monitoring. It is a web-based application hosted by

Heroku and uses the Google Maps API for mapping and Sentinel-2 for NDVI mapping. The

markers are used to indicate either the location of a tree or a specific area - depending on the

preference of the user. The position markers are then linked to information that will tell

developments and work done on a tree or a specific area. Harvest and profit statistics will be

generated once there is a sufficient information in the activities.


89

5.2 Conclusion

The design and development of the Harvestree was successfully accomplished by the

researchers. The application was able to achieve the following software qualities: efficient,

functional, reliable, secure, maintainable, and portable. The researchers were able to create a

system wherein farm owners are able to remotely monitor their farms as well as their employees.

Furthermore, the system also increases information retrieval accuracy. Therefore, the researchers

believe that Harvestree has successfully met its objectives.


90

5.3 Recommendations

Harvestree has successfully completed its objectives and is a fully functional project,

however the researchers believe that it is still in its early stage and can still be further improved.

The researchers propose to integrate IoT to the project in order to make farm

management more intelligent and more automated, bringing it closer to the so-called precision

agriculture, also known as smart farming. The application uses, at the time of writing, Google

Maps to monitor and survey farms. Future researchers can use drone for a real-time air shot of

the farm area and augment the derived information to the map.

Real-time site-wide notification system for important events was not implemented in the

application, it would be a good additional feature to the application once added.

Integration to commercial satellite readings (QuickBird, IKONOS, GeoEye-1, Spot-5,

LandSat-7, and WorldView-2) for the Normalized Difference Vegetation Index (NDVI) and

other indexes would also be a great enhancement to the existing Harvestree application because

it enables the application access to detailed data and map tiles via commercial-grade high-

definition imagery and can be used to improve and innovate new features.

The researchers also recommend to test the software on the field, by integrating it with

the actual processes of farmers and retrieving feedback to improve the application.
91

REFERENCES

"Location Based Services for Mobiles: Technologies and Standards “, Shu Wang, Jungwon Min

and Byung K. Yi, IEEE International Conference on Communication (ICC) 2008,

Beijing, China

“20 technologies changing agriculture”. Published Mar 09, 2011, from

http://www.farmindustrynews.com/stub-95/gallery?slide=2

PH reaps gains from increased agricultural investments. (2015, July 20). Retrieved March 7,

2017, from http://www.gov.ph/2015/07/20/ph-reaps-gains-from-increased-agricultural-

investments/

Satariano, A., & Bjerga, A. (2016, June 10). The Weather-Predicting Tech Behind $62 Billion

Monsanto Bid. Retrieved March 7, 2017, from

https://www.bloomberg.com/news/articles/2016-06-09/big-data-technology-is-boosting-

farmers-productivity

Vidal, J. (2015, October 20). Hi-tech agriculture is freeing the farmer from his fields. Retrieved

March 07, 2017, from https://www.theguardian.com/environment/2015/oct/20/hi-tech-

agriculture-is-freeing-farmer-from-his-fields

GeoMation Farming: Agriculture Information Management System. Retrieved March 25, 2017,

from http://www.hitachi.com.au/products/product-categories/agriculture/GeoMation-

farming.html

Cropio: All your fields in one place. (n.d.). Retrieved March 30, 2017, from

https://about.cropio.com/#av_section_2

About - Google Maps. (n.d.). Retrieved March 30, 2017, from

https://www.google.com/maps/about/
92

Simple Cheat Sheet to Sprint Planning Meeting -. (2016, June 22). Retrieved March 30, 2017,

from https://www.leadingagile.com/2012/08/simple-cheat-sheet-to-sprint-planning-

meeting/

Wiegers, K. E. (1999). Guidance for Use Case Template. Retrieved March 10, 2018, from

https://profinit.eu/wp-content/uploads/2016/03/use_case_template.doc

McKinnon, T., & Hoff, P. (2017, May). Comparing RGB-Based Vegetation Indices with NDVI

For Agricultural Drone Imagery. Retrieved March 10, 2018, from

https://agribotix.com/blog/2017/04/30/comparing-rgb-based-vegetation-indices-with-

ndvi-for-agricultural-drone-imagery/

Llewellyn Data Processing (2015, June 18). NDVI Color Mapping. Retrieved March 10, 2018,

from https://maxmax.com/ndvi_color_mapping.htm

Sentinel. (n.d.). Retrieved March 10, 2018, from https://www.sentinel-hub.com/eoproducts/ndvi-

normalized-difference-vegetation-index

Google Maps API - Purchase Agreement. (n.d.). Retrieved March 28, 2018, from

https://enterprise.google.com/maps/terms/us/maps_purchase_agreement.html
93

APPENDICES
94

Appendix A – Adviser Endorsement Forms


95

Appendix B – Plagiarism Review Certificate


96

Appendix C – Grammar Proofread Certificate

Você também pode gostar