0% found this document useful (0 votes)
43 views79 pages

AS098

Uploaded by

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

AS098

Uploaded by

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

DEPARTMENT OF COMPUTER SCIENCES

DISSERTATION

Submitted in Partial Fulfilment of the Requirement for the award of degree of

INTEGRATED MASTER OF COMPUTER APPLICATION


(Session 2021-2024)
Project Titled

ONLINE MANDI
For Farmers
Submitted by

Ashaq Iqbal (10-IMCA-2021)

Under the supervision of

DR. GULFAM AHAMAD

Sr. Assistant Professor

SCHOOL OF MATHEMATICAL AND COMPUTER SCIENCES


BABA GHULAM SHAH BADSHAH UNIVERSITY RAJOURI (J&K)

BABA GHULAM SHAH BADSHAH UNIVERSITY


RAJOURI
DEPARTMENT OF COMPUTER SCIENCES

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)

Dr. GULFAM AHAMAD Dr. Majid Bashir Malik


________________
External Examiner

BABA GHULAM SHAH BADSHAH UNIVERSITY


RAJOURI
DEPARTMENT OF COMPUTER SCIENCES

ACKNOWLEDGEMENT

I express my gratitude by the help of the Head of the Department of

Computer Sciences. "Dr. Majid Bashir Malik" for his constant supervision,

guidance and co- operation throughout the project and I would like to

express my thankfulness to my project guide, "Dr. Gulfam Ahamad" for his

constant motivation and valuable help throughout the project work. He

gave me moral support and guided me in different matters and solutions

regarding the project.

Dr. Gulfam Ahamad


Dr. Majid Bashir Malik
Project Supervisor
Head of the Department Project
Submitted by:

ASHAQ IQBAL (10-IMCA-2021)

BABA GHULAM SHAH BADSHAH UNIVERSITY RAJOURI


DEPARTMENT OF COMPUTER SCIENCES

DECLARATION

I hereby declare that the project entitled "ONLINE MANDI For Farmers"

submitted to the Department of Computer Sciences for the completion of

the degree of integrated Master of Computer Application (MCA). This

project work has completed under the supervision of "Dr. GULFAM

AHAMAD, Sr. Assistant Professor, Department of Computer Sciences". To

the best of my knowledge the project has addressed the actual existing

problem.

Place: Baba Ghulam Shah Badshah University Rajouri (J&K)-185234


Date: ASHAQ IQBAL

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.1 Key Features

1.2 Benefits

1.3 Problems

Chapter 2: METHODOLOGY

2.1 System Analysis

2.2 Data Flow Diagram

2.3 DFD Level 0

2.4 DFD Level 1

2.5 DFD Level 2

2.6 DFD Objectives & Scope


2.7 System Design

2.8 ER-Diagram Admin

2.9 ER-Diagram Farmers

Chapter 3: ITERATIVE INCREMENTAL MODEL

3.1 Iterative Incremental Model

3.2 IIM Diagram

3.3 System Planning Pert Chart

3.4 Project Planning Process

3.5 PPP Diagram

3.6 Testing Technologies

3.7 Security Mechanisms

Chapter 4: SYSTEM EVALUATION AND MAINTENANCE


4.1 System Evaluation and Maintenance

4.2 Types of Maintenance

4.3 Cost of Maintenance and Diagram

4.4 Maintenance Activities

CHAPTER 5: SOFTWARE RE-ENGINEERING

5.1 Software Re-engineering

5.2 Re-engineering Software Diagram

CHAPTER 6: TECHNOLOGY USED LANGUAGE

6.1 PHP Language

6.2 SQL Language

6.3 CSS Language


6.4 Java Script

CHAPTER 7: SCREENSHOTS OF PROJECT INTERFACES

7.1 Future Scope & Conclusion

7.2 Reference

CHAPTER 8: HARDWARE AND SOFTWARE REQUIREMENTS


CHAPTER 1
INTRODUCTION
INTRODUCTION

The "Online Mandi for Farmers" project is designed to revolutionize the


agricultural trading Landscape by offering a digital platform where the
farmers can seamlessly buy and sell their produce. This platform aims
to bridge the gap between farmers and buyers, empowering farmers
with direct market access and fair pricing while providing buyers with a
reliable source of quality agricultural products.

1.1 Key Features:

1.User-Friendly Interface: The platform will have an intuitive and easy-


to-use interface, ensuring that farmers with varying levels of digital
literacy can navigate and utilize its features effectively.
2.Listing and Search Functionality: Farmers can list their products,
including details such as quantity, quality, and expected price. Buyers
can search for specific products based on their requirements.

3. Real-Time Market Information: Integration with real-time market


data provides farmers with insights into prevailing prices, enabling
them to make informed pricing decisions.

4.Secure Transactions: The platform will incorporate secure payment


gateways to facilitate smooth and secure transactions between farmers
and buyers.
1.2 Benefits

1. Empowering Farmers: The platform empowers farmers by providing


them with a direct avenue to market their products and negotiate fair
prices without middlemen.

2. Market Expansion: Farmers gain access to a broader market beyond


their local vicinity, increasing their opportunities for sales and growth.

3. Efficiency and Transparency: Streamlined processes and transparent


pricing mechanisms ensure efficiency and build trust among users.

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.

2. Middlemen Exploitation: Intermediaries and middlemen played a dominant


role in the supply chain, often exploiting farmers by offering low prices for their
produce and charging high commissions

3. Price Volatility: Lack of real-time market information led to price fluctuations,


making it difficult for farmers to negotiate fair prices for their crops.

4. Logistics and Transportation: Farmers faced challenges in arranging


transportation and logistics for their produce, especially in remote areas, which
increased their costs and reduced profitability.

5. Payment Delays: Delayed payments and uncertainties in payment terms were


common, leading to financial strain on farmers and affecting their cash flow.
6. Quality Assessment: Quality assessment of produce was subjective and
sometimes inaccurate, leading to disputes and affecting farmers' credibility in the
market.

7. Limited Transparency: The traditional system lacked transparency in pricing and


trade practices, leading to mistrust and disputes among market participants.

8. Storage and Handling: Inadequate storage facilities and improper handling

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

accurate, produced on time, and within budget.

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

is the application of engineering principles to software development. In contrast to simple

programming, software engineering is used for larger and more complex software systems,

which are used as critical systems for businesses and organizations.

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

development. There must be discipline and control during software engineering.

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

2.1 Systems Analysis

It is a process of collecting and interpreting facts, identifying the problems, and decomposition of

a system into its components.

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

components of the system work efficiently to accomplish their purpose.

Analysis specifies what the system should do.

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

proceed with it?

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

tool for developing a winning system plan.

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

on the behavior of the system.

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;

 Identify logistical and other system-related problems and solutions;

 Develop marketing strategies to convince an investor that our system is worth

considering as an investment;

 Serve as a solid foundation for developing our system plan.


There are three measures of feasibility analysis which must be considered while selecting a

particular solution for the specified problem. They are as:-

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 proved beyond doubt.

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:

a. The facility to produce outputs in a given time.

b. Response time under certain conditions.

c. Ability to process a certain volume of transaction at a particular speed.

d. Facility to communicate data to distant locations.

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

they could operate and communicate smoothly.

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

them with costs.

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

the system life cycle.

Operational Feasibility:

Operational feasibility study tests the operational scope of the software to be

developed. The points to be considered are:

a. what changes will be brought with the system?

b. What organizational structure is disturbed?

c. What new technologies will be required? Does the existing system have these? If not,

can they be brought up in due course of time?

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

work when it is developed and installed.

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

 Registration/Login: Farmers and buyers register or log in to the system.


 Product Listing: Farmers list their produce on the marketplace.
 Product Browsing: Buyers browse available produce and view details.
 Order Placement: Buyers place orders for produce.
 Transaction Processing: Handles payment processing through the payment
gateway.
 Inventory Management: Manages stock levels and updates availability.
 Order Ful fullment: Coordinates the delivery or pickup of produce.
 Feedback/Rating System: Allows buyers and sellers to rate each other and
provide feedback.

3. Data Stores

 Farmer Database: Stores information about farmers, including registration


details and produce listings.
 Buyer Database: Stores information about buyers, including registration
details and purchase history.
 Product Database: Stores details about products, including descriptions,
prices, and availability.
 Order Database: Keeps records of orders, including details of transactions
and status.
 Transaction Records: Stores data related to payment transactions.
 Feedback Database: Stores feedback and ratings from users.

 about orders, feedback, and system

4. Data Flows

 Farmer to System: Provides produce details, registration info, and updates


product listings.
 Buyer to System: Searches for products, places orders, and makes
payments.
 System to Farmer: Sends notifications product details, order confirmations,
and delivery
 Information system to payment Gateway: transaction confirmation
Payment.
DIAGRAM DATA FLOW
The Data flow diagram can be explained as the separate levels indicating
the individual complexity in the each level of the system and gives a detailed
explanation in the further levels that are following them.
LEVEL 0
Initially in the first level of the Data flow the level 7 explains the basic outline of
the system. The end-user sends the packets to the system to determine
the source and destination address. The diagram marked as the 7 represents the
complete packet watching system which simply represents the basic operation
that is being performed by it in the initial level.
LEVEL 1
The level 1 of the Data flow Diagram given explains in detail about the packet
watching system which was marked as 7 in the previous level. In this
level the end-user who passes the request for the system enters into
the first process, the capturing process and then to the processing module.
after processing the packets it was send for storing.
LEVEL 2
The level 2 provides the clear e<planation about the whole system. in
this level first we have to select the packet and perform test over that
selected packets. Then identify the end address of the packet and send that
packet for processing.
after processing the packet it was send to the identity content. Then send the pro
cessed packet for storin! and display the source and destination addresses.
2.3 Objectives & Scope:

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.

2.4 Systems Design


It is a process of planning a new business system or replacing an existing system by defining its

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.

System Design focuses on how to accomplish the objective of the system.

System Analysis and Design (SAD) mainly focuses on −

 Systems

 Processes
 T
CHAPTER 3

ITERATIVE INCREMENTAL MODEL


3.1 Iterative Incremental Model

The project is based on Object Oriented approach using Iterative Incremental Model. Iterative

and incremental software development is a method of software development that is modeled

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

modify the targets for successive deliverables.


3.2 System planning (PERT Chart):

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.

Hence, planning is important as it results in effective software development.

Project planning is an organized and integrated management process, which focuses on

activities required for successful completion of the project. It prevents obstacles that arise in the

project such as changes in projects or organization's objectives, non-availability of resources,

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.

 It checks feasibility of the schedule and user requirements.

 It determines project constraints.

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

addition, the project planning process comprises the following.

1. Objectives and scope of the project

2. Techniques used to perform project planning

3. Effort (in time) of individuals involved in project

4. Project schedule and milestones

5. Resources required for the project

6. Risks associated with the project.

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

resources required and risks associated with the project.


Project planning process consists of the following activities.

 Identification of project requirements: Before starting a project, it is essential to identify the

project requirements as identification of project requirements helps in performing the activities

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

budget, appropriate schedule, and skilled software engineers.

 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

which the project is to be carried out.

 Commencement of the project: Once the project planning is complete and resources are

assigned to team members, the software project commences.


Pert chart:

Describes the activities into which the project is divided. It also describes the milestones and

deliverables of the project activities.


3.4 Testing technologies:

Testing is the verification and validation process. Testing is the process used to help identify the

correctness, completeness, security, and quality of developed computer software. Testing is a

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 internal logic of the Software components.

 Verifying the input and output domains of the Program in order to uncover functional,

behavioral and performance errors.

 Demonstrating that the Software is working according to the specifications and that the

requirements have been met.

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

of this particular software I will use white box testing technique.

The strategies to be followed in this testing include:

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

all requirements of project have been satisfied or not.

Levels of Testing:

In order to uncover the errors present in different phases we have the concept of levels of

testing. The basic levels of testing are:

Client Needs Acceptance Testing

Requirements System Testing

Design Integration Testing

Code Unit Test

fig. 7.1. Levels of Testing.


BLack-box Testing:

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

suggestions were included in the project.

Beta Testing: - It is to be conducted by the end user without the presence of the developer.

3.5 Security Mechanisms:

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

vulnerabilities that have been published in reusable third-party components utilized by

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

cases cause the e-commerce business to shut down completely.

CHAPTER 4:
SYSTEM EVALUATION MAINTENANCE

4.1 System Evaluation and 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,

especially a tutorial-based evaluation. The following classes of user can be assumed:

 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

be a web portal, a GUI or a command-line tool.


 User-Developer. A user who writes code which extends but does not change the

software e.g. a client to some service endpoints, or a pluggable component coded

against some extensibility point. As an analogy, a developer of web services using

Apache Axis.

 Developer. A user who writes code that changes the software e.g. fixes bugs, makes

the software more efficient, or extends its functionality.

 Member. A Developer who is a project member and has writes access to the source

code repository. Unlike a Developer, a Member has to be aware of such issues as

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

complexity of the software and the nature of the evaluation tasks.

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

reduction of organization strength, acquiring another company, organization venturing

into new business, need to modify in the original software may arise.

1.1 4.2 TYPES OF MAINTENANCE

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:

 Corrective Maintenance - This includes modifications and update done in order to

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.

 Preventive Maintenance - This includes modifications and update to prevent future

problems of the software. It aims to attend problems, which are not significant at this

moment but may cause serious issues in future.

1.2 4.3 COST OF MAINTENANCE

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

software process cycle.


On an average, the cost of software maintenance is more than 50% of all SDLC phases. There

are various factors, which trigger maintenance cost go high, such as:

1.2.1 Real-world factors affecting Maintenance Cost

 The standard age of any software is considered up to 10 to 15 years.

 Older softwares, which were meant to work on slow machines with less memory and

storage capacity cannot keep themselves challenging against newly coming enhanced

softwares on modern hardware.

 As technology advances, it becomes costly to maintain old software.

 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

hard for any subsequent changes.

 Changes are often left undocumented which may cause more conflicts in future.

1.2.2 Software-end factors affecting Maintenance Cost

 Structure of Software Program

 Programming Language

 Dependence on external environment

 Staff reliability and availability


4.4 MAINTENANCE ACTIVITIES

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.

These activities go hand-in-hand with each of the following phase:

 Identification & Tracing - It involves activities pertaining to identification of requirement

of modification or maintenance. It is generated by user or system may itself report via

logs or error messages.Here, the maintenance type is classified also.

 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

cost of modification/maintenance is analyzed and estimation is concluded.

. Implementation - The new modules are coded with the help of structured design created

in the design step. Every programmer is expected to do unit testing in parallel.

 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

tested as a whole, following regressive testing procedures.

 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

noted to address in next iteration.

 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

place at client end after the software is delivered.


CHAPTER 5:

SOFTWARE RE-ENGINEERING

5.1 SOFTWARE RE-ENGINEERING

When we need to update the software to keep it to the current market, without impacting its

functionality, it is called software re-engineering. It is a thorough process where the design of

software is changed and programs are re-written.

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

old with time, its functionality does not.

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

maintenance than others and they also need re-engineering.

5.2 Re-engineering Software Diagram.


Re-engineering Software Diagram
CHAPTER 6:
TECHNOLOGY USED LANGUAGES
6.1 PHP Language.

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?

PHP is an acronym for "PHP Hypertext Pre-processor".

PHP is a widely-used, open-source scripting language.

PHP scripts are executed on the server.

PHP costs nothing, it is free to download and use.

PHP as an amazing and popular language!

It is powerful enough to be at the core of the biggest blogging system on the web (Word

Press)!

It is deep enough to run the largest social network (Facebook)!

It is also easy enough to be a beginner's first server-side language!

What can PHP Do?


PHP can generate dynamic page content.

PHP can create, open, read, write, delete, and close files on the server.

PHP can collect form data.

PHP can send and receive cookies.

PHP can add, delete and modify data in your database.

PHP can restrict users to access some pages on your website.

PHP can encrypt data.

Why PHP:

PHP runs on various platforms (Windows, Linux, UNIX, Mac OS X, etc.).

PHP is compatible with almost all servers used today (Apache, IIS, etc.).

PHP supports a wide range of databases.

PHP is easy to learn and runs efficiently on the server’s id.

6.2 SQL Language

MYSQL

MySQL is a database system used on the web.


MySQL is a database system that runs on a server.

MySQL is ideal for both small and large applications.

MySQL is very fast, reliable, and easy to use.

MySQL supports standard SQL.

MySQL compiles on a number of platforms.

MySQL is free to download and use.

MySQL is developed, distributed, and supported by Oracle Corporation.

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.

6.3 CSS Language

CSS (Cascading Style Sheet)

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

languages (like HTML) from document presentation written in CSS.

Advantages of CSS in website design

1. Search Engine Optimization

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

equals search engine success.

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

will save you ample time; and time is money.

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

significant captions, listings and paragraphs.

6.4 JAVA Script

JAVA Script

What is Java script?


Java is a full-featured programming language (like C++) that is used to build client-side and

server-side applications. A client-side application is a program that you interact with directly on

your computer—for example, Microsoft Internet Explorer.

A server-side application is a program that your client-side application.

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

“Talks” to your browser.

Features OF Java Script

We can do many things using JavaScript that you can’t do by simply using HTML.

Here are a few of them:

Build dynamic web pages

Display alert boxes

Write messages to the browser status bar

Control features of the browser

Open new browser windows

Customize reactions to mouse actions and keystrokes

Validate information in forms

Perform calculations

Create interactive forms

Set date and time


Identify browsers and browser plug-ins such as Flash:

Read files from your hard disk—except for cookies.

Close windows other than those the JavaScript application opened.

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

The "Online Mandi" web application serves as a powerful platform


bridging the gap between farmers and buyers by providing a direct
marketplace for agricultural products.

By leveraging technology, it empowers farmers to list and sell their


produce at competitive prices, while buyers gain access to a
diverse range of fresh and high-quality products directly from the
source.

The application also offers transparency, real-time pricing, and


efficient logistics, ensuring a seamless transaction process.
Ultimately, "Online Mandi" aims to modernize the agricultural
marketplace, enhancing the economic well-being of farmers and
providing convenience and savings to buyers.
References

 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

Processor: Intel quad core or above.

Processor speed:2.0GH or above.

RAM:3 GB RAM or above

Hard disk: 10 GB hard disk or above

Software Requirements

XAMPP

Languages: PHP, Java Script, Html, CSS, Bootstrap


Database: MySQL

THANK YOU

You might also like