Download as pdf or txt
Download as pdf or txt
You are on page 1of 76

FARMMART

Submitted by:

Apexa Mistry
Palak Arora
Surya Narayana Pakalapati
Abhishek Raturi
Shivangi Shandilya
Dhruvika Kharva
Rahul Raman
Arshdeep Keshav

Submitted to:
Jake Nesovic
ICET Department,
School of Engineering Technology and Applied Science
Progress Campus, Block A
Centennial College

Discipline: Software Engineering

Due Date: 9th December 2020

1
Declaration of Sole Authorship

We, Apexa Mistry, Palak Arora, Surya, Abhishek, Shivangi, Arshdeep, Dhruvika
and Rahul Raman confirm that this work submitted for assessment is our own
and is expressed in our own words. Any uses made within it of the works of any
other author, in any form (ideas, equations, figures, texts, tables, programs), are
properly acknowledged at the point of use. A list of the references used is
included.

Signed:
Apexa Mistry 301019972
Palak Arora 301112908
Surya Narayana Pakalapati 301108268
Abhishek Raturi 300985889
Shivangi Shandilya 301119183
Arshdeep Keshav 301104120
Dhruvika Kharva 300984119
Rahul Raman 301113303

Date: 25th September 2020

2
Abstract

The following Technical Report is about a web application named as “FarmMart”,

that is intended to serve as a platform for farmers to lend or borrow possessions

such as agricultural land, machinery and other equipment required for farming.

This report contains all the necessary information of system analysis that is

required for decision making or finding solutions to technical problems that may

occur while development of the project.

3
Table of Contents
Declaration of Sole Authorship 2
Abstract 3
List of Figures 6
List of Tables 7
Project Proposal 8
A. Executive Summary 8
B. Business Objectives 8
C. Project Description 9
D. Project Approval Form 11
1.0 INTRODUCTION 12
2.0METHODOLOGY AND RESULTS 15
2.1 Literature Review 15
2.2 Proposed Solution 15
2.3 User Role Modelling 17
2.3.1 Brainstorm and Group 17
2.3.2 Consolidated User Roles 20
2.3.3 Description of User Roles and Persona 21
2.3.4 Additional Documentation User Role Modelling 23
2.4 Release 1.0 24
2.4.1 User Stories 24
2.4.2 Additional Documentation User Stories 38
2.4.3 Release Plan 1.0 39
2.4.4 Iteration #1 Planning (Release 1.0) 42
2.4.5 Iteration #2 Planning (Release 1.0) 44
2.4.6 Additional Documentation Iteration Planning 47
2.4.7 Progress Monitoring 47
2.4.8 Acceptance Tests for Release 1.0 49
2.4.9 Additional Document Software Release 1.0 52
3.0 Conclusion 53
4.0 Bibliography and Technical References 53
Appendix A (Design Document) 54
Appendix B (Test Plan) 72

4
1.0 Introduction 72
Goals 72
Risks and Assets 72
2.0 Scope 72
Features To Be Tested 72
Features Not To Be Tested 72
3.0 Testing Procedures 72
Appendix C (End-User & Administrator Manual) 73

List of Figures

Figure 1: Developer’s Perspective of System Architecture 16

5
Figure 2: Organized user role cards. 18
Figure 3: The consolidated role cards 20
Figure 4: Low-Fidelity Prototype for Guest User/Visitor 24
Figure 5: Low-Fidelity Prototype for Farmer 27
Figure 6: Low-Fidelity Prototype for Asset Owner 33
Figure 7: Iteration burndown chart for data from Table 6 48
Figure 8: Low Fidelity Diagram 54
Figure 9: Asset Owner Sequence diagram 55
Figure 10: Farmer sequence diagram 56
Figure 11: Entity Relationship Diagram 57
Figure 12: Use Case Diagram 58

6
List of Tables

Table 1: The must-have user stories for release 1.0 39


Table 2: The should-have user stories for release 1.0 40
Table 3: The could-have user stories for release 1.0 40
Table 4: The wont’-have stories for Release 1.0 40
Table 5: The actual release plan based on MoSCoW story prioritization 41
Table 6: Progress and changes for all Iterations for Release 1.0 47

7
Project Proposal
FarmMart

A. Executive Summary
FarmMart is a web application that serves as a platform for farmers to lend
or borrow assets such as agricultural land, machinery and other
equipment from other farmers or owners of the assets.

B. Business Objectives
1. Business Need/Opportunity/Objectives

The merchants and farmers lack the time-saving forum for trading
machinery and agricultural land often they cannot find a decent offer. At
the same time, small scale farmers cannot afford these expensive
machinery or other equipment required for farming.
The proposed solution aims to solve the aforementioned problems and
has the following objectives:
● To serve as an agent between the farmers, and land/machinery
owners.
● To help farmers get the right price for their land and machinery.
● To help the land and machinery owners get a passive income from
their assets by lending them.
● To help the farmers, who cannot afford the expense of machinery or
do not possess enough land to do farming, get the agricultural
equipment on cheaper price.

2. Product Description (Solution)

FarmMart intends to serve as a platform where farmers can purchase,


lend or borrow equipment, required for farming. Moreover, through this
platform farmers can directly contact the merchants who are interested in
leasing and renting farm machinery and land. The application also helps
them to get acknowledged with good agricultural practices along with land
and equipment maintenance.

Benefits:
● The reasonable leasing and renting costs will help farmers save
money.
● Time saving platform, as it helps the users to directly have a chat
with other users. Machinery owners make extra money by lending
the equipment.
● Allow farmers and retails chains to find the best deals.

8
● The proposed solution will help the public to get the best farming
equipment’s for buying and renting at much cheaper prices.
They can lease the agricultural land on reasonable prices.

The project will be deemed successful if the farmers start making more
profit than their usual business. By using the services of farm
mart, the profitability is increased by more than 5% as per comparative
study of other similar websites like market book and green tractors.

3. Deliverables
Deliverables Include:
● User registration system with database integrated
● Renting and Leasing efficiency and smooth paperwork for
farmers.
● Machinery and Land related Payment Processing System
● Maintaining DB schema
● Maintaining the web application to make it faster and
smoother
Deliverable excludes:
● Servers
● Server Maintenance

C. Project Description
1. Scope

The scope of the solution includes the following functionalities:

● Register and store user information.


● Add and store information about machinery.
● Search and display machinery-based type, price, condition, and model.
● Allow farmers to lease machinery from the owners.
● Allow registered users to directly chat with one another regarding the
lending or borrowing.
● Payment processing.
● Read Information about organic farming and practices.
● Allow registered users to give feedback about used services.

Does Not Include:

● Crops or produced food marketing. Delivery of leased machinery.

9
2. Completion Criteria

The completion criteria will be considered based on the set objective,


which requires us to complete all the functional and non-functional
requirements.

Functional Requirements:

a. Customers can create account and login to our website.


b. Customer can easily navigate between different pages using
breadcrumbs.
c. Customers can post the advertisement for renting different
agricultural equipment or land
d. Farmers can contact the customer who has posted the
advertisement for their equipment.
e. Farmers can contact other farmers for collaboration.
f. Farmer can view the distance between them and the customers
who wants to lend their equipment’s using google map.

Non-Functional Requirements:
a. Web application is easy to maintain.
b. Web application is responsive across all the devices
c. Web application is secure and safe to use with customer privacy
kept in mind.
d. Web application has low latency, less loading time.

3. Measures of Project Success

The success of the project will be measured by the key factors such as
efficiency, performance, and popularity.
● Efficient: The project researches the level of desired efficiency, if all
the processes execute effectively without any bugs.
● Performance: The performance of the project is considered to be
successful, when it satisfies both stakeholders and end users. It will
be measured through feedback process.
● Popularity: The amount of traffic coming to the website will
constitute for the popularity factor of project success. The desired
traffic is estimated to be 50 unique visitors per week.
D. Project Approval Form

I, Jake Nesovic, have reviewed the information contained in this document


and approve the project proposal.

10
__________________________
_________________________
Signature Date

1.0 INTRODUCTION

Problem Statement:

11
Farmers nowadays are facing several problems and one of the major problems is

that merchants and farmers lack the time-saving forum for trading machinery and

agricultural land often they cannot find a decent offer. At the same time, small

scale farmers cannot afford these expensive machinery or other equipment

required for farming.

Solution:

The solution is to build a website that intends to serve as a forum for farmers to

lend or borrow the equipment required for agriculture. In addition, farmers can

contact merchants who are interested in leasing and renting farm machinery and

land directly through this website.

System Capabilities:

 Register and store user information.

 Add and store information about machinery.

 Add and store information about agricultural land.

 Search and display machinery-based type, price, location, duration, year.

 Search and display agricultural land, location, area per square feet, soil

type, etc.

 Allow farmers to lease machinery from the owners

 Direct message system to contact interested parties.

 Payment processing

 Allow registered user to give feedback about used services

Benefits:

12
 Time saving platform, as it helps the users to directly have a chat with

other users.

 Asset owners make passive income by lending the equipment.

 The small-scale farmers will not have to buy expensive machinery for

seasonal farming, as they can borrow equipment from others, which will

save money.

 Allow farmers and retails chains to find the best deals.

 Not only the equipment can be rented but also the farming lands can be

loan or hired.

 Providing a platform for the transparent money transactions

Subsystems:

 Registration

 Ordering system

 Payment system

 Direct Message System

The stakeholders and their roles:

 Farmers: renting/borrowing machinery, renting/borrowing agricultural land.

13
 Machinery owners: lease equipment to the farmers,

adding/modifying/deleting information about machinery;

 Agricultural Landowner: lease cultivated land to farmers.

14
2.0 METHODOLOGY AND RESULTS

2.1 Literature Review

There are many existing applications on the web which provide solutions to the

problems related to farming, such as Farmers Market Ontario and Food4all.

However, these applications only provide the service where the customers can

buy fresh organic food directly from the farmers. These applications lack in some

areas to be a strong solution, as they are just concentrated more to provide a

service to public rather than helping the farmers. They do not allow farmers to

rent the machinery or land for agricultural purposes.

2.2 Proposed Solution

FarmMart intends to serve as a platform where farmers can purchase, lend or

borrow equipment, required for farming. Moreover, through this platform farmers

can directly contact the merchants who are interested in leasing and renting farm

machinery and land. The application also helps them to get acknowledged with

good agricultural practices along with land and equipment maintenance.

15
Figure 1: Developer’s Perspective of System Architecture

16
2.3 User Role Modelling
2.3.1 Brainstorm and Group

Brainstormed Ideas of possible users:

1. Farmers

2. Machinery Owners

3. Landowners

4. Suppliers

5. Anonymous users

6. Admin

7. Stakeholders

8. Developers

9. Testers

10. Content Moderator

11. Customer

12. Technical Support

13. Operational Staff

14. Maintenance Staff

17
Figure 2: Organized user role cards.

As from figure 2, we have listed all the users who will play their unique role in our

application. All the users are discussed briefly as follows:

 Firstly, the farmers are the one who are able to rent or lease the specific

machinery as well as land from their respective owners.

 The machinery owners provide all the tools for farming purpose.

 Also, the landowners advertise their agriculture properties to the

interested customers.

 Now, moving towards the suppliers who help supply these products to

their clients.

18
 The anonymous users are the one who can view the content in the web

application but can’t perform any tasks unless registered.

 The stakeholders are the team of people who contribute in the

development of the project.

 Admin can access the whole application and can modify according to the

needs. Developers and testers take major part in the development of the

whole application.

 Content moderator is the one looking after the content of the page and

refining it so that there is no inappropriate stuff on the site.

 Customers are the one who provide solutions to the problem statement.

Technical Support takes care to the technical problems faced by the

customers. Operational staff are taking care of the whole project.

 Maintenance support will look after the continuation of the web

application and the infrastructure related to the proposed platform.

19
2.3.2 Consolidated User Roles

Figure 3: The consolidated role cards


We have consolidated the entire set of roles into two categories, in figure 3. A few

roles are removed from the previous step (see figure 2) since they can be

grouped to a single entity.

In the user section, there are similar entities that access on regular basis. These

most frequent users of our application are Farmers, Asset Owners, and

Anonymous Users. All these users have their specific roles in the app. Here, we

have eliminated the machinery owners and landowners. They have the same

user role functions and can be categorize a one named Asset Owners. Also, the

20
supplier has the same functionalities as the asset owners. So, it is better to

remove supplier as well.

The stakeholders and customer are also removed because, they don’t play a part

as “user”. And for other user cards such as content moderator, technical and

operational staff come under testers who will be using the system only for

maintenance, therefore we also removed these user cards.

2.3.3 Description of User Roles and Persona

For each consolidated role from the above section 2.3.2, the following factor is

being discussed:

● The frequency with which the user will use the software.

● The user's level of expertise with the domain.

● The user's general level of proficiency with computers and software.

● The user's level of proficiency with the software being developed.

● The user's general goal for using the software. Some users are after

convenience, others favour a rich experience, and so on.

The following points states user roles with specific descriptions:

1. Farmer:

 Frequency: Most frequent or regular


Farmers will be the frequent users of this software as the need to
add or delete the products from the application.
 User’s level of expertise with domain: Basic to intermediate
The farmers’ level of expertise will range from basic to intermediate.
 Proficiency with software, computers: Basic to intermediate

21
Also, their proficiency with software, computers will range from
basic to intermediate as they would not have much experience with
the new technology because of traditional practices.
 Proficiency with software being developed: None
They are the user no need to be in development
 General role of usage:
The application will help them ease the process.

2. Asset Owner:

 Frequency: Regular or most frequent


 User’s level of expertise with domain: moderate to high
They should be good with the domain knowledge.
 Proficiency with software, computers: Moderate
They need to update all the specifications for their machinery on
regular basis.
 Proficiency with software being developed: Basic
Their knowledge with the application development does not really
matter.
 General role of usage:
They are the one lending their machinery to the farmers and they
need to maintain their machinery in their proper condition.
3. Guest User/Visitor:

 Frequency: Very less


 User’s level of expertise with domain: Basic
Depends on their usage.
 Proficiency with software, computers: Basic
Depends on the role of the user.
 Proficiency with software being developed: Null
They don’t take any part in the development.

22
 General role of usage:
They are the one surfing our application for general purpose.

2.3.4 Additional Documentation User Role Modelling

Video Posted on YouTube: Team FarmMart Workshop User Role Modelling.


URL: https://www.youtube.com/watch?v=FDg3W9kbatw&feature=youtu.be

Video Posted on Microsoft teams: S3G4-User_Role_Modelling_Workshop


Link :
https://centennialcollegeedu.sharepoint.com/sites/COMP231_S3G5/Shared
%20Documents/General/Week3-Submission_User_Role_Modelling/S3G4-
User_Role_Modeling_Workshop.mp4

2.4 Release 1.0

2.4.1 User Stories

23
User Stories for Visitor/ Guest user

Figure 4: Low-Fidelity Prototype for Visitor/ Guest User

Use Case: Home Page


User Story: As a guest user I want to Test: Click on every tab and buttons
view all the pages of the website so and return to homepage.
that I can have a general
understanding about the website. Expected Outcome: The user should
be able to navigate successfully.
Notes: The home page should have
24
navigation bar containing land posts,
machinery posts, login button, and a
search bar.

Estimation: 10hours

User Case: Signup


User Story: As a guest user I want to Test: Try registering without filling all
access the signup form so that I can the fields or enter invalid details.
create an account on the website.
Expected Outcome: The system will
Notes: In the signup page there not allow the user to register.
should be a role selection to register
as a farmer or asset owner, and the
forms for the two users should be
different.

Estimation: 6hours

User Case: Machinery posts


User Story: As a guest user I want to Test: Navigate back and forth.
view all the machinery posts so that I
can get a general idea about the Expected Outcome: Successful
website without the need of creating navigation.
an account.
Test: Click on the machinery post.
Notes: The guest user should not be
able to view chat options. Expected Outcome: The details about
the machinery should be visible.
Estimate: 10hours

25
User Case: Land Posts
User Story: As a guest user I want to Test: Navigate back and forth.
view all the land posts so that I can
get a general idea about the website Expected Outcome: Successful
without the need of creating an navigation.
account.
Test: Click on the land posts.
Notes: The guest user should not be
able to view chat options. Expected Outcome: The details about
the land should be visible.
Estimate: 10hours

User Case: Search


User Story: As a guest user I want to Test: Try searching with existing
search a post from the home page. assets.

Notes: A search bar should be Expected Outcome: The searched


implemented in home page with a results should appear.
search button. When the user types
the search and press the button, the
matching results should appear.

Estimate: 7hours

User Stories for Farmer

26
Figure 5: Low-Fidelity Prototype for Farmer

27
User Case: Signup
User Story: As a farmer I want to Test: try to register with invalid details
register to the website so that I can or incomplete register form.
create an account.
Expected Outcome: Unable to sign
Note: The signup form for the farmer up.
should ask for full name, email id
linked with PayPal, phone number,
address, farmer username and
password.

Estimation: 6hours

User case: Login


User Story: As a farmer I want to login Test: Try login with invalid credentials.
to the website with my credentials.
Expected Outcome: Unable to login
Notes: The login form should ask for
username and password. Test: Test with existing username and
password.
Estimation: 4hours
Expected Outcome: Login to the
profile.

User case: Farmer Profile Page


User Story: As a farmer I want to view Test: Test with existing farmer
my account information and new information and try to edit some fields.
notifications on my profile page. I also
want to edit or update my account Expected Outcome: The edited
information. information should be updated.

Note: 1. There should be a notification


button on the profile page, which will

28
indicate for new messages or
successful payment notifications by
displaying a red dot or number on the
button.
2. Also, there should be an editing
options besides the account
information.

Estimation: 7hours

User Case: Notifications


User Story: As a farmer I want to view Test: Test with existing notifications,
the list of all the new notifications after click on new message notifications.
clicking on the notification button.
Expected Outcome: All the
Notes: 1. The notifications will consist notifications should be visible, and the
of new messages in reply to any chat message notifications should redirect
or payment success messages. the user to the chat window.
2. When the farmer will click on the
notification button on the profile page,
a dropdown menu should appear
displaying all the notifications.3. The
notifications should be hyperlinked
and direct the farmer to respective
notified pages.

Estimation: 6hours

User Case: Logout


User Story: As a farmer I want to Test: Try to logout from every page of
logout from the website so that I can farmer account.

29
exit the application whenever I want.
Expected Outcome: The user should
Notes: A confirmation should be asked be directed to the guest user home
before logging out the user. page.

Estimation: 2hours

User case: Search Filters


User Story: As a farmer I want to Test: Test with existing assets and
search for assets by applying filters so applying filters accordingly.
that I can find the desired asset.
Expected Outcome: The result of the
Notes: The search view will have search should match the applied
filters such as type of asset, price and filters.
location.

Estimation: 8hours

User Case: Search results


User Story: As a farmer I want to view Test: test with existing assets and
the results of applied search so that I apply filters accordingly.
can find the suited asset according to
my requirements. Expected Outcome: The result of the
search should match the applied
Notes: The page shows the list of the filters.
matched assets.

Estimation: 7hours

User case: Details of Posts


User Story: As a farmer I want to view Test: Test with existing posts
detailed info of a post by clicking on
them. Expected Outcome: The details
should be visible and should match
Notes: Details of post include info the details posted by the asset owner.
according to the type of asset.
1. The land post should show

30
details such as picture, area
dimensions, type of soil,
location, price of rent and
descriptive details by the
landlord.
2. The machinery post details
should be picture, model year
and name, price of rent and
descriptive details by
machinery owner.
Besides the details there should be a
direct chat and payment button.

Estimation: 6hours

User case: Direct Chat


User Story: As a farmer I want to send Test: Try texting on multiple posts.
message to the asset owner so that I
can ask for further details, Expected Outcome: All the messages
should be delivered to respective
Notes: It should be a private chat box. asset owners.

Estimation: 8hours

User case: Payment


User Story: As a farmer I want to pay Test: Try paying with a valid PayPal
for the land or machinery that I am account.
willing to rent.
Expected Outcome: Successful
Note: The system should ask for the payment.
payment confirmation.
After that the farmer should be
redirected to the payment page and
should be asked to enter PayPal

31
linked email to complete the
transaction

Estimation: 8hours.

User Stories for Asset Owners

32
Figure 6: Low-Fidelity Prototype for Asset Owner

User Case: Signup


User Story: As an asset owner I want Test: try to register with invalid details
to register to the website so that I can or incomplete register form.

33
create an account.
Expected Outcome: Unable to sign
Note: The signup form for the asset up.
owner should ask for full name, email
id linked with PayPal, phone number,
address, owner username and
password.

Estimation: 6hours

User case: Login


User Story: As an asset owner I want Test: Try login with invalid credentials.
to login to the website with my
credentials. Expected Outcome: Unable to login

Notes: The login form should ask for Test: Test with existing username and
username and password. password.

Estimation: 4hours Expected Outcome: Login to the


profile.

User case: Asset Owner Profile Page


User Story: As an asset owner I want Test: Test with existing asset owner
to view my account information and information and try to edit some fields.
new notifications on my profile page. I
also want to edit or update my Expected Outcome: The edited
account information. Also, the list of all information should be updated.
posted assets should be visible on my
profile page.

Note: 1. There should be a notification


button on the profile page, which will
indicate for new messages or
successful payment notifications by
displaying a red dot or number on the
button.
2. Also, there should be an editing
options besides the account

34
information.

Estimation: 7hours

User Case: Notifications


User Story: As an asset owner I want Test: Test with existing notifications,
to view the list of all the new click on new message notifications.
notifications after clicking on the
notification button. Expected Outcome: All the
notifications should be visible, and the
Notes: 1. The notifications will consist message notifications should redirect
of new messages regarding posts or the user to the chat window.
payment messages.
2. When the user will click on the
notification button on the profile page,
a dropdown menu should appear
displaying all the notifications.
3. The notifications should be
hyperlinked and direct the user to
respective notified pages.

Estimation: 6hours

User case: Add Post


User Story: As an asset owner I want Test: Try uploading the post without
to post the info about my assets so filling all fields or by entering invalid
that they can be viewed by users who details.
need to rent them.
Expected Outcome: Not able to
Notes: 1. On clicking the add post upload.
button, the owner will be asked the
type of asset he/she wants to post, Test: Try uploading both type of assets
land or machinery. by entering right details,
2.Two different forms will be available
for uploading land and machinery Expected Outcome: The posts should
post. be visible on search.

35
3. For land the form will ask for
details such as post title,
picture, area dimensions, type
of soil, location, descriptive info
and price.
4. For machinery post the form
will ask for details such as post
title, picture, model year and
name, descriptive info and
price.

Estimation: 10hours

User case: Details of Posts


User Story: As an asset owner I want Test: Test with existing posts
to view detailed info of a post by
clicking on them and, I want to edit or Expected Outcome: The details
delete them. should be visible and should match
the details posted by the asset owner.
Notes: Details of post include info
according to the type of asset.
1.The land post should show details Test: try editing or deleting some
such as picture, area dimensions, type posts.
of soil, location, price of rent and
descriptive details by the landlord. Edit Expected Outcome: The changes
option for each detail should be there made should be implemented.
and a delete post option.
2. The machinery post should show
details such as picture, model name
and year, descriptive info and price set
by the owner. Edit options of each
detail of machinery should also be
there along with delete post option.
2.The machinery post details should
be picture, model year and name,
price of rent and descriptive details by

36
machinery owner.
Besides the details there should be a
“messages” button to check which
user has dropped messages on that
post.

Estimation: 10hours

User case: Direct Chat


User Story: As an asset owner, I want Test: Try with existing messages and
to view all the messages delivered by reply to them.
farmers, so that I can have direct
conversation with them. Expected Outcome: Successful chat
system.
Notes: The messages should be
visible in a private chat box.

Estimation: 8hours

2.4.2 Additional Documentation User Stories

Video Posted on YouTube: User Stories Workshop

URL: https://www.youtube.com/watch?v=daqJaANQfx8

37
2.4.3 Release Plan 1.0

 Iteration1 Begin date: 9th November 2020


 Iteration1 End date: 22nd November 2020
 Iteration 1 Length: 14 days
 Iteration 2 Begin date: 23rd November 2020
 Iteration 2 End date: 29th November 2020
 Iteration 2 Length: 7 days
 Release 1.0 Date: 6th December 2020
 The contents of paper prototype are placed in Appendix A (Design
Document) that help determine the development roadmap.
 Prioritizing stories by using MoSCoW rule:

38
Story Estimated
Story Points
An asset owner must be able to add a post. 2
A guest user must be able to view the asset posts without 1/2
the need to create an account.
A farmer/asset owner must be able to create an account on 1/2
the website.
A farmer/asset owner must be able to have direct chat with 1
each another.
A farmer must be able to search the desired assets by 2
applying filters.
The farmer/asset owner must be able to view details of a 1
posted asset.
The asset owner/farmer must be able to view their account 1
information on their profile page.
A farmer/asset owner must be able to login to the system if 1/2
they already have a registered account.
The logged in user (farmer/asset owner) must be able to 1/2
logout anytime they want.
The farmer must be able to pay for renting an asset. 2

Table 1: The must-have stories for Release 1.0

Story Estimated
Story Points
The guest user/asset owners should be able to search 1/2
assets.
The asset owner should be able to edit and delete his posts. 1
The farmer/asset owner should be able to edit their account 1
information.
The farmer/asset owner should be able to view notifications 2
for new messages or successful payments.
The asset owner should be able to add two different types of 2
assets (land assets and machinery assets).

Table 2: The should-have stories for Release 1.0

39
Story
Strong validations for passwords.
Payment with credit and debit cards.

Table 3: The could-have stories for Release 1.0

Story
Verification of the asset picture being uploaded.
Delivery of machineries to the farmers.
Guest user direct chat with farmers or asset owners.

Table 4: The wont’-have stories for Release 1.0

Iteration 1
An asset owner can add a post.
The asset owner can add two different types of assets (land assets and
machinery assets).
A farmer can search the desired assets by applying filters.
The asset owner can edit and delete his posts.
A farmer/asset owner can have a direct chat with each another.
The farmer/asset owner can view notifications for new messages or successful
payments.
The asset owner/farmer can view their account information on their profile
page.
The farmer/asset owner can edit their account information.
The farmer/asset owner can view details of a posted asset.
The farmer can pay for renting an asset.
A farmer/asset owner can create an account on the website.

40
A farmer/asset owner can login to the system if they already have a registered
account.
A guest user can view the asset posts without the need to create an account.
The guest user/asset owners can search assets.
The logged in user (farmer/asset owner) can logout anytime they want.

Table 5: The actual release plan based on MoSCoW story prioritization

2.4.4 Iteration #1 Planning (Release 1.0)

Task Who Estimate Actual


Creating the UI Dhruvika 3hr 2hr
Creating Form for Land post Palak 2hr 2hr
Developing the backend for storing Surya 2hr 3hr
the post (land)
Developing the backend for storing Abhishek 2hr 2hr
the post (machine)
Creating Form for machinery post Shivangi 1hr 1hr
User Story: An asset owner can add a post.

Task Who Estimate Actual


Creating the UI for the Search Filter Palak 3hr 2hr

41
Backend Logic for the search Surya 2hr 3hr
filter(queries)
Result after the checked filters (ui) Abhishek 5hr 5hr
Backend connectivity Palak 2hr 2hr

User Story: A farmer can search the desired assets by applying filters.

Task Who Estimate Actual


Creating the UI (Post, edit button and Apexa 3hr 4hr
delete button)
Updating the post details in the Abhishek 4hr 3hr
database

User Story: The asset owner can edit and delete his posts.

Task Who Estimate Actual


Creating the UI for Direct Chat Arshdeep 3hr 3hr
Controlling the API Shivangi 1hr 2hr
Storing the messages in the Dhruvika 2hr 2hr
database (Previous Chat)

User Story: A farmer/asset owner can have a direct chat with each another.

Task Who Estimate Actual


Creating the UI Arshdeep 1hr 1hr
Fetching the data from database Dhruvika 2hr 1hr
(new msgs or transactions)

42
User Story: The farmer/asset owner can view notifications for new messages or
successful payments.

Task Who Estimate Actual


Creating the UI (Account information, Apexa 2hr 1hr
edit button and delete button)
Fetching account info from database Surya 2hr 2hr
Backend logic for updating the Surya 2hr 3hr
database after edit or delete

User Story: The farmer/asset owner can view their account information on their
profile page and edit them.

2.4.5 Iteration #2 Planning (Release 1.0)

Task Who Estimate Actual


Creating the UI for profile page Shivangi 3hr 2hr
Fetching the details of the post from Abhishek 3hr 3hr
the database

User Story: The asset owner can view details of a posted asset and can view the
list of his posted assets on his/her profile page.

Task Who Estimate Actual


Checkout page (UI) Apexa 2hr 2hr

43
Integrating payment system with Arshdeep 3hr 4hr
PayPal
Confirmation pop up after purchase Dhruvika 1hr 1hr

User Story: The farmer can pay for renting an asset by using PayPal.

Task Who Estimate Actual


Creating the Sign form for farmer Apexa 1hr 1hr
Creating the Sign form for asset Apexa 1hr 1hr
owner
Storing the account information of Surya 1hr 2hr
the farmer in the database
Storing the account information of Surya 1hr 1hr
the asset owner in the database

User Story: A farmer/asset owner can create an account on the website.

Task Who Estimate Actual


Creating the UI for login Palak 1hr 1hr
Validation for the data and updating Shivangi 1hr 2hr
database

44
User Story: A farmer/asset owner can login to the system if they already have a
registered account.

Task Who Estimate Actual


Creating the UI Arshdeep 2hr 3hr
Database connectivity towards land Palak 2hr 1hr
post page
Database connectivity towards Shivangi 2hr 1hr
machinery post page
Search bar and search queries Shivangi 2hr 4hr

User Story: A guest user can view the asset posts by clicking on land post/
machinery post tabs or by simply typing in the search bar and read information
about organic farming.

Task Who Estimate Actual


Creating the UI for logout button Palak 1hr 1hr
Logout backend logic Abhishek 1hr 1hr

45
User Story: The logged in user (farmer/asset owner) can logout anytime they
want.

2.4.6 Additional Documentation Iteration Planning

Video Posted on YouTube:

URL: https://www.youtube.com/watch?v=MGkgGsSNuWA&feature=youtu.be

2.4.7 Progress Monitoring

Iteration 1 Iteration 2
Story points at start of iteration 72 28
Completed during iteration 44 28
Changed estimates - -
Story points from new stories - -
Story points at end of iteration 28 0
Table 6: Progress and changes for all Iterations for Release 1.0

Before the iteration 1 started, we had 72 story points to be covered. At the end of
iteration 1, we completed 44 story points and were left with only 28 story points
which we covered in iteration2.

46
Figure 7: Iteration burndown chart for data from Table 6

2.4.8 Acceptance Tests for Release 1.0

47
Full description of user Acceptance criteria/test(s) Name(s) of contributing
story Developer(s)
An Asset owner can add Test with inputs: Dhruvika Kharva
a post Try uploading the post Palak Arora
without filling all fields or by Surya Pakalpati
entering invalid details. Abhishek Raturi
Expected outcome: Shivangi Shandaliya
Not able to upload.
Test with inputs:
Try uploading both type of
assets by entering right
details,
Expected outcome:
The posts should be visible
on search.

A farmer can search for Test with inputs Palak Arora


the desired asset by Test with existing assets Surya Pakalpati
applying various filters and applying filters Abhishek Raturi
accordingly.
Expected outcome:
The user should be directed
to the guest user home
page.

An asset owner can edit Test with inputs: Apexa Mistry


and delete his post Test with existing posts
Expected outcome: Abhishek Raturi
The details should be visible
and should match the
details posted by the asset
owner

Test with inputs


Try editing or deleting
some posts.
Expected outcome:
The changes made should
be implemented.

A farmer/ asset owner Test with inputs Arshdeep keshav


can communicate with Try texting on multiple Shivangi Shandaliya
another farmer/asset posts. Dhruvika Kharva
owner with help of a Expected outcome:

48
direct chat feature. All the messages should be
delivered to respective
asset owners.
Test with inputs
Try with existing messages
and reply to them.
Expected outcome:
Successful chat system.

A farmer/asset owner can Test with inputs Arshdeep keshav


view notification for new Test with existing Dhruvika kharva
message notifications, click on new
message notifications
Expected outcome: ...
All the notifications should
be visible, and the message
notifications should redirect
the user to the chat window

A farmer can view their Test with inputs Apexa Mistry


account information on Test with existing farmer Surya Pakalpati
their profile page and edit information and try to edit
them some fields.
Expected outcome:
The edited information
should be updated.

An asset owner can view Test with inputs Shivangi Shandaliya


details of posted asset Test with existing asset
and view the list of owner information and try to Abhishek Raturi
posted assets by him/her edit some fields.
on his/her profile page Expected Outcome:
The edited information
should be updated.

The farmer can pay for Test: Apexa Mistry


renting an machinery Try paying with a valid Arshdeep Keshav
through Paypal API PayPal account. Dhruvika Kharwa
Expected Outcome:
Successful payment.

An asset owner/farmer Test: Apexa Mistry


can signup to our website Try to register with invalid Surya Pakalpati
details or incomplete
register form.
Expected Outcome:

49
Unable to sign up.

A farmer/asset owner can Test with inputs Palak Arora


login to the system if they Try login with invalid Shivangi
have already registered credentials
with our website. Expected Outcome:
Unable to login
Test with inputs
Test with existing username
and password.
Expected Outcome:
Login to the profile.

Guest user can view the Test with inputs Arshdeep keshav
list of all asset post and Navigate back and forth. Palak Arora
search for the desired Expected Outcome: Shivangi
asset. Successful navigation.
Test with inputs
Click on the desired posts.
Expected Outcome:
The details about
the desired should be
visible

The logged-in user can Test with inputs Palak Arora


logout anytime they want Try to logout from every Abhishek Raturi
page of website.
Expected Outcome:
The user should be directed
to the guest user home
page after logout

A farmer can view their Test with inputs Apexa Mistry


account information on Test with existing farmer Abhishek Raturi
their profile page and edit information and try to edit
them some fields.
Expected Outcome:
The edited information
should be updated.

50
2.4.9 Additional Document Software Release 1.0

Video Posted on YouTube: Software Release 1.0

URL: https://www.youtube.com/watch?v=J37d3E0NBUs&feature=youtu.be

3.0 Conclusion

FarmMart is a web application developed for farmers and farming related


workforces. FarmMart aims to serve as a forum for farmers to buy, lend or borrow
the equipment required for agriculture. In addition, farmers can directly contact
merchants who are interested in leasing and renting farm machinery and land

51
through this website. The application also allows them to get acknowledged
along with land and equipment management with good agricultural practises.

4.0 Bibliography and Technical References

 Nodejs tutorial to develop the project.


URL: https://nodejs.dev/learn

 Some farmer related websites to decide the outlook of our software:


Food4all
eFarm

Appendix A (Design Document)

52
Figure 8: Low Fidelity Diagram

53
Figure 9: Asset Owner Sequence diagram

54
Figure 10: Farmer sequence diagram

55
Figure 11: Entity Relationship Diagram

56
Figure 12: Use Case Diagram

Paper Prototype of our web application system: The following paper


prototypes describe user stories to be implemented in iteration1.

57
User Story: A guest user can view the asset posts (without the need to create an
account), simply by clicking on land post/ machinery post tabs or by typing in the
search bar.

58
User Story: A farmer/asset owner can create an account on the website. Role
selection will be there before filling the form to know whether the user want to
signup as a farmer or asset owner.

59
User Story: A farmer/asset owner can login to the system if they already have a
registered account. Again, role selection will be there before login.

60
User Story: 1. An asset owner after logging in the website can view his/her
account information and option to edit any information. 2. Also, an asset owner
can view the list of his posted assets on his/her profile page. 3. Asset owner can
view notifications for new messages or successful payments.

61
User Story: An asset owner can add a land post.

User Story: An asset owner can add a machinery post.

62
User Story: The asset owner can edit and delete his posts.

63
User Story: 1. A farmer can view his account information on his profile page and
edit any information. 2. A farmer can view notifications for messages or
transactions.

User Story: A farmer can apply search machine filters to find a required
machinery asset and view the results of the applied search.

64
User Story: A farmer can apply search land filters to find a required land area and
can view the results of the applied filters.

User Story: A farmer can view all the search results by applied filters

65
.

User Story: The farmer/asset owner can view details of a posted asset.

66
User Story: A farmer/asset owner can have a direct chat with each another.

User Story: The farmer can pay for renting an asset by using PayPal.

67
User Story: A logged in user can logout anytime he wants to exit the website.

68
Appendix B (Test Plan)

1.0 Introduction

Goals

 Bug Prevention.
 Bug Detection.
 User Satisfaction.
 Software quality and reliability.

Risks and Assets

 Twilio Chat System


 Notification System
 MongoDB

2.0 Scope

Features To Be Tested

Adding assets
Searching assets
Registration System
Payment System
Communication Services

Features Not To Be Tested

Security
Performance
Accessibility
3.1 Testing Procedures

Acceptance Testing: The software will be accepted if it allows:


The user to add post for assets.
The user can search for desired posts
The user can send messages to the asset owner regarding the posts.

69
The user can pay for the asset.

Appendix C (End-User & Administrator Manual)

End-User Manual

Screenshot: Home Screen

The user will land on the home screen of the website after entering the URL on
search engine. The user can view organic farming tips on the home page along
with the overview of the website. Also, if there are any queries about anything
then they can contact the helpdesk by reaching at any of the sources provided in
the footer.

70
Screenshot: Sign Up

The user can register to the website by clicking on the signup button at the top.
After that the user needs to decide whether he wants to register as a farmer or
an asset owner. Then fill the form and click the submit button, the user will be
registered.

Screenshot: Login

If a user is already a registered user and wants to login, then he must click on the
login button at the top and enter credentials. The user must select his role and
then enter a valid user ID and password in order to get logged in.

71
Screenshot: Add post form

A registered user can add post by going to the add post page. First the user will
have to select the type of the post he wants to add, and then fill the form and
click the submit button.

Screenshot: Machine Posts

72
The users can either search for the machine posts in the search bar by simply
typing the name of the machine, or by applying search filters. All the machines
posted by asset owners will be displayed under the machine posts page. The
user can refine the results by applying filters to it.

Screenshot: Land posts

The users can either search for the land posts in the search bar by simply typing
the name of the area, or by applying search filters. All the lands posted by asset
owners will be displayed under the land posts page. The user can refine the
results by applying filters to it.

73
Screenshot: Profile

The registered users can view their profile after logging in. The asset owner will
be able to view all his posted assets on his profile page.

Screenshot: Edit Account Information

The registered users can also edit their account information by clicking on the
edit button and click save changes button in order to implement those changes.

74
Screenshot: Post details

The users can view the post details by clicking on them.

Screenshot: Direct Chat

The users can send messages to the asset owner by clicking on the direct chat
button.

75
Screenshot: Check Out page

The user can rent an asset by clicking on checkout button and then filling their
PayPal linked email address.

Administrator Manual

There is no Admin user of our software, hence no administrator manual could be


developed.

76

You might also like