E-Farming: A Farmers Portal for Agricultural Products

Posted on 21st Sep 2024 12:52:23 AM Computer Science and Engineering


Chapter 1: Introduction to Farmers Portal

1.1 Introduction 
Digital agriculture, sometimes known as e-farming or e-agriculture, is technologies that digitally collect, store, analyze, and share electronic data and/or information in agriculture. AGROTECH Farmers Portal is a website developed for farmers on digital agriculture. Basically AGROTECH Farmers Portal is a project (E-Farming project) to developed a website, which will help farmers to effective farming, and sell their products to different cities through online. E-Farming collaborate with people all across the country for this purpose. This website gives suppose to the village farmers who want to use this facility and learn how is it possible and how they can use internet to sell their products. Farmers can use this facility and can learn how is it possible and how they can use e-farming to sell their products. If the farmers have knowledge of computer then they can directly register in the site and sell their product. They can know how they can open this site and register with it and sell their products online etc. 

The project's goal is to create a farmers portal that will allow farmers to farm more efficiently as well as sell their products for a higher price. The biggest problem that farmers in our country face is a lack of efficient farming, additional costs, and an inability to accept fair market value for their products. Most people in our country do not have access to any widely accessible and simple option or platform for appropriate farming. So, as a result farmer's lack of proper knowledge of farming among the farmers or failure to using maximum technology and new technology they use excessive equipment which results in increase in cost of production. Farmers in our country are unable to sell their produce at reasonable or high prices. Farmers always sell their produce at a low price, while buyers pay a very high price. The primary goal of this project is to eliminate all of these issues.

Therefore, it is of great importance that this project comes up with several relevant applications which will have their functions built around the attitudes and cultures of Bangladesh and some other countries to aid in the operations of e-farming. Most of the applications in the farming will have their overall performing functions which might necessarily not have an impact in traditional farming. Furthermore, this project aims to discuss the importance of using software application in revenue monitoring inside the organization. The project task is to identify the rate of growth of e-farming in Bangladesh, and to discuss the challenges facing growth in Bangladesh and identify how growth and challenges in Bangladesh compare to other country. Besides, the project will also evaluate the challenges faced by e-commerce in Bangladesh and compared the growth and challenges of e-farming in Bangladesh with other countries. Lastly, the project will provide an understanding of formulation policies required for e-farming.

The project targets various stakeholders who may have an interest in the provision of e-farming in Bangladesh as well as the people who may wish to switch to the use of technologies.

This project may not cover all the aspects of e-farming in Bangladesh and other relevant countries due to limitations such as lack of data regarding income as a result of e-farming in Bangladesh and other relevant countries.

1.2 Purpose and Motivations
Bangladesh is agricultural country. Majority of Bangladesh people live on agricultural. So, Agricultural institutes, research bases agencies and other resources related to agriculture in Bangladesh is vitally important. Now a day, the farmers have to go to the nearest market to hand over his product to a particular agent where agent sells the product to another agent or a dealer. After a specific time the agent gives the collected cash out of the sold products to the respected farmer but every Agent tries to cuts his commission out of the earned amount. The whole process is not transparent as there is no way for farmer to know about the deal and the exact amount at which their product was sold. No facility is present for the farmers to know the product rates at different markets where they can sell their products for achieving high profits. This project aims to help farmers to sell their products in a transparent way. Essentially, an e-farming website is one that allows a farmers to function almost entirely online, which helps to their farming. Farmers can get appropriate solutions to a given farming problem from other farmers on this site. Farmers can sell their products at a high price, and they can also buy products based on their needs.

1.3 Project  Aims and Objectives
The main objective of this project is to build a platform for farmers to sell their product and track the sale. This platform is flexible which can maneuver the customer-farmer relationship in an effective manner. Farmer will get unique interface where they can avail everything right from learning to the market information. This website will act as unique and secure way to perform agro-marketing. The following objectives are also conferred;

To reach a larger audience now that Internet access is becoming more common.
To provide efficient farming by providing ideas and guidelines.
To provide the opportunity for sharing information about farming.
To allow for the exchange of agricultural information which help for farming.
To provide a guideline that eliminates extra costs associated with product production.
To provide a farmer with the opportunity to sell their product.
To create a marketplace where farmers can sell their goods at a high price.
To provide a guideline that eliminates extra costs associated with product production.
To provide farmers get knowledge about how to operate using computer.
To provide a framework for the application of new agricultural technology.
To make it accessible more quickly because many people can access it via social networks.
To reduce the cost of developing a website provided the abundance of hosting options.
To protect and promote the interest of trade, commerce and business.
To make it simple for the user to use all operations.
To explain the importance of e-farming.
To analyze the different e-farming websites in Bangladesh.

1.4 Problem Statements
Some of the issues encountered in manual systems are as follows;

The need for online identity verification.
Providing a multi-channel customer experience.
Shopping cart abandonment.
Outshining the competition.
Maintaining customer trust.
The hassles of ordering a product, receiving it, and returning or refund it.
The struggle to compete on product pricing.
Attracting the perfect farmers.
Provide proper knowledge to farmers. 
Provide proper guidelines.

1.5 Methodologies
This study is mainly based on secondary data related to E-commerce. Secondary data and information have gathered from Internet browsing, Books, Journals, Research paper etc. Primary data and information also have collected through using observation and interview method.

Designing the website.
Use of dynamic coding system.
Troubleshooting.
Conceptualizing the ideas.
Finally testing the project.

1.6 Outline of the Report
In chapter 2, we survey existing agricultural e-farming sites and review some technologies used to implement this project; Chapter 3 analyzes the whole architecture of the system; In chapter 4, the database implementation and interfaces are presented and in chapter 5, conclusion and future works are highlighted. Lastly, list of acronyms, proper references and source code of the project have been illustrated.

Chapter 2: Background Study

In this chapter, comparison with existing systems, disadvantages of existing systems, proposed system, advantages of proposed system related to agriculture and technologies used to implement the project have been discussed in detail.

2.1 Comparison with Existing Agricultural Sites
The contents of some agricultural websites in Bangladesh are discussed below:

BADC (Bangladesh Agricultural Development Corporation) provides quality agricultural inputs supply, efficient irrigation management and production of high yielding seeds of different crops. It also provides the best use of surface water, irrigation efficiency by reducing logging and increasing irrigated areas and farmers to supply quality fertilizer.

BARC (The Bangladesh Agricultural Research Council) is to develop an efficient, effective and sustainable system of agricultural research promoting to increase standard of living, which would be adequate for well-being of the people of Bangladesh. BARC also is to strengthen and mobilize research capabilities of the institutes of the NARS, universities, private sectors and other stakeholders in partnership in the generation of appropriate technologies and information for the development of agriculture sector.

BARI (Bangladesh Agricultural Research Institute) is an autonomous organization under the Ministry of agriculture, that conducts research on all crops except rice, jute, sugarcane, and tea for which there are separate institutes.

MOA (Ministry of Agriculture) is one of best ministries of the Government of the People's Republic of Bangladesh. It comprises seven wings with responsibilities of policy formulation, planning, monitoring and administration. 

In the existing system buying and selling a product is done manually. Price of the product is fixed by the seller (dealer). All the details of the product to be sold or purchased is maintained manually by the owner. Seller or buyer not able to gets the complete information about the product or exact product. 

2.1.2 Disadvantage of Existing Sites
Existing system does not provide proper guidance to farmers how to sell their products through online.
Some existing system does not provide  to farmers to sell their products.
Some Agriculture sites may occupy spaces that can command higher rents when used in other capacities. 
Market prices on daily basis and state to state differences are not shown in many websites.

2.2 Proposed Sites
The proposed system buyers or sellers can directly register in the site and sell/buy the product otherwise they can contact with a seller directly. Buyers can open the site and register with it and sell their products online. E-Farming is a project builds a website which will help businessman to sell their products in different cities online.

2.2.1 Advantages of Proposed Sites
The development of this new system contains the following activities, which try to automate the entire process and aware to globalize their products. 
The system provides authorized login to farmers and wholesaler customer care services are provided. 
Authentication is provided, only registered users can access transaction details.
Online sales and purchase details of both farmers and wholesale are maintained in a secured way.

2.3 Technological Background
To implement the project, some open source tools have been used such as Visual studio, XAMPP, Apache as web server. The web programming language used to implement this project are HTML (Hyper Text Markup Language), CSS (Cascading Style Sheets), JavaScript, and PHP. MySQL is used as database server.

2.3.1 Languages used
For developing this project, following web languages are used;
HTML: Developing application structure. 
CSS: Designing the application structure. 
PHP: For creating connection with database & executing query. 
JavaScript: For creating the web page dynamic. 
Bootstrap: It is a front end frame work developing web application responsive. 

2.3.2 Required Tools
Software used for developing the web application listed below:
Visual studio: To edit the codes.
Xampp: Using as local service. 
Apache: Creating a dummy server on web browser. 
MySQL: Storing the values from the web application. 

Including all these web languages, software and framework we create my Farmers portal website. These languages and software are used in 80% websites to make their sites dynamic and good looking. We also try my best that my project is good and this one is different from others projects. This project is simple and that users can use this project easily.

2.4 Description of Used Web Languages and Software
The descriptions of used web languages and tools are given below;

2.4.1 HTML
Hypertext Markup Language (HTML) is the standard markup language for creating web pages and web applications with cascading style sheet (CSS) and java script, it forms a triad of cornerstone technologies for the world wide web. Web browsers receive HTML documents from a web server or from a local storage and render the documents into multimedia web pages. HTML describes the structure of a web page semantically and originally included cues for the appearance of the document. HTML elements are the building blocks of HTML pages. With HTML constructs, images and other objects such as interactive forms may be embedded into the rendered page. HTML provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags, written using angle brackets. Tags such as <img/>, and <input/> directly introduce content into the page. Other tags such as

surround and provide information about document text and may include other tags as sub-elements. Browsers do not display the HTML tags, but use them to interpret the content of the page. HTML can impact programs written in a scripting language such as JavaScript, which affects the behavior and content of web pages. Inclusion of CSS defines the look and layout of content. The world wide web consortium(W3C), maintainer of both the HTML and the CSS standards, has encouraged the use of CSS over explicit presentational HTML since 1997.

2.4.2 PHP
PHP Stands for Hypertext preprocessor (or simply PHP) is a server-side scripting language designed for web development. It was originally created by Rasmus Lerdorf in 1994 the PHP reference implementation us now produced by the PHP Group. PHP originally stood for personal home page, but it now stands for the recursive initialism PHP. PHP code may be embedded into HTML code, or it can be used in combination with various web templates systems, web content management systems, and web frameworks. PHP code is usually processed by a PHP interpreter implemented as a module in the web server or as a common gateway Interface (CGI) executable. The web server combines the results of the interpreted and executed PHP code, which may be any type of data, including images, with the generated web page. 

PHP code may also be executed with a command-line interface (CLI) and can be used to implement standalone graphical applications. The standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP License. PHP has been widely ported and can be deployed on most web servers on almost every operating system and platform, free of charge. The PHP language evolved without a written formal specification or standard until 2014, with the original implementation acting as the de facto standard which other implementations aimed to follow. Since 2014 work has gone on to create a formal PHP specification. PHP is probably the most popular scripting language on the web. It is used to enhance web pages. With PHP, you can do things like create username and password login pages, check details from a form, create forums, picture galleries, surveys, checkout, cart product and a whole lot more. If you've come across a web page that ends in PHP, then the author has written some programming code to liven up the plain, old HTML. PHP is known as a server-sided language. That's because the PHP doesn't get executed on your computer. But on the computer you requested the page from. The results are then handed over to you, and displayed in your browser.

2.4.3 JavaScript
JavaScript HTML and CSS, JavaScript is one of the three core technologies of World Wide Web content production. It is used to make web pages interactive and provide online programs, including video games. The majority of websites employ it, and all modern web browsers support it without the need for plug-ins by means of a built-in JavaScript engine. Each of the many JavaScript engines represent a different implementation of JavaScript, all based on the ECMA Script specification, with some engines not supporting the spec fully, and with many engines supporting additional features beyond ECMA. It has an API for working with text, arrays, dates, regular expressions, and basic manipulation of the DOM, but does not include any I/O, such as networking, storage, or graphics facilities, relying for these upon the host environment in which it is embedded. The functionalities of JavaScript are given below;

JavaScript is a lightweight, interpreted programming language. 
Design for creating centric applications. 
Complementary to and integrated with Java. 
Complementary to and integrated with HTML. 
Open and cross-platform 
Add new HTML to the page, change the existing content, modify styles. 
React to user actions, run on mouse clicks, pointer movements, key presses. 
Send requests over the network to remote server, download and upload files. 
Get and set cookies, ask questions to the visitor, show messages. 
Full integration with HTML/CSS. 
Simple things are done by simply. 
Support by all major browsers and enabled by default. 

2.4.4 CSS
Cascading Style Sheet (CSS) is a style sheet language used for describing the presentation of a document written in a markup language like HTML. CSS is a cornerstone technology of the separation of presentation and content, including layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in specification of presentation characteristics, enable multiple web pages to share formatting by specification the relevant CSS in a separate. CSS file, and reduce complexity and repetition in structural content. separation of formatting and content also makes it feasible to present the markup page in different styles for different rendering methods, such as-screen, in print, by voice ( via speech-based browser or screen reader), and on braille-based tactile devices. CSS also has rules for alternate formatting if the content is accessed on a mobile device. the name cascading comes from the specified priority scheme to determine which style rule applies if more than one rule matches a particular element. This cascading priority scheme is predictable, in our project we use inline & raw CSS.

2.4.5 Bootstrap
Bootstrap is a free and open-source front space end frame work for developing web sites and web applications. It contains HTML and CSS-based design templates for typography forms, buttons, navigation and other interface components, as well as optional JavaScript extensions. Unlike many earlier web frameworks, it concerns it self with front-end development only. Bootstrap is the second most-starred project on GitHub, with more than 1 2 9,000 stars. Bootstrap, originally named Twitter Blueprint, was developed by Mark Otto and Jacob Thornton at Twitter as a framework to encourage consistency across internal tools. Before Bootstrap, various libraries were use for interface development, which lead to inconsistencies and a high maintenance burden. According to Twitter developer Mark Otto. A super small group of developers and i got together to design and build a new internal tool and saw an opportunity to do something more. Through that process we saw our salves build something much more substantial than another internal tool. Months later we ended up with an early version of Bootstrap as way to document and share common design patterns and assets within the company. After a few months of development by small group, many developers at Twitter began to contribute to the project as a part of Hack Week, a hackathon-style week for the twitter development team. I was renamed from Twitter blueprint to Bootstrap, and released as an open source project on August 19,2011. It has continued to be maintained by mark Otto, Jacob Thornton, and a small group of core developers, as well as a large community of contributors. On January 31, 2012, Bootstrap 2 was released, which added a twelve-column responsive grit layout system, in build support for Glyphicons, several new components, as well as changes to many of the existing components. On August 19, 2013 Bootstrap 3 was released, which re designed components to use flat design, and a mobile first approach On October 29, 2014, Mark Otto announced that Bootstrap 4 was in development. The first alpha version of Bootstrap 4 was released on August 19, 2015.

2.4.6 XAMPP
XAMPP is a field open-source cross platform web server solution stack package developed by Apache Friends, consisting mainly of the Apache HTTP server, MariaDB database, and interpreters for scripts written in the PHP and Perl programming languages. since most actual web server deployments use the same components as XAMPP, It makes transitioning from a local test server to a live server possible. XAMPP`s ease of deployment means a WAMP or LAMP stack can be installed quickly and simply on an operating system by a developer, with the advantage a number of common add-in applications such as Wordpress and Joomla! can also be installed with similar ease using Bitnami.
The most obvious characteristic of XAMPP is the ease at which WAMP web server stack can be deployed and instantiated. Letter some common packaged applications that could be easily installed were provided by Bitnami. Officially, XAMPP`s designer intended it for use only as a development too, to allow website designers and programmers to test their work on their own computers without any access to the internet to make this as easy as possible many important security features are disabled by default. XAMPP has the ability to serve web pages on the world wide web. A special tools provided to password-protect the most important part of the package. XAMPP also provides support for creating and manipulating data bases in MariaDB and SQLite among other. Once XAMPP is installed, it is possible to treat a localhost like a remote host by connecting using an FTP client. Using a program like FileZilla has many advantages when installing a content management system (CMS) like Joomla or wordpress. It is also possible to connect to localhost VIA FTP with an HTML editor.

2.6.7 Apache
The Apache HTTP Server, colloquially called Apache is free and open-source cross-platform web server software, released under the terms of Apache License 2.00. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software foundation. The vast majority of Apache HTTP server instances run on a Linux distribution but current version also run on Windows and a wide variety of Unix-like systems. Past version also ran on open VMS, NetWare, OS/2 and other operating systems. Originally based on the NCSA HTTP server, development of Apache began in early 1995 after work on the NCSA code stalled. As of August 2018, it was estimated serve 39% of all active websites and 35% of the top million websites.

Apache supports a variety of features, many implemented as compiled modules which extent the core functionality. This can rang from authentication schemes to supporting server-site programming languages such as Perl, Python, Tcl and PHP. Popular authentication modules include mod access, mod_auth, mod digest, and mod_auth_digest, the successor to mod digest. A simple of other features include Secure Sockets Layer and Transport Layer Security support (mod_ssl), a proxy module (mod proxy), a URL re writing module (mod-re write), custom log files (mod_log_config), and filtering support (mod_include and mod_ext_filter). 

Popular compression methods on Apache include the external extension module, mod_Zip, implemented to help with reduction of the size (weight) of web pages served over HTTP. Mod Security is an open source intrusion detection and prevention engine for Web applications. Apache logs can be analyze through a web browser using free scripts, such as Awaits /W3Perl or visitors. Virtual hosting allows on apache installation to serve many different web sites for example, one computer with one Apache installation could simultaneously serve www.example.com, www.example.org,test 47.test-server. Example: edu, etc. Apache features configurable error messages, DBMS-based authentication databases, content negotiation and supports several graphical user interfaces (GUIs). It supports passwords authentication and digital certificate authentication. Because the source code is freely available, anyone can adopt the server for specific needs, and there is a large public library of Apache add-ons.

2.6.8 MySQL
MySQL is an open source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius`s daughter, and "SQL", the abbreviation for structured Query Language. MySQL is free and open-source software under the terms of the GNU General Public License, and is also available under a variety of proprietary licenses. MySQL was owned and sponsored by the Swedish company MySQL AB, which was bought by sun Microsystems (now oracle corporation). In 2010, when Oracle acquired Sun, Widenius forked the open-source MySQL project to create MariaDB. MySQL is a component of the LAMP web application software stack (and others), which is an acronym for Linux, Apache, MySQL, perl/PHP/python. MySQL is used by many database-driven web applications, including Drupal, Joomla, and word-press. MySQL is also used by this project for Store the product information of the database, Store the Customer name password of the database. It is also used for show-off a website. 

MySQL is offered under to different editions : the open source MySQL community server and proprietary enterprise server. MySQL enterprise server is differentiated by series of proprietary extensions which install as server plugging, but otherwise shares the version numbering system and is built from the same code base. Major features as available in my SQLs. The following is the features of MySQL;

A broad subset of ANSI SQL 99, as well as extensions 
Cross-platform support 
Store procedures, using a procedural language that closely adheres to SQL\PSM 
Triggers 
Cursors 
Updatable view 
Online Data Definition Language (DDL) when using the InnoDB Storage Engine 
Information schema 
Performance schema that collects and aggregates statistics about server execution and query performance for monitoring purposes 
A set of SQL Mode options to control runtime behavior, including a strict mode to better adhere to SQL standards 
ACID compliance when using InnoDB and NDB Cluster storage engines 
SSL support 
Query caching 
Sub-SELECTs (i.e. nested SELECTs) 
Built- in replication support with one master per slave, many slaves per master. multi-master replication is provide in MySQL cluster, and multi-master support can be added to un-clustered configurations using Galena Cluster.
Full-text indexing and searching Embedded database library 
Unicode support 
shared-nothing clustering through mySQL Cluster 
Multiple storage engines, allowing one to choose the one that is most effective for each table in the applications.
Native storage engines InnoDB, MyISAM, Merge, Memory(heap), Federated, Archive, CSV, Blackhole, NDB cluster 
Commit grouping, gathering multiple transections from multiple connections together to increase the number of commits per second 

2.6.9 Visual studio Code
The Visual Studio integrated development environments a creative launching pad that you can use to edit, debug, and build code, and then publish an app. An integrated development environment (IDE) is a feature-rich program that can be used for many aspects of software development. Over and above the standard editor and debugger that most IDEs provide, Visual Studio includes compilers, code completion tools, graphical designers, and many more features to ease the software development process. The features of Visual studio are given below; 

Code editor. Visual Studio (like any other IDE) includes a code editor that supports syntax highlighting and code completion using IntelliSense for variables, functions, methods and etc.

Debugger. 
Designer. 
Other tools. 
Extensibility. 
Previous products. 
Community. 
Professional. 

Chapter 3: System Analysis and Design
 
In this chapter, the architecture of the whole project is analyzed. System analysis is the process of defining the architecture, components, and data of a system to satisfy specified requirements. Design is a method of studying a system by examining its component parts and their interactions. Before implementation began the system was analyzed and designed. In this section, use cases, requirement analysis, and other part are described in details.

3.1 Requirement Analysis
Web service of farmer product required the following requirements. This has mainly four actors. Those are Admin, Customer, Farmer and Dealer. This website give service of farmer product to sell holder is known as customer and dealer.

3.1.1 Data Requirements
During requirement analysis the following data have been identified for a web service of farmer product system:

At first each person need to register (without admin) himself/herself as a customer or a farmer or a dealer for accessing the user’s necessary information. Each user requires an unique username or email Id and password to register in the website.

Admin/Farmer need to login to the system to operate the system. Admin/Farmer has an individual or unique login user id and password. Through this user id and password admin/farmer can login to the system.

A customer can select a product for buying and add to cart. Customer also can pay online or cash on delivery.

Admin can update all the information of the registered users. Any registered member can be deleted by the admin. And also view all order and can download. Admin can update the category list of the product. An admin can edit or delete a category from the product category list. Admin can also insert a new category menu in the category list. Admin can also insert product with price and quantity.

Farmer can add product with price. After add product farmer can edit, delete and publish of product. When farmer add product and publish then customer can buy the product from the web page.

After get buying product Customer can get discount offer. Because of discount customer can buy low price from selected category which are available in the site.

Dealer get the product from website with low price. Dealer should be register for this service.

3.1.2 Process Requirements
The following process requirements are identified for system:

A valid login is required for all process to be performed. A valid login is required for every registered users and admin. All of them have a valid user id and password. System will authenticate their valid login.

After valid login Customer and Dealer can check his/her information, can see personal information and can check product history and buy product.
Admin can login to the system. Admin can view, delete, publish and update all members’ information and product info too. Admin can also enter new category in the list and insert new product.

Farmer can login to the system. Farmer can view, delete, publish and update product info. Farmer can also enter new product in the list and insert new info.

3.2 Use Case Diagram
A use case diagram is a graphical depiction of the interactions among the elements of a system that shows the relationship between the user and the different use cases in which the user is involved. It is a methodology used in system analysis to identify, clarify, and organize system requirements. A use case diagram can identify different types of users of a system in this chapter use cased.

3.2.1 Use case Diagram for Administrative Management
The use case Diagram for Administrative Management is shown below in figure 3.1;
 
Figure 3.1: Use Case Diagram for Admin.

According to figure, Admin can perform following functions;
Login: Admin needs login to perform all administrative works from admin panel.

Add category: Admin can add category of products in the system. To perform this action admin need to login to the system.

Add Product: Admin can add product and a detail description of the product. Admin can also approve a product that has been added by a farmer.
Manage Product: The description price and manufacturer of the product can be changed by admin at anytime. He/she has the capability to publish or unpublished of product

3.2.2 Use case Diagram for Farmer Management
The Use case Diagram for Farmer Management is shown below in figure 3.2;
 
Figure 3.2: Use Case Diagram for Farmer.

According to figure, Farmer can perform following functions;
Register: The farmer can perform the general registration to access as registered farmer.

Login: After completing registration farmer needs to login part to perform the necessary actions.

Add Product and Farming Comments: Farmer can add product add manufacturer of the product. Farmer can also comment about each product.
Edit Farmer’s Profile: The farmer can edit his profile. The farmer can update their name, and contact details.

Sell Product: The farmer can sell all the products online which he added.

3.2.3Use case Diagram for Customer Management
The Use case Diagram for Customer/Buyer Management is shown below in figure 3.3;
 
Figure 3.3: Use case Diagram for Customer.

According to the figure, Customer can perform following functions;
Register: The Customer can perform the general registration to have an access as registered customer.

Login: After completing registration customer login to perform necessary job.
Add to Cart: Customer can product to cart even they are not registered but they cannot pay the bill. Only a registered customer can avail the payment option.

Payment: The customer can buy the product from website and pay online or cash.

3.2.4 Collaboration Diagram for Buyers
The Collaboration Diagram for Buyers is shown below in figure 3.4;
 
Figure 3.4: Collaboration Diagram for Buyer.

3.3 Activity Diagram
The activity diagram is a graphical depiction of the interactions among the elements of a system that shows how to work the different use cases in which the user is involved. It is a methodology used in system analysis to identify, clarify, and organize system requirements. The activity diagram can identify different types of users of a system in this chapter use cased.

3.3.1 Activity Diagram for Admin 
The Activity Diagram Admin is shown below in figure 3.5;
 
Figure 3.5: Activity Diagram for Admin.

3.3.2 Activity Diagram for Farmer 
The Activity Diagram for Farmers is shown below in figure 3.6;
 
Figure 3.6: Activity Diagram for Farmers.

3.3.3 Activity Diagram for Customer 
The Activity Diagram for Customers/Buyer shown below in figure 3.7;
 
Figure 3.7: Activity Diagram for Customers.

3.4 Class and Function Diagram
The Class and Function Diagram for this project shown below in figure 3.8;
 
Figure 3.8: Class and Function Diagram.

3.5 Entity Relationship(ER) Diagrams
An entity-relationship diagram (ERD) is a graphical representation of an information system that shows the relationship between people, objects, places, concepts or events within that system. In software engineering an ER model is commonly formed to represent things that a business needs to remember in order to perform business processes. Consequently, the ER model becomes an abstract data model that defines a data or information structure that can be implemented in a database, typically a relational database.
 
Figure 3.9: ER Diagram of the System.

3.6 Data Deployment Diagram
The Data Deployment Diagram of the project is shown below in figure 3.4;
  
Figure 3.10: Data Deployment Diagram.

Chapter 4: Implementation

The system will be having only one User-name and Password section on the front page, as per the user-name and password the system will know whether user is Farmer or Buyer.

4.1 Database Implementation
After getting the requirement of a logical design and structural design of our database, we can move to the implementation stage. In general, implementing our structural design involves defining the various objects and enforcing the constraints on the data relationships. The implementation phase is where you install the DBMS on the required hardware, optimize the database to run best on that hardware and software platform, and create the database and load the data.

4.1.1 Database of Farmers
In database, Farmer database gather into farmer table. When a farmer create an account then all information of user store into farmer table. In user table store user password, email, name, mobile number, user id, address and profile image. If farmer wants to login website then need that information. Figure 4.1 shows the database of farmers.
 
Figure 4.1: Databases of User

4.1.2 Database of Products
Database of farmer products store all information into fproduct table of database. Here store product id, category, product name, product comment, product price, and product image. fproduct table also store product status and publish or unpublished indicate. Figure 4.2 shows the database of farmer products.
 
Figure 4.2: Databases of farmer Products.

4.1.3 Database of Buyers
Database of buyers store all information into buyer table. Here store buyer id, name, email address, mobile number, address and user name. Figure 4.3 shows the database of buyers.
 
Figure 4.3: Databases of buyers.

4.1.4 Database of products lists
Products list or wish list database store into product table. This table store user wish list product. Products list table also store product id and user id who add product into wish list, product category, product price, product name, product information and product image. Figure 4.4 shows the database of product list.
 
Figure 4.4: Databases of products list.

4.1.5 Database of Orders
In order database store order status and order total price which user order in website. User can order many products in same time that time order id will be different. There have user id, shipping id and payment id for ensure all formality. Order database also have order date which date user order product and order comment too. In Figure 4.5 shows the database of orders.

Figure 4.5: Databases of Order

4.1.6 Database of Admin
Admin database store admin login info into admin table. This table store admin name, id , email address, and password. This table also store access label which type of admin login into admin panel. Our website has two type admin so we use two access label. Figure 4.6 shows the database of admin.
 
Figure 4.6: Databases of Admin.

4.1.7 Database of Category
Category database store category info into category table. This table store product category which category product add into website. Category table also store category id, name and category comment. Add category have to select which category publish or unpublished in website. Figure 4.7 shows the database of category.
 
Figure 4.7: Databases of Category

4.1.8 Database of Manufacturer
This database store manufacturer info into manufacturer table. This table store manufacturer name, id and comments. This table also store manufacturer status which type of manufacturer are publish or unpublished. Figure 4.8 shows the database of manufacturer.

Figure 4.8: Databases of Manufacturer.

4.19 Database of Order Details
In order details database store order id, order user name id, product id and order user mobile number email address pincode or zip code which user order in website. User can order many products in same time that time order id will be different. Order details database also have order quantity which amount product order by user. Figure 4.9 shows the database of order details.
 
Figure 4.9: Databases of Order Details.

4.1.10 Database of Payment
This database store payment info into payment table. This table store payment id and date. This table also store payment status which type of payment are completed by user. User can pay cash or card if pay cash then cash on delivery and if pay bay card then pay bay card status store into database. Figure 4.10 shows the database of payment.
 
Figure 4.10: Databases of Payment.

4.1. Database of Contacts:
Contact database store into contact table. Here store user feedback about product or other service. Contact table also store contact id, name, email address and enquiry from user who give feedback about our website. This table also store complains about our product or website. Figure

4.11 shows the database of contacts.
 
Figure 4.11: Databases of Contact.

4.2 User Interface
A critical aspect of systems design is to create the user interface to the new system. Input and output design focuses on the content of that interface – the specific fields that should be included in screens and reports that are viewed by the users. Once the content is determined, the format for human-computer interaction (HCI) is determined. The user interface (UI) is the way the system talks to the users, using screens/forms, reports, and error messages. During interface design developers identify procedures for each system activity and the required inputs for those activities. These required inputs become screens or forms. User involvement is critical during these design activities.

4.2.1 Home page
This is the home page for AGROTECH FamerPortal website and Online Product buy, sell and add product. In the top menu there is my account login, about us, shopping cart, compare and checkout some information part. Between top menu and middle part there are category name of product and login or register part too. In the bottom part there are latest products of the website given. In the footer part there are the website information given. Figure 4.12 shows the Home page of the system.
 
Figure 4.12: Home page

4.2.2 About us page
This is the about us page for AGROTECH FamerPortal website. Here describe about Farming Assistant service and aim. Just little bit brief of farming assistant which help to know service of farming assistant. Figure 4.13 shows the About Us page of the system.
 
Figure 4.13: About us page 

4.2.3 Product List page
This is the product list page for Farmers portal website. Here user can add product to wish list and also can remove from wish list. From wish list user can add product to shopping cart. For all access user must be registered. If user register then can get all access and next time not needed to register for access, only need login. Figure 4.14 shows the Wish List page of the system.
 
Figure 4.14: Product List page

4.2.3 Account Login page
This is the account login page for AGROTECH FarmerPortal website. Here user can login to access his account. User must need to register for login. User fills up the form with registered email address and valid password which is used at registration. Figure 4.15 shows the login page of the system.
 
Figure 4.15: Account Login page

4.2.4 Registration page
This is the account registration page for Farming Assistant website. Here user can register an account to access website all service. User must need to give requirement information for registration. User fill up the form with require all info which is complete the registration. If a person fills the form and submits, then he or she becomes a user of the site. Figure 4.16 shows the Registration page of the system.
 
Figure 4.16: Registration page

4.2.5 Shopping Cart page
This is the shopping cart page for Farming Assistant website. Here user should register an account to access shopping cart in website. If user adds product to shopping cart then user try to checkout product, at this moment user should register for completing shopping in this website. User can update his product quantity and can remove product from shopping cart. Figure 4.17 shows the Shopping Cart page of the system.
 
Figure 4.17: Shopping Cart page

4.2.6 Products info page
This is the product details view page for Farmer portal website. When farmer add product and publish it then user see those product in this page. This page show details of product information. User can add product into shopping cart from this page and also add to wish list if he/her registered. In the bottom part there are related product and product reviews of the product given. Figure 4.18 shows the Products page of the system.

Figure 4.18: Product info page

4.2.7 Manage Product page
This is the manage product page for Farmers portal website. When farmer add product and publish it then user see those product. Admin can edit product and delete product in this website. Admin can edit product type which product featured and which product are normal publish in this website. Figure 4.19 shows the Manage Product page of the system.
 
Figure 4.19: Manage Product page.

4.2.8 Blog page
This is the blog page for FarmersPortal website. Here user should register an account to access blog info in website. Here user can write blogs or read blogs. Figure 4.20 shows the blog page of the system.
 
Figure 4.20: Manage blog page

Chapter 5: Conclusion and Future Work

5.1 Conclusion
The E-Farming or E-Agriculture is a global Community of Practice, where people from all over the world exchange information, ideas, and resources related to the use of information and communication technologies (ICT) for sustainable agriculture and rural development. E-Farming collaborates with people all across the world for this purpose. The “E-Farming website for Agricultural Product” is successfully designed and developed to fulfill the necessary requirements, as identified in the requirements analysis phase, such as the system is very much user friendly, form level validation and field level validation are performing very good. The old manual system was suffering from a series of drawbacks. The present project has been developed to meet the aspirations indicated in the modern age. Through the developed project, anyone can visualize the effectiveness and efficiency in the real life. It is very helpful for computerization or doing automation of a personal information management system. This program helps reduce the manual method and stress which is done by a person and that is time consuming and lengthy process. With this application user’s information are stored very efficiently in a secured database. Trend of information improvement in the generation has improved the quality and services of human operation just as the case of this application for job services has reduce the mobility rate of human and improve their standard of database storage.

5.2 Future Work
The future plan of this project is to improved design; implementation and documentation in such a way that anyone can use this project for better perform. I will develop the site more dynamically. In future I will add the few modules for better improvement of the project such as, real-time chat bot option for user and farmer, so that user can directly enquiry theirs problem on any time through the chat bot. Video conversation option for user and farmer and admin and barcode generation for membership card and using online buy and sell product. Online account verification and notification for user for specific job category they searching for jobs. In future I will also add mobile version app of this website.

Appendix A
List of Acronyms

BADC: Bangladesh Agricultural Development Corporation
BARC: The Bangladesh Agricultural Research Council
BARI: Bangladesh Agricultural Research Institute
MOA: Ministry of Agriculture
HTML: Hyper Text Markup Language
CSS : Cascading Style Sheets
PHP : Hypertext Preprocessor
WWW : World Wide Web
HTTP: Hyper Text Transport protocol.
IP: Internet protocol
ISP: Internet Service Provider
URL: Uniform Resource Locator
URI: Uniform Resource Identifier
SEO: Search Engine Optimization
DNS: Domain Name Server
TCP: Transmission Control Protocol
FTP: File Transfer protocol 
OSI: Open System Interconnection
SSE: Secure Side Encryption
SSL: Secure Socket Layer
DOS: Denial Of Service
PDF:  Portable Document Format 

Appendix B
References

badc.gov.bd
barc.gov.bd
bari.gov.bd
bdfish.org
moa.gov.bd
w3schools.com
php.net
codeigniter.com
apachefriends.org/index.html
w3schools.com/css/css_intro.asp

Project Paper Authors-
Md. Mostafijur Rahman
ID No. 17309433001
Department of Computer Science & Engineering
North Bengal International University
Rajshahi, Bangladesh



Recent Post

Categories