AS098
AS098
DISSERTATION
ONLINE MANDI
For Farmers
Submitted by
CERTIFICATE
This is to certify that the major project titled “ONLINE MANDI For Farmers” is the
bonafide work carried out by ASHAQ IQBAL, ROLL NO:(10-IMCA-2021) student
of Computer Sciences (IMCA), 6th Semester in Department of Computer
Sciences, Baba Ghulam Shah Badshah University, Rajouri, J&K, during the
academic session 2021- 2024, in partial fulfilment of the requirements for the
award of the degree of, Master Of Computer Application. To the best of my
knowledge the project has addressed the actual existing problem.
___________________ _____________________
(supervisor) H.O.D)
ACKNOWLEDGEMENT
Computer Sciences. "Dr. Majid Bashir Malik" for his constant supervision,
guidance and co- operation throughout the project and I would like to
DECLARATION
I hereby declare that the project entitled "ONLINE MANDI For Farmers"
the best of my knowledge the project has addressed the actual existing
problem.
Abstract
The "Online Mandi for Farmers" project is a digital platform designed to
streamline agricultural trade by connecting farmers directly with buyers. Through
this platform, farmers can list their produce, access real-time market information,
negotiate fair prices, and conduct secure transactions. The project aims to
empower farmers, promote fair trade practices, and enhance market access,
contributing to the overall development of rural agricultural communities. Key
features include user-friendly interfaces, data analytics for market insights, secure
payment gateways, and optional logistics support. Challenges such as digital
literacy and infrastructure are also addressed to ensure widespread adoption and
success.
Content Table
Chapter 1: INTRODUCTION
1.2 Benefits
1.3 Problems
Chapter 2: METHODOLOGY
7.2 Reference
4. Social Impact: The project has the potential to positively impact rural
communities by boosting agricultural income and livelihoods.
1.3 Problems
Before the advent of online mandis, there were several challenges faced by
farmers in the traditional agricultural marketing system. Some of these challenges
included:
1. Limited Market Access: Farmers were often restricted to local markets, limiting
their ability to reach a wider customer base and explore better selling
opportunities.
practices often resulted in post-harvest losses for farmers, affecting their overall
profitability.
CHAPTER 2
METHODOLOGY
Methodology
Software engineering may be defined as the systematic design and development of software
products and the management of the software process. Software engineering has as one of its
primary objectives the production of programs that meet specifications, and are demonstrably
It is the process of analyzing user needs and designing, constructing, and testing end user
applications that will satisfy these needs through the use of software programming languages. It
programming, software engineering is used for larger and more complex software systems,
A software engineer takes the software needs of end users into account and consequently
develops or designs new applications. Furthermore, software engineering may involve the
process of analyzing existing software and modifying it to meet current application needs. Large
software systems may be more complex than the hardware used to run them, so there is great
demand for best practices and engineering processes that can be applied to software
There are four fundamental phases in most, if not all, software engineering
methodologies. These phases are analysis, design, implementation, and testing. These phases
address what is to be built, how it will be built, building it, and making it high quality.
Systems development is systematic process which includes phases such as planning, analysis,
design, deployment, and maintenance. Here, in this tutorial, we will primarily focus on −
Systems analysis
Systems design
It is a process of collecting and interpreting facts, identifying the problems, and decomposition of
System analysis is conducted for the purpose of studying a system or its parts in order to identify
its objectives. It is a problem solving technique that improves the system and ensures that all the
Preliminary investigation
This phase commences with discussion on the request made by the user. The request can be
for a new system or for modifying the existing one. An estimate is made of whether the identified
user’s needs can be satisfied or not. Preliminary investigation verifies the problem and
understands the need for the required system. It considers whether the proposed system will be
cost effective from the business point of view and whether it can be developed within existing
budgetary constraints. In addition, the time factor, which determines the duration of the project,
is also considered.
Feasibility Study:
A feasibility study looks at the viability of an idea with an emphasis on identifying potential
problems and attempts to answer one main question: Will the idea work and should you
Feasibility studies address things like where and how the system will operate. They provide in-
depth details about the system to determine if and how it can succeed, and serve as a valuable
A feasibility study is carried out to select the best system that meets performance requirements.
The main aim of the feasibility study activity is to determine whether it would be financially and
technically feasible to develop the product. The feasibility study activity involves the analysis of
the problem and collection of all relevant information relating to the product such as the different
data items which would be input to the system, the processing required to be carried out on
these data, the output data required to be produced by the system as well as various constraints
The information we gather and present in our feasibility study will help us to:
List in detail all the things are needed to make the system work;
considering as an investment;
Technical Feasibility:
As the saying goes, “to err in human”. Keeping in view the above fact, now-a-days all
organizations are automating the respective and monotonous works done by humans. The
key process areas of current system are nicely amenable to automation and hence the
Technical feasibility is concerned with specifying equipment and software that will successfully
satisfy the user requirement. The technical needs of the system may vary considerably, but
might include:
In examining technical feasibility, configuration of the system is given more importance than the
actual make of hardware. The configuration should give the complete picture about the system’s
requirements: How many workstations are required, how these units are interconnected so that
What speeds of input and output should be achieved at particular quality of printing.
Economic Feasibility:
Economic analysis is the most frequently used technique for evaluating the effectiveness of a
proposed system. More commonly known as Cost / Benefit analysis, the procedure is to
determine the benefits and savings that are expected from a proposed system and compare
If benefits outweigh costs, a decision is taken to design and implement the system. Otherwise,
further justification or alternative in the proposed system will have to be made if it is to have a
chance of being approved. This is an outgoing effort that improves in accuracy at each phase of
Operational Feasibility:
c. What new technologies will be required? Does the existing system have these? If not,
Proposed projects are beneficial only if they can be turned into information system that will meet
the operating requirements of the organization. This test of feasibility asks if the system will
Because of the frequency and complexity, the manual objective type network
management process can be error prone and time consuming. The centralization of tasks will
not only save time but increase the operational efficiency of the network system.
2.2 Data Flow Diagram
A Data Flow Diagram (DFD) for an online mandi (marketplace) system for farmers
can help visualize how information moves through the system, showing
processes, data stores, and interactions between different components. Here’s a
high-level overview of what such a diagram might include:
1. External Entities
Farmers: Provide data about their produce and receive information about
market prices and buyers.
Buyers: Purchase produce from farmers.
Admin: Manages the system, including user accounts and marketplace
regulations.
Payment Gateway: Handles transactions between buyers and sellers.
2. Processes
3. Data Stores
4. Data Flows
The main objective of this project is to make farmers. The system should have a
provision for the administrator to accept/reject the request by the dealer and
farmers. This process will make e-mandi process very easy fast and by one
farmer can add product.
components or modules to satisfy the specific requirements. Before planning, you need to
understand the old system thoroughly and determine how computers can best be used in order
to operate efficiently.
Systems
Processes
T
CHAPTER 3
The project is based on Object Oriented approach using Iterative Incremental Model. Iterative
around a gradual increase in feature additions and a cyclical release and upgrade pattern.
Iterative and incremental software development begins with planning and continues through
iterative development cycles involving continuous user feedback and the incremental addition of
features concluding with the deployment of completed software at the end of each cycle.
It is one of the methodologies of agile software development, rational unified process and
extreme programming.
Iterative and incremental development is a discipline for developing systems based on producing
deliverables. In incremental development, different parts of the system are developed at various
times or rates and are integrated based on their completion. In iterative development, the plan is
to revisit parts of the system in order to revise and improve them. User feedback is consulted to
Before starting a software project, it is essential to determine the tasks to be performed and
properly manage allocation of tasks among individuals involved in the software development.
activities required for successful completion of the project. It prevents obstacles that arise in the
and so on. Project planning also helps in better utilization of resources and optimal usage of the
allotted time for a project. The other objectives of project planning are listed below.
It defines the roles and responsibilities of the project management team members.
It ensures that the project management team works according to the business
objectives.
Several individuals help in planning the project. These include senior management and project
management team. Senior management is responsible for employing team members and
providing resources required for the project. The project management team, which generally
includes project managers and developers, is responsible for planning, determining, and
tracking the activities of the project. Table lists the tasks performed by individuals involved in the
software project.
3.3 PROJECT PLANNING PROCESS
The project planning process involves a set of interrelated activities followed in an orderly
manner to implement user requirements in software and includes the description of a series of
project planning activities and individual(s) responsible for performing these activities. In
Project planning process comprises several activities, which are essential for carrying out a
project systematically. These activities refer to the series of tasks performed over a period of
time for developing the software. These activities include estimation of time, effort, and
in a systematic manner. These requirements comprise information such as project scope, data
and functionality required in the software, and roles of the project management team
members.
Identification of cost estimates: Along with the estimation of effort and time, it is necessary
to estimate the cost that is to be incurred on a project. The cost estimation includes the cost of
hardware, network connections, and the cost required for the maintenance of hardware
components. In addition, cost is estimated for the individuals involved in the project.
Identification of risks: Risks are unexpected events that have an adverse effect on the
project. Software project involves several risks (like technical risks and business risks) that
affect the project schedule and increase the cost of the project. Identifying risks before a
project begins helps in understanding their probable extent of impact on the project.
Identification of critical success factors: For making a project successful, critical success
factors are followed. These factors refer to the conditions that ensure greater chances of
success of a project. Generally, these factors include support from management, appropriate
Preparation of project charter: A project charter provides a brief description of the project
scope, quality, time, cost, and resource constraints as described during project planning. It is
prepared by the management for approval from the sponsor of the project.
Preparation of project plan: A project plan provides information about the resources that are
available for the project, individuals involved in the project, and the schedule according to
Commencement of the project: Once the project planning is complete and resources are
Describes the activities into which the project is divided. It also describes the milestones and
Testing is the verification and validation process. Testing is the process used to help identify the
process of technical investigation that is intended to reveal quality-related information about the
product with respect to the context in which it is intended to operate. The goal of testing is to
design a series of tests that have a high likelihood of finding errors by:
Verifying the input and output domains of the Program in order to uncover functional,
Demonstrating that the Software is working according to the specifications and that the
White box testing: white -Box testing enables us to see what is happening inside the
application. Here source code is tested. All loops, logical decisions, data structures and all the
modules are examined. It is also called code based testing. So during the development period
o Unit Testing
o Integration Testing
o System Testing
o Acceptance Testing
Unit Testing
Good software design will result in a modular, reusable architecture that can be easily seen as
units of code. These units have a requirement of what can be passed into them and what will
hopefully return. What should return should be defined by the design specification and this is
compared with the actually result. The more the area of testing is minimized the greater the
chance is for identifying defects and where they are located in the code. Constant developer
unit testing is always encouraged which may not be recorded however the developer may aid
the creation of test cases for future recorded unit testing carried out independently by the test
team.
Integration Testing:
Once units of the system are constructed to form the final product, this again could present an
area for defect injection. Tolerances between units may not be compatible, for example a log-in
dialogue unit may timeout waiting for the user authorization unit to respond. It is at this stage
where integration testing is carried out. They test the system at a higher level and are
determined by the design specification. Daily builds are often used as a form of integration
testing but they do not test functionality. They are a test to see if the program will link and
compile and may include some general 'smoke' tests but will not test the final build to the same
level as when test cases are used that have been derived from the design specification.
System Testing:
Here the entire software system is tested. The reference document for this process is the
requirements document, and the goal to see if software meets its requirements. Here entire
‘Student Help Desk’ has been tested against requirements of project and it is checked whether
Levels of Testing:
In order to uncover the errors present in different phases we have the concept of levels of
This testing methodology looks at what are the available inputs for an application and what the
expected outputs are that should result from each input. It is not concerned with the inner
workings of the application, the process that the application undertakes to achieve a particular
output or any other internal aspect of the application that may be involved in the transformation
of an input into an output. Most black-box testing tools employ either coordinate based
interaction with the application's graphical user interface (GUI) or image recognition. An
example of a black-box system would be a search engine. We enter text that we want to search
for in the search bar, press "Search" and results are returned to us. In such a case, we do not
know or see the specific process that is being employed to obtain our search results, we simply
see that we provide an input - a search term - and we receive an output - our search results.
Alpha Testing: - A series of Acceptance tests were conducted by the end user. Their
Beta Testing: - It is to be conducted by the end user without the presence of the developer.
The data and user details are highly protected and the system assures high reliability through
robust security. Only the authorized, registered users are allowed to shop. The tremendous
increase in online transactions has been accompanied by an equal rise in the number and type
of attacks against the security of online payment systems. Some of these attacks have utilized
websites, such as shopping cart software. Other attacks have used vulnerabilities that are
common in any web application, such as SQL injection or cross-site scripting. This article
discusses these vulnerabilities with examples, either from the set of known vulnerabilities, or
those discovered during the author's penetration testing assignments. The different types of
vulnerabilities discussed here are SQL injection, cross-site scripting, information disclosure,
path disclosure, price manipulation, and buffer overflows. Successful exploitation of these
vulnerabilities can lead to a wide range of results. Information and path disclosure
vulnerabilities will typically act as initial stages leading to further exploitation. SQL injection or
price manipulation attacks could cripple the website, compromise confidentiality, and in worst
CHAPTER 4:
SYSTEM EVALUATION MAINTENANCE
A software evaluation is done for someone. Someone wants to know about the state of a
particular package, and may even be paying you to look into it! So, at the outset, you should
agree with this "someone" the scope of the evaluation. This includes what software and other
project resources will be evaluated and the user classes from whose perspective the evaluation
will be done. The user classes determine the tasks that will form the basis of any evaluation,
User. A person, who depending on the artefact, downloads, installs, configures and uses
the artefact but does not write any code to use in conjunction with it. The software may
Apache Axis.
Developer. A user who writes code that changes the software e.g. fixes bugs, makes
Member. A Developer who is a project member and has writes access to the source
what the policy is on upgrading to use new versions of prerequisite packages, coding
standards, who owns copyright, licensing, how changes are managed, if they’re
expected to support components they develop, how the project is run etc.
In terms of how much time to spend on an evaluation to get useful information, our rule of thumb
is that an ideal period is 1-2 weeks in duration (or 3-5 days of effort) depending on the
Software Maintenance. Software maintenance is widely accepted part of SDLC now a days. It
stands for all the modifications and update done after the delivery of software product. There
are number of reasons, why modifications are required, some of them are briefly mentioned
below:
Market Conditions - Policies, which changes over the time, such as taxation and newly
introduced constraints like, how to maintain bookkeeping, may trigger need for
modification.
Client Requirements - Over the time, customer may ask for new features or functions
in the software.
Host Modifications - If any of the hardware and/or platform (such as operating system)
of the target host changes, software changes are needed to keep adaptability.
Organization Changes - If there is any business level change at client end, such as
into new business, need to modify in the original software may arise.
In a software lifetime, type of maintenance may vary based on its nature. It may be just a
routine maintenance tasks as some bug discovered by some user or it may be a large event in
itself based on maintenance size or nature. Following are some types of maintenance based
on their characteristics:
correct or fix problems, which are either discovered by user or concluded by user error
reports.
Adaptive Maintenance - This includes modifications and update applied to keep the
software product up-to date and tuned to the ever changing world of technology and
business environment.
Perfective Maintenance - This includes modifications and updates done in order to
keep the software usable over long period of time. It includes new features, new user
requirements for refining the software and improve its reliability and performance.
problems of the software. It aims to attend problems, which are not significant at this
Reports suggest that the cost of maintenance is high. A study on estimating software
maintenance found that the cost of maintenance is as high as 67% of the cost of entire
are various factors, which trigger maintenance cost go high, such as:
Older softwares, which were meant to work on slow machines with less memory and
storage capacity cannot keep themselves challenging against newly coming enhanced
Most maintenance engineers are newbie and use trial and error method to rectify
problem.
Often, changes made can easily hurt the original structure of the software, making it
Changes are often left undocumented which may cause more conflicts in future.
Programming Language
IEEE provides a framework for sequential maintenance process activities. It can be used in
iterative manner and can be extended so that customized items and processes can be
included.
Analysis - The modification is analyzed for its impact on the system including safety
and security implications. If probable impact is severe, alternative solution is looked for.
A set of required modifications is then materialized into requirement specifications. The
. Implementation - The new modules are coded with the help of structured design created
System Testing - Integration testing is done among newly created modules. Integration
testing is also carried out between new modules and the system. Finally the system is
Acceptance Testing - After testing the system internally, it is tested for acceptance with
the help of users. If at this state, user complaints some issues they are addressed or
Delivery - After acceptance test, the system is deployed all over the organization either
by small update package or fresh installation of the system. The final testing takes
SOFTWARE RE-ENGINEERING
When we need to update the software to keep it to the current market, without impacting its
Legacy software cannot keep tuning with the latest technology available in the market. As the
hardware become obsolete, updating of software becomes a headache. Even if software grows
For example, initially Unix was developed in assembly language. When language C came into
existence, Unix was re-engineered in C, because working in assembly language was difficult.
Other than this, sometimes programmers notice that few parts of software need more
PHP
This is an important software that we will be using in the project. The increasing popularity of
“PHP” is probably due to its many desirable qualities. PHP is a server-side scripting language
designed for web development but also used as a general-purpose programming language.
What is PHP?
It is powerful enough to be at the core of the biggest blogging system on the web (Word
Press)!
PHP can create, open, read, write, delete, and close files on the server.
Why PHP:
PHP is compatible with almost all servers used today (Apache, IIS, etc.).
MYSQL
The data in MySQL is stored in tables. A table is a collection of related data, and it consists of
columns and rows. Databases are useful when storing information categorically.
What Is CSS?
CSS is a form of communication used to dilate the display of a website mark-up language like
HTML or XHTML as it determines such features as its fonts, layouts, spacing and colors, to
name just a few. Basically, CSS is used to take the content you already have and make it look
more attractive; it is a language used to increase expressive style and creativity. 49 One of the
favoured features is its ability to allow the sorting of document content written in mark-up
When you incorporate CSS into your website design, you will soon discover that search
engines will have the aptitude to locate you much easier since CSS features a coding
technique that is clear-cut and simple to read. Search engines will no longer have to struggle to
comprehend your website content. The advantage of improved accessibility of content will
allow a broader number of users to locate you on the Internet. Less code and more content
2. Browser Compatibility
Browser compatibility is very important and CSS addresses this issue nicely. When you decide
to use CSS, you will find that it will improve the characteristic of your website while securing
your visitors with the capacity to view your website as precisely as you have designed it to be.
3. Appearance
CSS makes it easy to improve the appearance of a website by allowing you to create a much
more stylish website since CSS offers a wide array of expressive style capableness.
4. Maintainability
One of the convenient features that CSS produces is the consistency it provides when you
want to make changes to a website. When a change is made to your website’s CSS Style
Sheet, you will have the ability to automatically correct or change every page throughout your
website-- all at once. You do not have to go in to each individual web page to make a particular
change as CSS will instantly do it for you. If your website is rather large, this one simple feature
5. Bandwidth Savings
Once CSS takes apart your websites content from its design language, you will trim down your
file transfer magnitude significantly. These Bandwidth savings are considerable figures of
insignificant tags that are distracted from a multitude of pages. This will leave less, but more
JAVA Script
server-side applications. A client-side application is a program that you interact with directly on
Interacts with, typically on a distant computer or server—for example, a Java appletor Perl
script. For example, your browser is a client-side application that you use to request web pages
from the web server. The web server is a server-side application that
We can do many things using JavaScript that you can’t do by simply using HTML.
Perform calculations
Write server-side applications, called Common Gateway Interface (CGI) applications, which
must be written using languages such as Java, ASP, Perl, and PHP.
Read information from a web page that resides on a domain different from the domain where
the JavaScript:
BOOTSTRAP
Build responsive, mobile-first projects on the web with the world's most popular front-end
component library. Bootstrap is an open-source toolkit for developing with HTML, CSS, and JS.
Quickly prototype your ideas or build your entire app with our Sass variables and mixings,
responsive grid system, extensive prebuilt components, and powerful plug-in built on jQuery.
CHAPTER 7: SCREENSHOTS
7.1 SCREENSHOTS
Future Scope
The agricultural sector is vital for the Indian economy and it is evident that reforming
agricultural markets and setting up electronic mandis (e-Mandis) will make a
significant change. The existence of e-Mandis has enabled the integration of electronic
trading platforms with physical mandis. This nationwide electronic trading portal can
link all the existing Agricultural Produce Marketing Committee (APMC) mandis
together which will, in turn, create a unified national online market for agricultural
commodities.
Why e-Mandis?
The electronic trading platforms will help all value chain participants in the
agricultural-sector, to buy or sell their agricultural produce effortlessly and get a
better reach. A trader can get a single license that would be valid across all markets in
the state. An e-Mandi can provide a single-window service to many features such as
arrivals of different commodities, information on prices, better transparency and
accountability, etc. Theoretically speaking farmers can buy and sell with the entire
nation using the online trading platform, rendering dealing with the local traders in the
physical market obsolete. They can view prices across the electronic markets which in
turn helps price discovery and not being at the mercy of unscrupulous local traders.
Conclusion
https://css-tricks.com/
https://getbootstrap.com/
https://www.w3schools.com/js
https://www.w3schools.com/jquery/
https://www.tutorialspoint.com/sdlc/
sdlc_iterativemodel.htm
https://www.w3schools.com/php/
https://www.w3schools.com/html/
CHAPTER 8: HARDWARE AND SOFTWARE
REQUIREMENTS
HARDWARE AND SOFTWARE REQUIREMENTS
Hardware Requirements
Software Requirements
XAMPP
THANK YOU