0% found this document useful (0 votes)
186 views78 pages

Capstone Project Sample

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

Capstone Project Sample

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

ANI: An Agribusiness Network Integration System

Charisse Mae S. Adis


Marvin P. Tagolimot Jr.
Khiana C. Torres
Alyssa L. Vallejos

December 2022

1
ANI: An Agribusiness Network Integration System

------------------------------------------------------------------------------

A Capstone Project
Presented to the
Faculty of the Computer Engineering Department University
of Science and Technology of Southern Philippines Cagayan
de Oro City

-------------------------------------------------------------------------------

In Partial Fulfillment
of the Requirements for the Course
Software Design and Engineering

-------------------------------------------------------------------------------

Charisse Mae S. Adis


Marvin P. Tagolimot Jr.
Khiana C. Torres
Alyssa L. Vallejos

December 2022

2
ABSTRACT

The use of technology in the agribusiness industry has the potential to

revolutionize the way that farmers produce, distribute, and sell their products. One

such technology is the ANI: An Agribusiness Network Integration System. The

system is designed to connect farmers directly with consumers to eliminate the need

for intermediaries and ensure fair profits for farmers. The study conducted a
comprehensive feasibility analysis of the system. Additionally, the methods used in

this study for the requirements gathering process were interviews and observations.

The data was compiled through interviews with a consumer and a farmer, which were

conducted both online and in person. The requirement analysis also assesses the

potential impact of the system on the farming industry and its stakeholders. The

system had undergone different levels of testing to eliminate bugs and minimize the

possible errors that could affect the performance— ensuring that the implementation

approach works for the user of the system. Furthermore, the study explores the

potential benefits that the system could bring to farmers and consumers, such as

increased control and pricing for farmers and increased transparency and access to

locally-sourced produce for consumers. The findings of the study indicated that the

application performed exceptionally well, with no deficiencies observed during the

testing phase. Furthermore, none of the participants who took part in the testing phase

reported any errors or difficulties while utilizing the application. These observations

correspond to an A+ grade and an adjectival rating of "Best Imaginable", indicating

that the system was highly acceptable and perceived as user-friendly by the

participants. These results demonstrate the effectiveness of the implementation

approach for the system's users,

3
highlighting the successful execution of the application. The study concludes by

highlighting the potential of ANI to contribute to the development of a sustainable and

fair system for the distribution of agricultural products. It is recommended that the

farmers familiarize themselves with the features and capabilities of the system to

make the most of its benefits, use the system to connect directly with consumers to

increase control over pricing and sales and market their products and promote their

brand. As for the consumers, they should use the system to access a wider variety of
locally sourced produce— support local farmers and connect with them.

Keywords: Agribusiness, Technology, Farmers, Consumers, Middleman


TABLE OF CONTENTS

4
Page COVER PAGE 1 TITLE PAGE 2 ABSTRACT 3 - 4 TABLE OF CONTENTS 5 - 6

LIST OF TABLES 7 LIST OF FIGURES 8 - 9 Chapter

1 THE PROBLEM AND ITS SCOPE 10 1.1 Introduction 11 - 12 1.2

Statement of the Problem 13

1.3 Statement of Objectives 14

1.4 Significance of the Project 14

1.5 Scope and Limitations 15

1.6 Definition of Terms 16

2 REVIEW OF RELATED LITERATURE AND STUDIES 17


2.1 Implications of Middlemen in the Supply Chain 17 - 18
of Agricultural Products

2.2 Income of Farmers Who Use Direct Marketing 18 - 19

2.3 Farmer Customer Relationship 19 - 20


Management System

2.4 Android App to Connect Farmers to 20 - 22


Retailers and Food Processing Industry
2.5 E-Machhli Android Based Application 23
For Farmers

5
2.6 Application for Marketplace 23 - 24 Agricultural Product

2.7 Android App to Connect Farmers to Retailers 24 - 25 and


Agricultural Machinery Rental Business

2.8 Android Based Application: Krishoker Foshol 25 - 26

2.9 A Mobile Usability Assessment of Carousell 26 - 27 Mobile


App

2.10 Carousell: UX case study 27 2.11 Synthesis 27 - 31

3 METHODOLOGY 32 3.1 Requirements Gathering 33 - 34 3.2

Requirements Analysis 35

3.2.1 User Definition 36 3.2.2 System Requirements 36 - 39 3.3

Design 39 3.3.1 Context Level Diagram 39 - 40 3.3.2 Data Flow

Diagram 40 - 43 3.3.3 Use Case Diagram and Description 44 - 61

3.3.4 Activity Diagram 61 - 65 3.3.5 Database Design 66 - 73 3.3.6

System Architecture 74 - 75 3.3.6 Graphical User Interface Design

76 - 93 3.4 Implementation 94 - 97

6
3.5 Test & Evaluation 97 - 98 4 RESULTS AND DISCUSSIONS

99
5 CONCLUSIONS AND RECOMMENDATIONS 120
5.1 Conclusions 121 5.2 Recommendations 122

REFERENCES 123 APPENDICES

A. Gantt Chart 125 - 127 B. PERT/ CPM 128 C. Letter of Consent 129 - 130
D. Document Reviewed 131 E. Observation Conducted 132 - 133 F.
Interview Conducted 134 - 141 G. Functional Test Form
142 - 148
H. System Usability Scale Form 149 - 157 I. Curriculum Vitae 158 - 161 J.
User Manual 162 - 207

LIST OF TABLES

7
TABLE TITLE PAGE 1 System Requirements 36 - 37 2 Data Dictionary of Farmer

Entity 66 3 Data Dictionary of Consumer Entity 67 4 Data Dictionary of Product Entity

68 5 Data Dictionary of Address Entity 69 6 Data Dictionary of Consumer Authentication

Entity 70 7 Data Dictionary of Farmer Authentication Entity 70 8 Data Dictionary of

Rating Entity 71 9 Data Dictionary of Category Entity 71 10 Data Dictionary of Bought

Product Entity 72 11 Functional Test Result of Consumer 116 12 Functional Test Result

of Farmer 117 13 System Usability Scale Result 118 14 System Usability Scale Final

Result 119
LIST OF FIGURES

8
FIGURE TITLE PAGE

1 Modified Waterfall Model of SDLC 32 2 Selling and Buying Process 35 3


Context Level Diagram 40 4 Data flow diagram for the farmer 41 5 Data flow
diagram for the consumer 42 6 Use Case Diagram for Farmer 44 7 Use Case
Diagram for Farmer 53 8 Activity Diagram for Farmer 62 9 Activity Diagram for
Consumer 64 10 ERD - ANI System 73 11 ANI - System Architecture 74 12
Welcome Page
76
13 Sign Up Page 1 77 14 Sign Up Page 2 78 15 Login Page 79 16 User-Type
Selection Page 80 17 Feed (Farmer) 81 18 Ratings Page (Farmer) 82 19 Inbox
(Farmer) 83 20 Create Post Page (Farmer) 84 21 Notification Page (Farmer) 85
22 Profile Page (Farmer) 86 23 Profile Management Page (Farmer) 87 24 Feed
(Consumer) 88 25 Rating Page 1 (Consumer) 89 26 Rating Page 2 (Consumer)
90 27 Inbox (Consumer) 91

9
28 Notifications (Consumer) 92 29 Profile Management Page (Consumer) 93 30
Welcome Screen 98 31 Sign Up Screen 99 32 Create Post Screen 100 33 News
Feed Screen of Farmers 101
34 News Feed Screen of Consumer 102 35 Store Screen of the Farmer 104 36
Basket Screen of the Consumer 105 37 Inbox Screen 106 38 Notification Screen
108 39 Create Review Screen 109 40 Profile Screen 110 41 Navigation Drawer
111 42 Profile Management Screen 112 43 Security Setting Screen 113 44
Logout Screen 114
10
Chapter 1

THE PROBLEM AND ITS SCOPE

Introduction

The Philippine economy is dominated by agriculture. Agriculture meets the demand

for food by harvesting crops such as wheat, corn, rice, and a variety of others, which are then

processed until they are ready to be transported. In 2015, agriculture employs about 11

million Filipinos or about 29.2% of the total employment in the Philippines. Over many

years, the employed persons in agriculture decreased by 2.2, 1.6, 1.1, and 1.4 percent,

respectively. In the span of 5 years, the proportion of the workforce under agriculture

recorded a 6.3 percent drop (Philippine Statistics Office, 2020). The decline in the number of

the workforce in agriculture may have been caused by various reasons.

Among the aforementioned employed persons are the farmers, farmers play an

important role in planting and harvesting the necessities mentioned above. They work the

entire day just to reap their bountiful harvest. Farming has also become their livelihood in

ways that they sell their own produced goods. But in most cases, farmers tend to profit less
from their very own livelihood. According to Canlas (2021), farmers in rural areas have been

the poorest among the Philippines' 11 basic sectors since the year 2006. In 2018, farmers had

a poverty rate of 31.6%, approximately 5.5 million farmers. Farmers may not be able to

overcome poverty due to various reasons. Farmers gain less profit from their produced goods

due to intermediary entities such as middlemen. Middlemen take great advantage of the

farmers’ inexperience with the numerous sales and allow them to earn far more than the

farmers. (Shriram & Mhamane, 2018) Moreover, in an article written by Kaur (2019),

11
profiteering middlemen are the largest impediment to raising farmers’ income in India. A

large portion of the earnings from farmers' produce is taken by commission agents, traders,

and wholesalers which leaves the farmers having very little.

In a study of Nugroho et. al (2018), they developed an Android application that

provides agricultural product information as well as a marketing platform for farmers.

Customers can also utilize it to make direct purchases. This application disseminates

agricultural product information, supports farmers with product marketing, and facilitates

direct transactions between farmers and consumers. In such a way, both the farmers and

consumers can build a relationship which may be beneficial for future transactions. However,

upon transactions, the customer’s money will be held for a while before being distributed to

the farmers in exchange for the crops they produce.

Given the situation that the farmers are in, this project chose to provide a solution that

will enable farmers to venture into the market by helping them have a direct connection with

the consumers and not with the middlemen alone. In doing so, the technology of today’s era

will allow the solution to be implemented in ways of developing an application that allows

both the farmers and consumers to create their own profiles where farmers can post their

produced goods and where consumers can scroll through the feed to choose for their needed

produced goods.
12
Statement of the Problem

For a long period of time, farmers have been suffering from poverty mainly because

the produced goods that they are selling are profiting not quite enough. Middlemen are

earning much more than the farmers themselves. With the farmers’ utmost effort in reaping

fresh and healthy produced goods, it is reasonable enough that they deserve a decent price for

their products. This issue deserves critical intervention as it may cause a decline in the

number of farmers which equates to a decline in produced goods that are consumed by

everyone on a day

to-day basis.

However, farmers have no direct connection with anyone but the middlemen alone

which leaves them no choice but to sell it to them. In addition, there are no specific platforms

for farmers to sell or showcase their produced goods directly to consumers.

In response to the aforementioned problem, developing an application helps both the

farmer and the consumer in creating a direct connection without resorting to contacting

middlemen. Both the farmer and the consumer are allowed to create their own account and

add information details. The farmer is able to post an image of their produced goods and can

add information about their produced goods. Consumers, on the other hand, can scroll

through the feed and can contact whoever farmer they intend to buy the produced goods

from. In this way, it can be easier for farmers to sell their produced goods directly to the

consumers without needing a middleman, allowing them to have the decent profit that they
deserve.

13
Statement of the Objective

The general objective of this study is to create a direct connection between farmers

and consumers, eradicate the existence of intermediary entities, and provide a decent price

for their produced goods. Specifically, the project aims to:

1. Design and develop an application that links both the target users.

2. Test the functionality of the application intended for both target users to utilize. 3.

Evaluate the usability of the application for farmers to sell and for consumers to buy.

Significance of the Project

The outcome of this project will be beneficial to the following:

Farmers. This project would enable the local farmers to perceive and understand the

struggles that they are in, enabling them to gain knowledge of how to preserve their produced

goods. This project will also provide them with the decent profit that they deserve.

Consumers. This project would enable consumers to build professional one-on-one

relationships with the farmers. This project will also allow the consumers to spend less money

as the prices of the produced goods are reduced due to the elimination of middlemen.
14
Scope and Limitations

The project focuses on developing an application which creates a direct connection

between farmers and consumers without needing the presence of a middleman. The

application acts as a platform for both the target users to meet halfway and venture the

produced goods posted. Target users are required to create their own profiles and choose

whether they are a farmer or a consumer. After creating profiles, they shall log in using their

created accounts. Farmers can then post their produced goods and consumers can scroll

through the feed. Notifications will automatically be sent to the target user whenever another

target user responded to a post/comment and whenever a direct message has arrived.

However, the system limits only to the target users' transactions and the people behind the

development of the application are not held responsible for whatever internal processes.
15
Definition of Terms

The current project defined the following terms operationally for better understanding.

Application. A software that is primarily designed to be used by people in fulfilling a specific

need or performing tasks.

Farmer. A person engaged in agriculture, raising living organisms for food or raw

material.

Consumer. A person who buys and uses up goods.

Middleman. A person who buys goods from producers and sells them to retailers or

consumers.

Firebase. A platform developed by Google for creating mobile and web applications.

The Firebase Realtime Database lets you build rich, collaborative applications by allowing

secure access to the database directly from client-side code.

Mobile Application. A type of application software designed to run on a mobile


device, such as a smartphone or tablet computer.

Flutter. An open-source framework by Google for building beautiful, natively

compiled, multi-platform applications from a single codebase.

16
Chapter 2

REVIEW OF RELATED LITERATURE AND STUDIES

This chapter focuses on related projects or studies that have provided additional

relevant information to proponents which serve as the guide in developing the project.

2.1 Implications of Middlemen in the Supply Chain of Agricultural Products According

to the study of Oguoma, Nkwocha & Ibeawuchi, (2010), middlemen work in a variety of

industries around the world, including agriculture, particularly when the economy is growing.

These individuals serve as intermediaries between the producers or farmers and the

consumers. How their job works are that in the process of letting products or other

agricultural materials reach the final consumer, the price is marked up to cover the

transportation, storage and profit. Due to low productivity and high production costs, farmers

are gradually losing interest in agriculture, and food growers are either converting to high

value cash crops from food grain cultivation or seeking an alternative occupation. Farmers

rarely make a profit on their crops, even when they sell for a considerable price, instead, the
products are sold to customers at the cheapest prices. Neither the farmers nor the customers

benefit, instead, the intermediaries benefit more from the farmers' labor because of farm gate

prices.

The purpose of their study was to identify the roles of middlemen in the distribution of

agricultural products and how they directly affect the profit of the producers of the farmers.

The result of the study showed that 81.1% of the respondents affirmed that middlemen buy

the farmer‘s products directly from the point of harvest and further dictate the pace of the

distribution channel. Additionally, as a result of the seasonality of production, which allows

17
for an abundance of farm products and the resulting crash in price and bargaining power,

roughly 64% of respondents strongly agreed that the farmer typically sells with low pricing

regimes translating to highly marginal income. Another important aspect that influenced the

respondents' decisions was the fact that farmers face significant spoilage and quality

degradation after harvest due to the lack of processing and storage facilities to keep extra food

for future use. Over 89%of respondents felt that the middle man is the ultimate risk bearer,

according to the findings. After integrating the multiple services he has performed in the

distribution channel, he boosts rates to assure profits. Several problems were identified in the

study when it came to marketing agricultural products. Price control measures will most

likely be implemented to ensure that farmers receive fair prices for their crops, and product

standardization and grading, which have become the jobs of middlemen, will be phased out. It

is highly recommended that intervention policies should be initiated by the government to

scale down the overbearing influence of the middlemen who happen to be core capitalists in

the food distribution channel and hence check food insecurity and food crisis.

2.2 Income of Farmers Who Use Direct Marketing

Govindasamy et al. (1999) conducted a study to determine strategies for increasing


farm income through the incorporation of non-traditional agricultural activities. The purpose

of their study is to measure the impact of certain alternative activities on farmers' efforts to

increase agricultural income. They analyzed their data using the Rutgers Cooperative

Extension questionnaire. They utilized logit analysis to determine the likelihood of a farmer

achieving a higher-than-average agricultural income through non-traditional marketing and

other activities. They discovered in their study that farmers who predominantly sell their

18
products through retail are 31% more likely to be in the high-income category than farmers

who do not sell directly to consumers. Direct retailing to customers alleviates the need for

middlemen in the produce industry. By selling directly to consumers and avoiding

middlemen's commissions, farmers retain a portion of the money consumers pay for their

produce. Thus, direct retailing enables farmers to earn a better net price and return on their

crops. Their research suggests that activities such as pick-your-own (PYO) operations and

temporary facilities such as stands, wagons, and tables are ineffective at increasing farm

income because they reduce a farmer's chances of attaining higher income levels.

2.3 Farmer Customer Relationship Management System

The Indian farming scene is already in a big demise due to several reasons such as

illiteracy, low productivity, high cost of farming equipment, the market value of products, etc.

Due to all of these reasons, the suicide rate in India has ranged between 1.4 and 1.8 per

100,000 total population, over 10 years. To overcome these problems, the main goal to be

achieved by the Farmer Customer Relationship Management System is to provide the

farmers with better profits and high productivity. The Farmer Customer Relationship

Management Software is a system that aims to create a direct link between customers and

farmers. The Customer's operation is to purchase farm products directly from farmers via the

application. They have a Dealer that offers agricultural equipment to farmers and can also
hire them for labor duties. They use the Object-Oriented Methodology. They observed that

by implementing the program, farmers will earn their full profit without incurring any

additional costs due to middlemen. It gives a forum for farmers to communicate with the rest

of the world, learn about current

19
technologies, and become aware of all the benefits provided by the government (Bhiwandkar

et al., 2019).

2.4 Android App to Connect Farmers to Retailers and Food Processing Industry Farmers

confront numerous challenges and work vigorously to achieve great harvests. They extend

such efforts only for them to gain low profits. Shriram and Mhamane (2018) stated that due

to the existence of intermediary entities or middleman brokers, farmers are not gaining

decent prices for their products. Due to the farmers being unfamiliar with the various sales,

the middleman brokers take great advantage of the situation, gaining more income than the

farmers. Middleman brokers will purchase a large number of products from the farmers at a

low rate and sell them to an industry at a much higher rate.

With the advances of today’s generation, the design is based on a client-server

architecture, with the client being an android device and the server being Firebase (a

serverless solution). The application focuses on offering a user-friendly interface that allows

the user to quickly access and view information. The application provides basic

authentication for the user, which in this case is either a farmer or a food processing industry.

With the bare minimum of information, the user can register as a producer or consumer. It

gives producers and consumers access to internal data in two different ways. The system’s

features are distributed into 8 parts; Product Details Upload, Shopping Cart and Notification,

Product Search, Real Time Database, Cloud Functions and Cloud Storage, Authentication,
Analytics, and Client

side.

In Product Details Upload, if the user is the seller, the user can upload their product

details with real images in this system and also updated information related to their product

20
such as product name, cost, specification, quantity, and price. It has also automatically

identified the location of the buyer and seller while they are uploading the details. In

Shopping Cart and Notification, a notification is generated whenever an order has been

placed. Notifying the farmers of the details of the product. The user can add multiple

products to the shopping cart, and display all selected products and their prices. Once the

user places the order, the total amount of the order will automatically be calculated. In

Product Search, the user can utilize the search option to find the products using different

parameters. Searching for the required product is made easy with different options such as

product name, price, and quantity. The app will provide product details along with the nearest

location of the sellers and buyers. The buyers can also choose the products with multiple

options, allowing buyers to compare prices that are visible in the list of similar products with

their prices in a single window. In Real-Time Database, it is used to store all data. This

service's response time is extremely fast, and it also allows listeners to update app data when

database changes occur. With powerful, easy, and cost-effective object storage built for

Google scale, the Cloud stores and shares user-generated material including photographs,

audio, and video. Regardless of network quality, the Firebase SDKs for Cloud Storage give

Google security to file uploads and downloads. In Cloud Functions and Cloud Storage,

various triggers and HTTP requests are supported by cloud functions. Cloud Functions were

used to cleanse data, create a user, manipulate the real-time database, and send notifications

in this application. In Authentication, it keeps track of the app's users and their sessions. This

service provides authentication options such as Google, Facebook, Anonymous,


Email-Password, and Mobile Number. The app required a cellphone number to log in. The

user's device receives an OTP, which is used to authenticate the user. In Analytics, the

Android SDK automatically records critical events, user characteristics, and

21
activities, and then displays the information in the form of graphs. The Android APIs can

offer the user all of the summary data in the form of graphs and figures, which the firebase

application can employ for this purpose. Firebase is a Google program that offers useful

functions such as data analysis, database management, and data recovery. Firebase is a

Google platform that expands automatically to accommodate larger apps. Firebase is a

cloud-based program that functions independently yet shares data within the app, allowing it

to work together. As a result, the optimum choice for data analytics is Firebase. Lastly, on the

Client

side, the Android mobile app is written in Java and includes built-in APIs. To communicate

with Firebase, you'll need these APIs. To keep client data updated, the app uses

location-based listeners. The messaging service is a channel through which any notice can be

sent to the client. App also supports multi-language; all strings are translated into several

languages, and when an app's language is changed, the strings are replaced with the

language's string.

The approach ensures a steady market and a higher return to farmers, as well as the

ability to deal with the farmer's basic needs. Both consumers' and producers' interests are

protected. This system's main goal is to provide a platform for farmers to sell their products

directly to shops and food processing companies. It's an Android platform link that farmers

will most likely utilize to sell their crops online. Due to middleman brokers who buy farmers'

crops at a low price and sell them at a much higher price in the original market, the main goal

of this application is to eliminate middleman brokers (Shriram & Mhamane, 2018).


2.5 E-Machhli Android Based Application For Farmers

22
E-Machhli is an Android application that allows everybody associated with the

department of fisheries, whether they are fishers, fish farms, or input suppliers, to

communicate on a single platform. The software is intended to act as a comprehensive

marketplace and information platform for fishers, fish farms, and input suppliers. They

developed their application with four modules: fisher, fish farmer, fish seller, and fish

supplier. The module provides the user with the necessary information. The four modules are

identical in the process; the first step is for users to register with their username and

password. Second, after finishing the registration process, they can add details about their

items and other information about themselves. Then, a user profile is generated, which can be

modified in the future as needed. Once the profile has been created, any adjustments

including the addition or deletion of fish varieties are permitted. The study reveals that there

is currently no central digital platform that allows all fishers, fish farms, and input providers

to communicate on a single platform. As a result, there is a requirement for such a system

application that serves as a communication platform for them (Singhai & Hajare, 2021).

2.6 Application for Marketplace Agricultural Product

Android Application for Agricultural Product Marketplace is a system that is used to

provide information on agricultural products as well as a marketing platform for farmers. It

can also be used by customers to make direct purchases. This application disseminates

information about agricultural products, assists farmers in marketing their products, and

facilitates direct transactions between farmers and consumers. This application was developed
using the SDLC Prototype technique, leveraging the Java and XML programming languages,

as well as MySQL for database administration. They found that the implementation of the

23
Application for Marketplace Agricultural Product enables Farmers to market their products

quickly and efficiently, enables Buyers looking for vegetables or fruits sold in Indonesia to

find them, simplifies and speeds up transactions between Buyers and Farmers, and enables

Communities that have installed Application for Marketplace Agricultural Product to view

products sold by Farmers regardless of their location, allowing them to reap the benefits. It is

suggested that the application provides a sense of security when conducting transactions, as

the buyer's money will be held first and then distributed to the farmers in exchange for the

products delivered by the farmers (Nugroho et al., 2018).

2.7 Android App to Connect Farmers to Retailers and Agricultural Machinery Rental

Business

Android App to Connect Farmers to Retailers and Agricultural Machinery Rental

Businesses is a study that developed an android application for farmer product marketing. The

application provides a better understanding of commodity prices and current marketing

strategies in various locations, as well as assists in locating buyers and suitable sellers.

Additionally, it enables farmers to choose the optimal market location for their products. They

utilized four modules: the login module, the search list module, the equipment listing module,

and the booking module. They operated following the principles of software engineering. To

design their project, they used algorithms to define concepts and programming languages

such as Java, as well as the software development life cycle. They discovered that by

providing the app to farmers, they were able to eliminate the issue of agricultural items being

inaccessible and have scant data on the true market pricing of the goods. They concluded that
their

24
implementation benefited farmers, as well as the food processing and consumer businesses. It

protects both consumers' and producers' rights. It enables farmers to sell their products

conveniently and at a profit (Shriram & Mhamane, 2021).

2.8 Android Based Application: Krishoker Foshol

Krishoker Foshol is a web-based commerce project. Additionally, it is a

well-organized site that is quite useful for farmers and buyers looking to sell or purchase a

variety of veggies. The purpose of their research is to enable farmers to sell their products at

a suitable price set by the government and to enable customers to contact vendors via their

mobile app. They conducted their investigation using the system development life cycle as a

guide. They used requirement analysis and collecting throughout the development process.

Their functional requirements include farmer registration, farmer login, farmer dashboard,

crop information requests, a forum that calculates fertilizer for cultivation, a request for the

location and contact information of the nearest government agriculture officer, and live

weather (temperature and humidity). Android Studio, Java, Firebase, Email Authentication,

Photo storage in Firebase, and Video calling API are the tools they use to construct their

application. They discovered that the system they developed is entirely dependent on user

interaction. Interaction is what contributes to a system's popularity and appeal to a user.

Consequently, it is critical to make a process participatory. They stated that their program

was successfully implemented and exhibits an exceptional level of user interaction. They

suggested that their program may be enhanced by adding new features. Some additional

sensors can be added to improve the project's accuracy and convenience of use (for example,

a pH sensor). Artificial intelligence can be used to detect and assess animal and crop diseases

(Diganta, 2021).
25
2.9 A Mobile Usability Assessment of Carousell Mobile App

Carousell is a mobile app that makes selling items as easy as taking a photo, and

buying as simple as chatting. The app is an online marketplace platform for buying and

selling brand new and even second-hand goods. This site was developed to give users a

wonderful experience in selling and buying. This online shopping app involves two

important users, the seller and the buyer with each of them having a goal. The usability

evaluation of the selling and buying activities on the Carousell mobile application’s interface

was conducted using 20 users, where 10 participants played the role of sellers and another 10

played the role of buyers. The study objectives were to evaluate the perceived effectiveness,

efficiency and satisfaction of the mobile application. The result provides positive feedback

and shows that the mobile shopping app is effective, efficient, and satisfying as perceived by

the study participants. However, one of the participants who played the role of a buyer was

confused about how some of the buttons worked. This study identified the usability

performance of the Carousell application in terms of effectiveness, efficiency and

satisfaction. This study showed that Carousell is one of the applications that offered a better

and more convenient platform for online/mobile shopping from both buyers' and sellers'

perspectives. To meet their users’ satisfaction requirements, developers must need to improve

their applications regularly. It is recommended that the Carousell app needs to be improved

in terms of the observed validation issue, buttons and the phrase that was used for the buttons

(Hussain et al., 2016).

2.10 Carousell: UX case study

Carousell is a simple way to sell the clutter in your life and find great deals to save

you cash. In this case study, the author has decided to redesign the Carousell app in a way

that is

26
less confusing for the users, cleanly attracts users at a first glance, and has prompt action. As

a way to find out the general opinion of users for the app, the author created stories of users

based on assumptions and interviewed real users afterwards. The finding of her interview

with the users revealed 5 pain points, namely the (1) Welcome Screen, (2) Having difficulty

choosing the right category, (3) Users couldn’t find the ‘edit’ button easily, (4) Feeling

confused about ‘Promote’ feature (5/8 users), and (5) Changing photo sequence on the

choosing category page. The case study concludes that using the application would become

easier for the users if the 5 pain points listed would be solved. With that, the author has

created her very own prototype applying all of the solutions to the previously mentioned pain

points of Carousell and as a result, the success rate of the final usability testing is 93.75 %

(Lee, 2018).

2.11 Synthesis

Farmers play a significant role in providing the essentials for all of our food needs. As

much as they extend much effort just to produce a bountiful harvest, they are not gaining

enough profit from selling it. The respective study of Shriram & Mhamane (2018),

Bhiwandkar et al. (2019), Singhai & Hajare (2018), and Oguoma et al. (2010) point out in

their respective studies that two main factors affect the livelihood of the farmers; (1) the

interference of the middlemen and (2) the lack of a platform to proceed into local

transactions. According to Shriram & Mhamane (2018), the reason why farmers are not

gaining enough from their products is because of intermediary entities such as middlemen.

With the farmers’ unfamiliarity with the various sales, middlemen take great advantage of

such a situation, gaining much more income than the farmers. Alongside this, Oguoma et al.

(2010) also stated

27
that along the process of delivering the product to the consumer, the middleman marks the
price up to cover the transportation, storage, and profit. In their study, 81.1% of the

respondents attested that middlemen buy the farmers’ products directly from the point of

harvest and further dictate the pace of the distribution channel. To alleviate the need for

middlemen, Govindasamy et al., (1999) discovered in their study that farmers who sell their

products primarily through retail are 31% more likely to be in the higher-income category

than those who do not sell directly to consumers. In the produce industry, direct retailing to

customers eliminates the need for middlemen. Farmers keep a share of the money consumers

pay for their produce by selling directly to consumers and avoiding middlemen's

commissions. As a result, direct marketing allows farmers to earn a higher net price and

profit on their crops. In addition, Singhai & Hajare (2018) stated in their study that there is

currently no central digital platform that allows target clients to communicate on a single

platform.

As technology advances, as it always will, several applications were developed in

order to address the aforementioned problem. Singhai & Hajare (2021), Nugroho et al.

(2018), Diganta (2021), Bhiwandkar et al. (2019), and Shriram & Mhamane (2018)

developed their respective application for where farmers can sell their products and where

consumers can purchase the products being sold by the farmers. These are generally

applications that most likely connect farmers and consumers, creating a vital link for them to

have a direct interaction. Singhai & Hajare (2021) developed an application that allows

everybody associated with the department of fisheries, whether they are fishers, fish farms, or

input suppliers, to communicate on a single platform. The software developed is intended to

act as a comprehensive marketplace and information platform for the aforementioned sectors.

The application is run through 4 processes; (1) Registration, (2) Adding details regarding the

items being sold and

28
other information about themselves, (3) User profile is created, (4) Any adjustments including
the addition and deletion of items. Another application developed by Nugroho et al. (2018)

serves the same purpose as the previous application. The application was developed with

Android Studio 2.2.3 and Java/XML programming languages, and MySQL was also used for

database management. In a study of Shriram & Mhamane (2018) entitled the Android App to

Connect Farmers to Retailers and Food Processing Industry, they developed a design mainly

based on a client-server architecture, focused on providing a user-friendly interface that

allows quick access and view of information. The application developed provides

authentication for the user. With the bare minimum of information, the user can either

register as a consumer or producer, allowing access to internal data in two different ways.

The system exhibits 8 features; (1) Product Details Upload, (2) Shopping Cart and

Notification, (3) Product Search, (4) Real Time Database, (5) Cloud Functions and Cloud

Storage, (6) Authentication, (7) Analytics, and

(8) Client-side. As mentioned above, the user can upload the product details along with its

images. The user can add multiple products to the shopping cart and display all selected

products along with their prices. Once the order has been placed, the total amount will

automatically be calculated. Searching for the preferred product is made easy using product

search. A real-time database is used to store all data. It allows users to update app data when

database changes occur. The Firebase SDKs for Cloud Storage give Google security to file

uploads and downloads. In Cloud Functions and Cloud Storage, various triggers and HTTP

requests are supported by cloud functions. Cloud Functions were used to cleanse data, create

a user, manipulate the real-time database, and send notifications in this application. The

application provides authentication options such as Google, Facebook, Anonymous, Email

password, and Mobile Number. The Android SDK automatically records critical events, user

29
characteristics, and activities, and then displays the information in the form of graphs. The

Android APIs can offer the user all of the summary data in the form of graphs and figures,
which the firebase application can employ for this purpose. The android mobile app is written

in Java and includes built-in APIs. The app also supports multi-language, translating strings

into several languages. In another study conducted by Shriram & Mhamane (2021) entitled

Android App to Connect Farmers to Retailers and Agricultural Machinery Rental Business,

an application was also developed for farmer product marketing. The application utilizes 4

modules; (1) Login Module, (2) Search List Module, (3) Equipment List Module, and (4)

Booking Module. The phased approach used in this application is the software development

life cycle, an algorithm was used to define concepts and programming languages such as

Java. Lastly, Digante (2021) developed a system intended for farmers and buyers looking to

sell or purchase a variety of veggies. System development life cycle was used as a guide in

conducting their investigation, requirement analysis and collecting were also used throughout

the development process. The functional requirements include farmer registration, farmer

login, farmer dashboard, crop information requests, a forum that calculates fertilizer for

cultivation, a request for the location and contact information of the nearest government

agriculture officer, and live weather (temperature and humidity). The tools used in

constructing the system include Android Studio, Java, Firebase, Email Authentication, Photo

storage in Firebase, and Video calling API.

In terms of the user interface of the application, Lee (2018) stated that the design

should attract users in a clean manner and not confuse them instead. During the findings of

his interview with the users, 5 pain points were pointed out; (1) Welcome Screen, (2) Having

difficulty choosing the right category, (3) Users couldn’t find the ‘edit’ button easily, (4)

30
Feeling confused about a certain feature, (5) Changing photo sequence on the choosing

category page. After finding the solutions to the previously mentioned pain points, the success

rate of the final usability testing is 93.75%. In a study of Hussain et al. (2016), it is stated that

application improvement is something that developers need to regularly do to meet their


users’ satisfaction requirements. The application’s efficiency, effectiveness, and user

satisfaction should be evaluated to assess the lacking features there is in an application.

Evaluating each can lead to a better and beyond satisfactory application that users would seek

to make use of on a regular basis.

31
Chapter 3

METHODOLOGY

This chapter presents the methodology of the project. The System Development Life

Cycle (SDLC) specifically the modified Waterfall Model was utilized to ensure that all the

requirements were met in developing the ANI: An Agribusiness Network Integration System.

It shows the process, procedure, techniques and tools that were used in developing the system.

The diagram shown in Figure 1 were the stages taken by the proponents of this project.
Requirements
Gathering

Requirements
Analysis

Design

Implementation

Test &
Evaluation

Figure 1: Modified Waterfall Model of SDLC

32
3.1 Requirements Gathering

This section presents the requirements gathering process conducted. The data was

compiled through interviews with a consumer and a farmer conducted by the proponents

online and physically. The respondents were selected through a thorough identification of a

suitable farmer and consumer to interview. The proponents gathered data to ascertain the

process of how farmers distribute their produced goods to consumers and how consumers

purchase their primary goods. The prepared open and close-ended questions were asked in
order to acquire the necessary information about the process of buying and selling produced

goods between farmers and consumers. Before the execution of the interview, an invitation

letter was sent to the respondents to formally invite them to conduct the interview. The

consumer was interviewed online through Google Meet and was done in a formal manner.

While the interview and observation of the farmer were done in a limited physical manner

following the safety protocols.

The process of distribution of produced goods starts with the harvesting of the farmers

of their plants and crops. The produced goods according to the farmer are sold to middlemen

who most of the time pay for the transportation of the products from the farm to the

marketplace. The middlemen are also known to increase the selling price of the produce at a

much higher price than the original cost at which they have bought the products. The

middlemen then sell the produced goods to numerous outlets such as small business owners,

malls, sellers at the market, and even through online platforms like Facebook Marketplace.

From then on, the distribution of the products highly depends on how entrepreneurs want to

promote and sell the products to the consumers.

33
During the interview with the consumer, the interviewees discussed the problems they

encountered when buying fruits/vegetables online. Such as being given the wrong product,

miscommunication between the consumer and the seller, the freshness of the product is not

guaranteed, filing a complaint is hard, and lastly, they can’t bargain with the price since they

are not physically interacting with the seller. These are just some of the problems faced by

consumers when purchasing their agricultural products online.

The interviews and observations revealed both the processes through which farmers

sell their goods to either consumers or middlemen and the challenges that the target clients

encounter in this process. In terms of face-to-face procedures, the process of the produced
goods being sold to middlemen and consumers is established in such a way that farmers'

produced goods are initially sold to middlemen and then the middlemen sell them to

consumers. When farmers have a large quantity of the same vegetables available at the same

time, it becomes difficult for them to sell directly to consumers, leaving them with no

alternative but to sell through middlemen, even if the middlemen's valuation is less than what

the farmers want to impose. On the other hand, selling the produced goods online is more

convenient than ever for both target clients, but as much as it is hassle-free, consumers find it

hard to assess the quality of the produced goods and will only submit to whatever quality is

delivered. With that being said, both target clients could not rate nor give feedback on the

transactions being held given that facebook and other platforms intended for posting and

selling provide no rating function in their system. To further grasp the transfer of produced

goods from farmers to consumers and middlemen, the proponents presented an activity

diagram in Figure 2.

34
Figure 2: Selling and Buying Process

3.2 Requirements Analysis

After the requirements gathering, the proponents collated and analyzed the data

collected. From that data, the proponents were able to identify the users and system

requirements. The succeeding will present the list of users and a table showing the

requirements of users in the system.

35
3.2.1 User Definition

After the requirements gathering, the users of the system were identified.

There are two users which were identified to utilize the system namely the Farmer
and Consumer.

Farmer – The person responsible for selling the produced goods to the

consumer.

Consumer – The person responsible for buying the produced goods from the

farmer.

3.2.2 System Requirements

The requirements of the system are shown in Table 1. The table shows the list

of system requirements and their corresponding category.

Table 1

System Requirements
Category System Requirement
Input Requirement -The system shall collect user information during the
user account creation, through user
input fields.
-The system shall collect produced goods
information during the product posting through
user input fields.
-The system shall collect user inquiries such as
product search and farmer search, through user
input fields.
-The system shall collect user feedback and
ratings after buying a product.

36
Process Requirements -The system shall compile the user input data during
account creation and verify user account
registration.
-The system shall compile the user input data
during the product posting and distribute the
data to all required users.
-The system shall connect both farmer and
consumer to communicate with each other
through the internet.
-The system shall process user inquiries such as
product search and farmer search.

Output Requirements -The system shall display posted produced goods of


the farmers to the consumers.
-The system shall provide farmer information
and produced goods information from the
farmer post to be seen and read by the
consumers.
-The system shall provide users with
notifications for user interactions.
-The system shall provide the required data that
users need during user inquiries.
-The system shall display the product rating and
farmer rating at the post if available.

Control Requirements -The system shall allow only the registered user to
login and use the application.
-The system shall provide user authentication
for both types of users.
-The system shall maintain a separate user
interface and user options for the two types of
users.

Performance Requirements -The system shall provide a smooth and


responsive user interface for the users.
-The system shall provide real-time data to the
users and synchronous data exchange from
other users.
-The system shall handle multiple user
creations and multiple requests from the users.

37
-The system shall be operational 24 hours, seven
days a week, 365 days a year.
The system shall collect user information such as the name of the user, user type

(Farmer or Consumer), the address, contact number or other types of contacts like email and

Facebook account, profile picture, and other important information shall also be collected

during the user account creation through the user input fields. During the product posting, the

system shall collect product information such as the name of the product, the price, the

quantity of the product, the variant of the product, the farmer's address and contact
information through user input fields. After the system collects all the required user inputs,

the system shall compile the user information and verify the user account created during the

account creation. The system shall also compile the produced goods information during the

product posting and distribute the data to all required users. Then, the system shall connect

farmer users and consumer users to communicate and interact with each other through the

internet. Also, the system shall process the user inquiries such as product searches and farmer

searches. The system shall output the posted produced goods of the user farmer to the user

consumers and provide the farmer information and produced goods information of the posted

product, also provide users with notifications for user interaction and the system shall

provide the required data that user needs for their inquiries. Then, the system shall display

product rating and farmer rating at the post when the product rating is available. Furthermore,

the system shall allow only the registered users to log in and use the application, the system

shall provide user authentication for both types of users. Also, the system shall maintain a

separate user interface and user options for the two types of users for providing easy and not

complicated navigation of the users. The system shall provide a smooth and responsive UI

(user interface) for the users,

38
providing them with real-time data and synchronous data exchange from other users. Lastly,

the system shall handle multiple user creations and multiple user requests and be operational

24 hours, seven days a week, 365 days a year.

3.3 Design

This section presents the design of the system. The proponents work on the design that

will meet the specifications described in the system requirements. Context level diagram, data

flow diagram, use case diagram, activity diagram, entity-relationship diagram and system

architecture were used to illustrate the design of the system.


3.3.1 Context Level Diagram

Figure 3 depicts the context level diagram of the Agribusiness Network Integration

System, as well as the relevant entities involved in the system, in order to identify the data

flow relative to the external entity and the system.

The process for the farmer begins with entering the farmer's login information, which

will be validated by the system. The farmer will be able to access the system and their own

unique profile will be generated quickly after the system has been able to approve them. The

system allows the farmer to enter the product information, maintain their profile, manage

product postings and produced items, and receive and respond to consumer inquiries.

The process for the consumer begins with the consumer inputting their login

information, which is then confirmed by the system. The consumer will have access to the

system, and when the system has authorized them, their own unique profile will be created

39
swiftly. Consumers may update their profiles, view product feeds, search consumer/farmer

profiles and produced goods, provide product feedback, and communicate and receive

messages from farmers using the system.


Figure 3: Context Level Diagram

3.3.2 Data Flow Diagram

Figures 4 and 5 provide data flow diagrams for each entity in the system. It specifies

the system's operations for transferring details supplied by the farmer and consumer to the

data store as well as transmitting information requested by the farmer and consumer from the

data store.

40

Figure 4: Data flow diagram for the farmer

The farmer's data flow diagram is shown in Figure 4. Farmers' data flow diagram

contains five processes: login; managing profile, product posting, consumer interaction, and
product rating. Each process is associated with a data store, which stores data each time the

process is executed. The login mechanism checks the farmer's login details before allowing

them to use the system. The system validates the data store if the login information given

matches the login information registered in the system. The Manage Profile process enables

the farmer to modify or access personal information contained in the data store. Product

posting allows farmers to enter information that will be utilized by the system to offer

information to

41
other entities involved. Farmers may provide messaging data to customers and obtain

reactions from them through consumer interaction. Product rating enables farmers to obtain

data from customers via the system.

Figure 5: Data flow diagram for the consumer

Figure 5 depicts the consumer's data flow diagram. The data flow diagram for
consumers includes five processes: login, manage profile, product search, farmer interaction,

and product rating. Each process is linked to a data store, which stores the data each time the

process is run. The login procedure validates the consumer's login information so that they

may access the system. If the login information supplied matches the login information

recorded in the system, the system verifies the data store. The Manage Profile process allows

42
the customer to change or access his or her personal information stored in the data store.

Product search enables consumers to look for data in the data store that matches their input.

Farmer interaction enables consumers to send message data to farmers and receive responses

from them. Consumers can contribute product rating data to the data repository via product

rating.
43
3.3.3 Use Case Diagram and Description
Figure 6: Use Case Diagram for Farmer

44
Use Case ID: 1

Use Case Name: Sign Up


Description: This use case allows the farmer to create an account in the
system if he/she is a new user. The farmer must fill out the
information that is accurate. The system will verify the
information provided by the farmer.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: Verify Sign Up Information

Extend Use Case: Sign Up Error

Precondition: 1. The farmer accesses the “sign up” interface.

Postcondition: 1. The farmer logs in to the system.

Main Flow: 1. The farmer fills out all the necessary


information. 2. The user submits the asked
information.
3. The system validates all the information.
4. The system triggers Verify Sign Up information
use case. The system then verifies the account.
5. (Extension point: Sign Up Error)
6. The farmer logs in to the system.
7. The use case ends.

Alternative Flow: 3a Missing information or empty space.


1. The system prompts for missing
information. 2. Use case returns to step 1.

Use Case ID: 2

Use Case Name: Verify Sign Up Information

Description: This use case allows the system to verify the information
entered by the farmer into the system.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The farmer must enter all valid information

Postcondition: 1. The system verifies the entered information


Main Flow: 1. The system gets valid information.
2. The system checks the data stored.
3. The system checks if there is no duplicate
information. 4. The system stores the sign-up
information.
5. The system verifies the sign-up information.
6. The use case ends.

45
Alternative Flow: None
Use Case ID: 3

Use Case Name: Sign Up Error

Description: This use case will trigger the system if there is invalid
sign up information entered by the farmer.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: Sign Up

Precondition: 1. The farmer must enter all valid information

Postcondition: 1. The system verifies the entered information

Main Flow: 1. The system gets valid information.


2. The system checks the data stored.
3. The system checks if there is no duplicate
information. 4. The system stores the sign-up
information.
5. The system verifies the sign-up information.
6. The use case ends.

Alternative Flow: None

Use Case ID: 4

Use Case Name: Login

Description: This use case allows the farmer to login into the system to
access the available functions. To log in to the system, the
farmer must enter his/her created or existing account
details. After successfully logging in, the system will
prompt the system’s home page.

Primary Actor: Farmer


Secondary Actor: None

Include Use Case: Verify Account

Extend Use Case: Log In Error

Precondition: 1. The farmer accesses the “log in” interface.

Postcondition: 1. The system prompts the homepage.

46
Main Flow: 1. The farmer enters his/her Username and Password. 2. The farmer
submits his/her Username and Password.
3. The system validates the Username and Password.
4. The system triggers the Verify Account use case. The
system verifies the Username and Password.
5. (Extension point: Login Error)
6. The system prompts the homepage.
7. The use case ends.
Alternative Flow: 3a Missing information, empty space or form.
1. The system prompts for Username and
Password. 2. Use case returns to main flow step 1.

Use Case ID: 5

Use Case Name: Verify Account

Description: This use case allows the system to verify the information
entered by the farmer into the system.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The farmer must enter a valid and existing account.

Postcondition: 1. The system verifies the login credentials.

Main Flow: 1. The system gets the login credentials.


2. The system checks the data store.
3. The system confirms existing credentials.
4. The use case ends.

Alternative Flow: None


Use Case ID: 6

Use Case Name: Login Error

Description: This use case will trigger the system if an invalid login
credential is entered by the farmer.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: Login

Precondition: 1. The farmer inputs an invalid username and password.

Postcondition: 1. The system displays a login error message.

47
Main Flow: 1. The system gets the submitted username and password. 2. The system
checks the data store.
3. The system confirms that there are no existing credentials.
4. The use case ends.
Alternative Flow: None

Use Case ID: 7

Use Case Name: Product Rating

Description: This use case will allow the farmer to access and view the
ratings assigned to each of their individual items/products.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: View Product Ratings

Extend Use Case: None

Precondition: 1. The farmer selects the “product rating” option.

Postcondition: 1. The system displays the ratings for individual


items/products.

Main Flow: 1. The farmer selects the “product rating”


option. 2. The system checks the data store
3. The system displays the ratings for individual
items/products.
4. The use case ends.
Alternative Flow: None

Use Case ID: 8

Use Case Name: View Product Rating

Description: This use case will allow the farmer to access and view the
ratings assigned to each of their individual items/products.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The farmer selects the “product rating” option.

Postcondition: 1. The system displays the ratings for individual


items/products.

48
Main Flow: 1. The farmer selects the “product rating” option. 2. The system
checks the data store
3. The system displays the ratings for individual
items/products.
4. The use case ends.
Alternative Flow: None

Use Case ID: 9

Use Case Name: Consumer Interaction

Description: This use case will allow the farmer to reach out to
consumers and receive consumer queries.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: 1. Send Message To Consumer


2. Read Consumer Queries

Extend Use Case: None

Precondition: 1. The farmer access the “consumer interaction” option

Postcondition: 1. The system displays the page of the option selected by


the farmer

Main Flow: 1. The farmer access the “consumer interaction” option 2.


The system displays the options “Send Message to
Consumer” and “Read Consumer Queries”
3. The farmer will choose what option he/she wants to
access. 4. The use case ends.

Alternative Flow: None

Use Case ID: 10

Use Case Name: Send Message to Consumer

Description: This use case will allow the farmer to exchange messages
by sending a message to the consumer.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The farmer selects the “Send Message to Consumer”


option

49
Postcondition: 1. The farmer exchanges messages with the consumer.
Main Flow: 1. The farmer goes to the profile of the consumer
2. The farmer selects “Send Message to
Consumer”. 3. The farmer interacts with the
consumer
4. The use case ends.

Alternative Flow: None

Use Case ID: 11

Use Case Name: Read Consumer Queries

Description: This use case will allow the farmer to exchange messages
by reading messages or queries sent by consumers in
his/her inbox.

Primary Actor: Farmer


Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The farmer selects the “Inbox” option

Postcondition: 1. The farmer exchanges messages with the consumer.

Main Flow: 1. The farmer goes to his/her profile


2. The farmer selects “Inbox”.
3. The farmer interacts with the consumer.
4. The use case ends.

Alternative Flow: None

Use Case ID: 12

Use Case Name: Product Posting

Description: This use case will allow the farmer to create product
postings or view product posts.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: 1. Create Product Post


2. View Product Post

Extend Use Case: None

Precondition: 1. The farmer access the “product posting” option

50
Postcondition: 1. The system displays the page of the option selected by the farmer
Main Flow: 1. The farmer access the “consumer interaction” option 2.
The system displays the options “Create Product Post” and
“View Product Post”
3. The farmer will choose what option he/she wants to
access. 4. The use case ends.

Alternative Flow: None

Use Case ID: 13

Use Case Name: Create Product Post


Description: This use case will allow the farmer to create product
postings that the consumers can view.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The farmer selects the “Create Product Post” option.

Postcondition: 1. The farmer successfully created a product posting.

Main Flow: 1. The farmer selects the “Create Product Post” option. 2
The farmer enters all necessary information for the product
posting.
3. The system verifies the entered information and stores it
in the data store.
3. The farmer successfully created a product
posting.. 4. The use case ends.

Alternative Flow: None

Use Case ID: 14

Use Case Name: View Product Post

Description: This use case will allow the farmer to view his/her product
postings.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The farmer selects the “View Product Post” option.

51
Postcondition: 1. The system displays the page for the product posting.
Main Flow: 1. The farmer selects the “Create Product Post”
option. 2. The farmer successfully views a product
posting.. 4. The use case ends.

Alternative Flow: None


Use Case ID: 15

Use Case Name: Manage Profile

Description: This use case will allow the farmer to view his/her profile.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: Edit Profile

Extend Use Case: None

Precondition: 1. The farmer selects the “Manage Profile” option.

Postcondition: 1. The system displays the farmer profile page

Main Flow: 1. The farmer selects the “Manage profile”


option. 2. The system checks the information of
the farmer. 3. The system displays the farmer
profile page.
4. The use case ends.

Alternative Flow: None

Use Case ID: 16

Use Case Name: Edit Profile

Description: This use case will allow the farmer to edit his/her profile.

Primary Actor: Farmer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The farmer selects the “Edit Profile” option.

Postcondition: 1. The farmer successfully edits his/her profile

Main Flow: 1. The farmer selects the “Edit Profile” option.


2. The system checks the information of the
farmer. 3. The system displays the edit profile
page.

52
4. The farmer edits the information on his/her profile.
5. The farmer submits the updated information
6. The system checks the information and stores it in the data
store.
7. The use case ends.
Alternative Flow: None

53
Figure 7: Use Case Diagram for Consumer
Use Case ID: 17

Use Case Name: Sign Up

Description: This use case allows the consumer to create an account in


the system if he/she is a new user. The consumer must fill
out the information that is accurate. The system will verify
the information provided by the consumer.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: Verify Sign Up Information

Extend Use Case: Sign Up Error

Precondition: 1. The consumer accesses the “sign up” interface.

Postcondition: 1. The consumer logs in to the system.

Main Flow: 1. The consumer fills out all the necessary


information. 2. The user submits the asked
information.
3. The system validates all the information.
4. The system triggers Verify Sign Up information
use case. The system then verifies the account.
5. (Extension point: Sign Up Error)
6. The consumer logs in to the system.
7. The use case ends.

Alternative Flow: 3a Missing information or empty space.


1. The system prompts for missing
information. 2. Use case returns to step 1.

Use Case ID: 18

Use Case Name: Verify Sign Up Information

Description: This use case allows the system to verify the information
entered by the consumer into the system.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The consumer must enter all valid information

Postcondition: 1. The system verifies the entered information

54
Main Flow: 1. The system gets valid information.
2. The system checks the data stored.
3. The system checks if there is no duplicate information.
4. The system stores the sign-up information.
5. The system verifies the sign-up information.
6. The use case ends.
Alternative Flow: None

Use Case ID: 19

Use Case Name: Sign Up Error

Description: This use case will trigger the system if there is invalid
sign up information entered by the consumer.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: Sign Up

Precondition: 1. The consumer must enter all valid information

Postcondition: 1. The system verifies the entered information

Main Flow: 1. The system gets valid information.


2. The system checks the data stored.
3. The system checks if there is no duplicate
information. 4. The system stores the sign-up
information.
5. The system verifies the sign-up information.
6. The use case ends.

Alternative Flow: None

Use Case ID: 20

Use Case Name: Login

Description: This use case allows the consumer to login into the system
to access the available functions. To log in to the system,
the consumer must enter his/her created or existing
account details. After successfully logging in, the system
will prompt the system’s home page.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: Verify Account

Extend Use Case: Log In Error


Precondition: 1. The consumer accesses the “log in” interface.

55
Postcondition: 1. The system prompts the homepage.
Main Flow: 1. The consumer enters his/her Username and Password.
2. The consumer submits his/her Username and Password.
3. The system validates the Username and Password. 4.
The system triggers the Verify Account use case. The
system verifies the Username and Password.
5. (Extension point: Login Error)
6. The system prompts the homepage.
7. The use case ends.

Alternative Flow: 3a Missing information, empty space or form.


1. The system prompts for Username and
Password. 2. Use case returns to main flow step 1.

Use Case ID: 21

Use Case Name: Verify Account

Description: This use case allows the system to verify the information
entered by the consumer into the system.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The consumer must enter a valid and existing account.

Postcondition: 1. The system verifies the login credentials.

Main Flow: 1. The system gets the login credentials.


2. The system checks the data store.
3. The system confirms existing credentials.
4. The use case ends.

Alternative Flow: None

Use Case ID: 22

Use Case Name: Login Error

Description: This use case will trigger the system if an invalid login
credential is entered by the consumer.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: Login

Precondition: 1. The consumer inputs an invalid username and password.

56
Postcondition: 1. The system displays a login error message.
Main Flow: 1. The system gets the submitted username and
password. 2. The system checks the data store.
3. The system confirms that there are no existing
credentials. 4. The use case ends.

Alternative Flow: None

Use Case ID: 23

Use Case Name: Product Rating

Description: This use case will allow the consumer to access and view
the ratings of the individual items/products.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: Input Product Ratings

Extend Use Case: None

Precondition: 1. The consumer selects the “product rating” option on a


post.

Postcondition: 1. The system displays the ratings for individual


items/products.

Main Flow: 1. The farmer selects the “product rating”


option. 2. The system checks the data store
3. The system displays the ratings for individual
items/products.
4. The use case ends.

Alternative Flow: None


Use Case ID: 24

Use Case Name: Input Product Rating

Description: This use case will allow the consumer to input a product
rating on a post created by a farmer.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The consumer selects the “Input product rating” option.

Postcondition: 1. The consumer successfully creates a rating for an


individual item/product.

57
Main Flow: 1. The farmer selects the “Input product rating” option. 2. The system
displays the “input product rating” page.
3. The consumer successfully creates a rating for an individual
item/product.
4. The use case ends.
Alternative Flow: None

Use Case ID: 25

Use Case Name: Farmer Interaction

Description: This use case will allow the consumer to reach out to the
farmer for questions and queries.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: 1. Send Message To Farmer


2. Read Farmer Response

Extend Use Case: None

Precondition: 1. The consumer access the “farmer interaction” option

Postcondition: 1. The system displays the page of the option selected by


the consumer
Main Flow: 1. The consumer access the “farmer interaction” option 2.
The system displays the options “Send Message to
Farmer” and “Read Farmer Response”
3. The farmer will choose what option he/she wants to
access. 4. The use case ends.

Alternative Flow: None

Use Case ID: 26

Use Case Name: Send Message to Farmer

Description: This use case will allow the consumer to exchange


messages by sending a message to the farmer.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The consumer selects the “Send Message to Farmer”


option

Postcondition: 1. The consumer exchanges messages with the farmer.

58
Main Flow: 1. The consumer goes to the profile of the farmer. 2. The consumer
selects “Send Message to Farmer”.
3. The consumer interacts with the farmer.
4. The use case ends.
Alternative Flow: None

Use Case ID: 27

Use Case Name: Read Farmer Response

Description: This use case will allow the consumer to read farmer
responses for his/her queries.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None


Precondition: 1. The consumer goes to his/her inbox.

Postcondition: 1. The farmer successfully reads the farmer's responses to


his/her queries.

Main Flow: 1. The farmer goes to his/her inbox.


2. The system displays the inbox on page
3. The farmer successfully reads the farmer's responses to
his/her queries.
4. The use case ends.

Alternative Flow: None

Use Case ID: 28

Use Case Name: Product Search

Description: This use case will allow the consumer to search for
products in the application,

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: 1. View Product Post

Extend Use Case: None

Precondition: 1. The consumer access the “product search” option

Postcondition: 1. The consumer successfully finds a product he/she wants.

59
Main Flow: 1. The consumer access the “product search” option 2. The consumer will
search for a specific item/product he/she
wants.
3. The system will display all available product postings.
4. The consumer successfully finds a product he/she wants.
5. The use case ends.
Alternative Flow: None

Use Case ID: 29

Use Case Name: View Product Post

Description: This use case will allow the consumer to view a specific
product posting in the application,
Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The consumer access the “View product post” option

Postcondition: 1. The consumer successfully views the product he/she


wants.

Main Flow: 1. The consumer access the “View product post” option 2.
The system will display a page containing all the
information about the product.
4. The consumer successfully views the product he/she
wants. 5. The use case ends.

Alternative Flow: None

Use Case ID: 30

Use Case Name: Manage Profile

Description: This use case will allow the consumer to view his/her
profile.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: Edit Profile

Extend Use Case: None

Precondition: 1. The consumer selects the “Manage Profile” option.

Postcondition: 1. The system displays the farmer profile page

60
Main Flow: 1. The consumer selects the “Manage profile” option. 2. The system
checks the information of the consumer.
3. The system displays the consumer profile page.
4. The use case ends.
Alternative Flow: None

Use Case ID: 31


Use Case Name: Edit Profile

Description: This use case will allow the consumer to edit his/her
profile.

Primary Actor: Consumer

Secondary Actor: None

Include Use Case: None

Extend Use Case: None

Precondition: 1. The consumer selects the “Edit Profile” option.

Postcondition: 1. The consumer successfully edits his/her profile

Main Flow: 1. The consumer selects the “Edit Profile” option. 2.


The system checks the information of the consumer.
3. The system displays the edit profile page.
4. The consumer edits the information on his/her profile. 5.
The consumer submits the updated information 6. The
system checks the information and stores it in the data
store.
7. The use case ends.

Alternative Flow: None

3.3.4 Activity Diagram

The process of the Agribusiness Network Integrated System can also be visualized by

activity diagrams that are shown in Figures 8 and 9. This diagram presents a series of

workflows that describe the operation of the system.

61
Figure 8: Activity Diagram for Farmer

62
The farmer's activity diagram begins with the farmer logging in or signing up,

depending on whether or not the user is already registered with the system. When the farmer

signs up for the first time, they have the choice to terminate the entire activity or proceed to
the login process. The login action is conventional in that when the user enters his or her

information, the system verifies whether or not the entered login details are valid.

When a registered farmer logs in, the system checks the farmer's login credentials. If

any of the credentials are invalid, it displays a login error and returns to the login page. Once

verified, the farmer will be offered four actions: product rating, consumer interaction, product

posting, and managing profile. By selecting product ratings, the farmer can see the ratings

assigned to each of their items. Selecting consumer interaction allows the farmer to connect

with the consumer, receiving and responding to messages. If the farmer selects product

posting, he or she will be given two options: evaluate already posted items or create a new

product posting. Farmers can alter or add data to their profile by selecting the manage profile

option. The farmer can then exit if he or she so wants. If the farmer is through with the

transactions, he or she can log out using the logout action.

63
Figure 9: Activity Diagram for Consumer

64
The consumer’s activity diagram begins with the consumer logging in or signing up,

depending on whether or not the user is already registered with the system. When the

consumer signs up for the first time, they have the choice to terminate the entire activity or
proceed to the login process. The login action is conventional in that when the user enters his

or her information, the system verifies whether or not the entered login details are valid.

When a registered consumer logs in, the system checks the consumer's login

credentials. If any of the credentials are invalid, it displays a login error and returns to the

login page. Once verified, the consumer will be offered four actions: product rating, farmer

interaction, product search, and manage profile. By selecting product ratings, the consumer

can input ratings on a farmer’s produced goods. Selecting farmer interaction allows the

consumer to connect with the farmer, receiving and responding to messages. If the consumer

selects product search, he or she will see the product posts of farmers. Consumers can alter or

add data to their profile by selecting the manage profile option. The consumer can then exit if

he or she so wants, If the consumer is through with the transactions, he or she can logout

using the logout action.

65
3.3.5 Database Design

Table 2

Data Dictionary of Farmer Entity


Entity Name Farmer
Entity Description An entity that will post his/her product to the consumer.

Attribute Name Attribute Data Type Length Prima Foreign Nullable Unique
Description ry Key
Key

farmerID Unique ID INTEGER 10 True False False True


of the
user.

farmerAuthID Farmer VARCHA 10 False True False True


Authentication R

First_Name First name VARCHA 255 False False False False


of the user R

Last_Name Last name of VARCHA 255 False False False False


the user. R

Age Age of the INTEGER 3 False False False False


user.

Gender Gender of VARCHA 10 False False True False


the user. R

Phone_number Phone INTEGER 11 False False False True


number of
the user.

addressID Address INTEGER 10 False True False False

profile_imageURL Profile VARCHA 255 False False False True


picture R
image url of
the user.

productID Product INTEGER 10 False True True True

66
Table 3

Data Dictionary of Consumer Entity


Entity Name Consumer

Entity Description An entity that will choose and buy farmer products.

Attribute Name Attribute Data Type Length Prima Foreign Nullable Unique
Description ry Key
Key

consumerID Unique ID of INTEGER 10 True False False True


the user.
consumerAuthID Consumer VARCHAR 10 False True False True
Authentication

First_Name First name of VARCHAR 255 False False False False


the user

Last_Name Last name of VARCHAR 255 False False False False


the user.

Age Age of the INTEGER 3 False False False False


user.

Gender Gender of VARCHAR 10 False False True False


the user.

Phone_number Phone INTEGER 11 False False False True


number of
the user.

addressID Address INTEGER 10 False True False False

bProductID Bought INTEGER 10 False True True True


Product

profile_imageURL Profile VARCHAR 255 False False False True


picture
image url of
the user.

ratingID Rating INTEGER 10 False True True True

67
Table 4

Data Dictionary of Product Entity


Entity Name Product

Entity Description An entity that the farmer posted and for the consumer to buy.

Attribute Attribute Data Type Length Primary Foreign Nullable Unique


Name Description Key Key

productID Unique ID INTEGER 10 True False False True


of the
product.

farmerID Farmer INTEGER 10 False True False True

Name The name VARCHAR 255 False False False False


of the
product.

Price The price NUMERIC (8,2) False False False False


of the
product.
Quantity Quantity INTEGER 1 False False False False
of the
product.

categoryID Category INTEGER 10 False True False False

imageURL Product VARCHAR 255 False False True False


image url.

description Product VARCHAR 5000 False False False True


description

ratingID Rating INTEGER 10 False True False False

datePosted Bought DATE 10 False True True True


Product

68
Table 5

Data Dictionary of Address Entity


Entity Name Address

Entity Description An entity that specifies user address.

Attribute Attribute Data Type Length Primary Foreign Nullable Unique


Name Description Key Key

addressID Unique ID INTEGER 10 True False False True


of the
address.

Street Farmer VARCHAR 255 False False True True

Barangay The name VARCHAR 255 False False False False


of the
product.

Municipalit The price VARCHAR 255 False False False False


y/C ity of the
product.

Zip_Code Quantity INTEGER 4 False False False False


of the
product.

Province Category VARCHAR 255 False False False False

69
Table 6

Data Dictionary of Consumer Authentication Entity


Entity Name Consumer Authentication

Entity Description An entity that authenticate the consumer user account.

Attribute Name Attribute Data Type Length Prima Foreign Nullable Unique
Description ry Key
Key

consumerAuthID Consumer INTEGER 10 True False False True


authentication
ID

consumerID Consumer INTEGER 10 False True False True

email Email address VARCHAR 255 False False False True

username Nickname or VARCHAR 255 False False False True


username

password User password VARCHAR 255 False False False False

Table 7

Data Dictionary of Farmer Authentication Entity


Entity Name Farmer Authentication

Entity Description An entity that authenticate the farmer user account.

70
Attribute Name Attribute Data Type Length Prima Foreign Nullable Unique
Description ry Key
Key

farmerAuthID Farmer INTEGER 10 True False False True


authentication
ID

farmerID Farmer INTEGER 10 False True False True

email Email Address VARCHAR 255 False False False True

username Nickname or VARCHAR 255 False False False True


username

password User password VARCHAR 255 False False False False


Table 8

Data Dictionary of Rating Entity


Entity Name Rating

Entity Description An entity that specifies the rating of the product.

Attribute Name Attribute Data Type Length Prima Foreign Nullable Unique
Description ry Key
Key

ratingID Product rating INTEGER 10 True False False True


ID

productID Product INTEGER 10 False True False False

Rating Product rating. INTEGER 255 False False False False

Feedback Product VARCHAR 5000 False False True False


feedbacks

Table 9

Data Dictionary of Category Entity


Entity Name Category

71
Entity Description An entity that specifies the category and the type of the product.

Attribute Name Attribute Data Type Length Prima Foreign Nullable Unique
Description ry Key
Key

categoryID Category ID INTEGER 10 True False False True

productID Product INTEGER 10 False True False False

Name Category name VARCHAR 255 False False False False

Type Product type VARCHAR 255 False False False False

Table 10

Data Dictionary of Bought Product Entity


Entity Name Bought Product

Entity Description An entity that specifies the product that has been bought by the consumer.

Attribute Name Attribute Data Type Length Prima Foreign Nullable Unique
Description ry Key
Key

bProductID Bought INTEGER 10 True False False True


product ID

productID Product INTEGER 10 False True False True

Quantity The number INTEGER 5 False False False False


of the
product.

total_amount Total amount NUMERIC (8,2) False False False False


payed.

72
73
Figure 10: ERD - ANI System

3.3.6 System Architecture


74
Figure 11: ANI - System Architecture

Figure 11 illustrates the interactions between the various components of the system.

The database serves as the primary repository for data, including login credentials, details

pertaining to farmers and consumers, product information, as well as farmer and consumer

messaging and product ratings. This data is then processed by the server-side logic, which

retrieves the necessary information from the database and delivers it to the user interface. The

75
user interface subsequently presents this information to the user. Additionally, the user

interface also enables users to input data, which is then transmitted to the database for storage

and further processing by the server-side logic.


76
3.3.7 Graphical User Interface Design
Figure 12: Welcome Page

Figure 12 shows the Welcome Page of the ANI Application. This will be the first

screen to display when a user opens the application.

77
Figure 13: Sign Up Page 1

Figure 13 shows the Sign-Up Page of the ANI Application, where the user can choose

whether he/she wants to sign up via email and password or through his/her Google Account

or Facebook account. On this page, the user can also choose to go to the Login page if he/she

already has an account.

78
Figure 14: Sign Up Page 2

Figure 14 shows the Sign Up Page 2 of the ANI Application, where the user has to

input all of his/her information (Phone Number and Address)

79
Figure 15: Login Page

Figure 15 shows the Login Page of the ANI Application, where users who already
have an account can just log in using his/her email address and password, or log in through
his/her Google Account or Facebook Account.

80

You might also like