Siddhu
Siddhu
1
Abstract
Nursery Mall is an online platform designed for the sale of a wide variety of plants,
offering customers a convenient and user- friendly shopping experience. The website is
developed using HTML, CSS, and JavaScript for the front end, ensuring an attractive
and responsive interface. SQL is used for database management to store plant details,
customer information, and order records securely.The platform features a diverse col-
lection of indoor and outdoor plants along with essential gardening accessories. Users
can browse categorized plant listings, view detailed descriptions, and place orders eas-
ily. The website includes search and filter options, allowing customers to find plants
based on their preferences such as type, size, and maintenance needs. A personalized
user dashboard helps track orders and manage purchases efficiently. Secure payment
gateways ensure safe transactions, while customer reviews provide valuable insights.
Additionally, the platform offers plant care tips to help users maintain their purchases.
Designed for gardening enthusiasts and nature lovers, Nursery Mall promotes greenery
and sustainability by making plant shopping accessible, convenient, and enjoyable for
everyone.
Keywords: : Online plant store, e-commerce, Nursery Mall, plant shopping, HTML,CSS,
JavaScript, SQL database, eco-friendly, sustainable shopping, indoor plants, outdoor
plants, user-friendly interface, secure transactions, customer reviews, search and filter,
responsive design.
2
Contents
1 Introduction 2
1.0.1 Problems Statement . . . . . . . . . . . . . . . . . . . . . . . . 3
1.0.2 Aims and Objectives . . . . . . . . . . . . . . . . . . . . . . . . 3
1.0.3 Scope and Motivation . . . . . . . . . . . . . . . . . . . . . . . 4
1.0.4 Application and Feasibility . . . . . . . . . . . . . . . . . . . . . 4
2 LITERATURE SURVEY 5
4 METHODOLOGY 9
4.0.1 In this project, several technical approaches are used: . . . . . . 9
4.0.2 HTML: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.0.3 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.0.4 PHP: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.0.5 MySQL Database: . . . . . . . . . . . . . . . . . . . . . . . . . 11
1
5.0.6 Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.0.7 PHP File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.0.8 Admin Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.0.9 Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.0.10 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.0.11 Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.0.12 CSS File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 RESULT/OUTPUT 51
6.0.1 Application Screenshots . . . . . . . . . . . . . . . . . . . . . . 51
6.0.2 Login Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.0.3 Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.0.4 Shopping Page . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.0.5 Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.0.6 Order Confirmation . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.0.7 User Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.0.8 About Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.0.9 Admin Panel Screenshots . . . . . . . . . . . . . . . . . . . . . . 55
6.0.10 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7 SYSTEM REQUIREMENT 58
7.0.1 Software Requirement . . . . . . . . . . . . . . . . . . . . . . . 58
7.0.2 Hardware Requirement . . . . . . . . . . . . . . . . . . . . . . 58
9 REFERENCE 61
2
List of Figures
4.1 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1
Chapter 1
Introduction
Nursery Mall is an online plant-selling platform that offers a wide range of indoor and
outdoor plants, along with gardening accessories, to customers looking for convenient
and hassle-free shopping. With the growing awareness of environmental benefits and
the increasing interest in home gardening, this platform aims to provide plant lovers
with an easy way to explore, purchase, and care for plants. The website is designed
with an intuitive and responsive interface using HTML, CSS, and JavaScript, ensur-
ing a seamless browsing experience. SQL is used for efficient database management,
storing plant details, customer information, and order history securely. The platform
categorizes plants based on type, size, and maintenance requirements, making it eas-
ier for users to find suitable options. Customers can view detailed plant descriptions,
pricing, and availability, helping them make informed decisions. A search and filter
feature enhances navigation, while a personalized user dashboard allows customers to
track orders and manage their purchases. Secure payment gateways ensure smooth
and safe transactions, while customer reviews provide insights into plant quality and
service. Nursery Mall not only serves as an e-commerce platform but also promotes
sustainability by encouraging people to incorporate more greenery into their homes and
surroundings. With a focus on accessibility and user satisfaction, the platform makes
plant shopping an enjoyable and convenient experience. Nursery Mall also promotes
eco-friendly practices by encouraging the adoption of plants in homes, offices, and pub-
lic spaces. By offering a digital solution for plant shopping, the platform aims to make
greenery more accessible while ensuring convenience and quality for all users!.
2
COMPREHENSIVE PLANT NURSERY MANAGEMENT SYSTEM WITH E-COMMERCE
INTEGRATION
In today’s fast-paced world, many individuals lack the time and convenience to visit
physical nurseries for purchasing plants. The limited availability of plant varieties, high
prices, and lack of expert guidance often discourage people from incorporating greenery
into their homes and workplaces. Additionally, many customers struggle with inade-
quate knowledge about plant selection, care requirements, and maintenance, leading to
plant loss and dissatisfaction.
The primary goal of Nursery Mall is to provide an easy-to-use online platform for buying
plants and gardening accessories while ensuring customer convenience and accessibility.
The Objectives are :
• Search and Filter Options: To allow users to find plants based on type, size,
maintenance level, and environmental suitability.
Nursery Mall aims to bridge the gap between plant nurseries and modern consumers
by providing a comprehensive e-commerce platform for plant shopping. It caters to
gardening enthusiasts, home decorators, office spaces, and eco-conscious individuals
looking to buy plants effortlessly.
LITERATURE SURVEY
This study explores the increasing popularity of online plant-selling platforms and
their impact on the traditional nursery business. It highlights how e-commerce
has made plant shopping more accessible to customers, eliminating geographical
limitations and expanding plant varieties. The paper discusses key factors driving
online plant sales, such as urbanization, increased interest in indoor gardening,
and environmental awareness. The authors emphasize the importance of pro-
viding detailed plant information, secure transactions, and efficient logistics for
customer satisfaction.
This research examines consumer preferences and buying patterns in the online
plant market. The study reveals that customers prioritize factors like plant qual-
ity, affordability, delivery time, and expert guidance when purchasing plants on-
line. Additionally, it discusses challenges such as plant damage during shipping,
lack of trust in online nurseries, and difficulties in selecting suitable plants. The
authors suggest that interactive features, such as plant care recommendations
5
COMPREHENSIVE PLANT NURSERY MANAGEMENT SYSTEM WITH E-COMMERCE
INTEGRATION
and AR- based visualization tools, could improve customer confidence and en-
gagement.
This paper focuses on improving the customer experience in online plant stores.
It highlights strategies such as user-friendly website design, AI-driven plant rec-
ommendations, and personalized customer support to enhance user engagement.
The study also discusses the role of customer reviews and ratings in influenc-
ing purchase decisions. The authors conclude that integrating technology-driven
solutions can increase user trust and retention in the online plant-selling market.
This paper examines the evolving trends in the online gardening industry, includ-
ing the integration of smart gardening tools, subscription-based plant care ser-
vices, and the use of AR/VR for plant placement visualization. The authors dis-
cuss how advancements in e-commerce technology, AI-driven recommendations,
and interactive gardening communities are shaping the future of online plant
sales. They predict significant growth in the market, driven by increasing urban
gardening interest and sustainability awareness.
3.0.1 Scope
Nursery Mall aims to provide a user-friendly and convenient online platform for plant
enthusiasts, home gardeners, and eco-conscious individuals to explore and purchase a
wide variety of plants and gardening accessories. The platform will focus on enhancing
the online plant-buying experience by offering detailed product information, personal-
ized recommendations, secure transactions, and doorstep delivery services.
7
COMPREHENSIVE PLANT NURSERY MANAGEMENT SYSTEM WITH E-COMMERCE
INTEGRATION
4. Search and Filtering System: Advanced search options to find plants based on
type, size, maintenance level, and benefits. Sorting options by price, popularity,
and new arrivals
7. Eco-Friendly Awareness and Gardening Tips: Blog section with plant care
guides, gardening tips, and eco-friendly practices. Encouraging users to contribute
to a greener environment.
METHODOLOGY
4.0.2 HTML:
9
COMPREHENSIVE PLANT NURSERY MANAGEMENT SYSTEM WITH E-COMMERCE
INTEGRATION
4.0.3 CSS
CSS was first developed in 1997, as a way for Web developers to define the look and
feel of their Web pages. It was intended to allow developers to separate content from
design so that HTML could perform more of the function that it was originally based
on the markup of content, without worry about the design and layout. CSS didn’t gain
in popularity until around 2000, when Web browsers began using more than the basic
font and color aspects of CSS. Style sheet refers to the document itself. Style sheets
have been used for document design for years.
4.0.4 PHP:
PHP is a server-side scripting language designed primarily for web development but
also used as a general-purpose programming language. Originally created by Ramsum
Lerdorf in 1994,the PHP reference implementation is now produced by the PHP De-
velopment Team. PHP originally stood for Personal Home Page, but it now stands for
the recursive acronym PHP: Hypertext Preprocessors.
12
COMPREHENSIVE PLANT NURSERY MANAGEMENT SYSTEM WITH E-COMMERCE
INTEGRATION
Data Flow Diagrams show the flow of data from external entities into the system, and
from one process to another within the system. There are four symbols for drawing
a DFD: Open-ended rectangles or a Disk symbol representing data stores, including
electronic stores such as databases or HTML files and physical stores such as filling
cabinets or stacks of paper. Each process within the system is first shown as a Context
Level DFD and later as a Detailed DFD. The Context Level DFD provides a conceptual
view of the process and its surrounding input, output and data stores. The detailed
DFD provides a more detailed and comprehensive view of the interaction among the
sub-processes within the system.
1. User: The user entity represents a person who uses the Nursery Mall. Each user
has a unique identifier, username, email, and password. A user can have many
exercise.
2. Tag: The tag entity represents a label or category that can be assigned to app.
Each tag has a unique identifier and a name. A tag can be assigned to many
exercise, and a exercise can have many tags.
5.0.6 Coding
<?php
session start ();
// Check i f admin i s l o g g e d i n
i f ( ! i s s e t ( $ SESSION [ ’ admin id ’ ] ) ) {
he ad er ( ’ L o c a t i o n : l o g i n . php ’ ) ;
exit ;
}
// I n c l u d e d a t a b a s e c o n n e c t i o n
$conn = r e q u i r e o n c e ’ . . / c o n f i g / d b c o n n e c t . php ’ ;
// Get c o u n t s f o r dashboard
$ p l a n t s c o u n t = $conn−>query ( ”SELECT COUNT( ∗ ) as count FROM p l a n t s ”)−
>f e t c h a s s o c ( ) [ ’ count ’ ] ;
$ o r d e r s c o u n t = $conn−>query ( ”SELECT COUNT( ∗ ) as count FROM o r d e r s ”)−
>f e t c h a s s o c ( ) [ ’ count ’ ] ;
$ p e n d i n g o r d e r s = $conn−>query ( ”SELECT COUNT( ∗ ) as count FROM o r d e r s
WHERE s t a t u s = ’ Pending ’”)−> f e t c h a s s o c ( ) [ ’ count ’ ] ;
$ u s e r s c o u n t = $conn−>query ( ”SELECT COUNT( ∗ ) as count FROM u s e r s WHERE
i s a d m i n = 0”)−> f e t c h a s s o c ( ) [ ’ count ’ ] ;
?>
<!DOCTYPE html>
<html l a n g=”en”>
<head>
<meta c h a r s e t =”UTF−8”>
<meta name=”v i e w p o r t ” c o n t e n t=”width=d e v i c e −width , i n i t i a l −s c a l e =1.0”>
< t i t l e >Admin Dashboard − Nursery Mall </ t i t l e >
<l i n k r e l =” s t y l e s h e e t ” h r e f = ” . . / a s s e t s / c s s / s t y l e . c s s ”>
<!−− B o o t s t r a p CSS −−>
<l i n k h r e f =” h t t p s : / / cdn . j s d e l i v r . ne t /npm/ bootstrap@5 .3.0 − alpha1 / d i s t / c s s /
b o o t s t r a p . min . c s s ” r e l =” s t y l e s h e e t ”>
<!−− Font Awesome f o r i c o n s −−>
<l i n k r e l =” s t y l e s h e e t ” h r e f =” h t t p s : / / c d n j s . c l o u d f l a r e . com/ a j a x / l i b s / f o n t −
awesome /6.0.0 − beta3 / c s s / a l l . min . c s s ”>
</head>
<body>
<d i v c l a s s =” c o n t a i n e r −f l u i d ”>
<d i v c l a s s =”row”>
<!−− S i d e b a r −−>
<d i v c l a s s =”c o l −md−3 c o l −l g −2 d−md−b l o c k admin−s i d e b a r p−0”>
<d i v c l a s s =”t e x t −c e n t e r p−3 mb−3”>
<h4 c l a s s =”t e x t −white”>< i c l a s s =” f a s fa −l e a f me−2”></i >Nursery
Mall </h4>
</div>
<d i v c l a s s =”nav f l e x −column”>
<a h r e f =”i n d e x . php” c l a s s =”nav−l i n k a c t i v e ”>
<i c l a s s =” f a s fa −tachometer−a l t me−2”></i > Dashboard
</a>
<a h r e f =” p l a n t s . php” c l a s s =”nav−l i n k ”>
<i c l a s s =” f a s fa −s e e d l i n g me−2”></i > Manage P l a n t s
</a>
<a h r e f =” o r d e r s . php” c l a s s =”nav−l i n k ”>
<i c l a s s =” f a s fa −shopping−c a r t me−2”></i > Orders
</a>
<a h r e f =” u s e r s . php” c l a s s =”nav−l i n k ”>
<i c l a s s =” f a s fa −u s e r s me−2”></i > U s e r s
</a>
<a h r e f = ” . . / i n d e x . php” c l a s s =”nav−l i n k ” t a r g e t =” b l a n k ”>
</div>
</div>
<d i v c l a s s =”card−f o o t e r d−f l e x a l i g n −items−c e n t e r j u s t i f y −co nte nt −
between”>
<a h r e f =” p l a n t s . php” c l a s s =”t e x t −white t e x t −d e c o r a t i o n −none”>
View D e t a i l s </a>
<i c l a s s =” f a s fa −a n g l e −r i g h t ”></i >
</div>
</div>
</div>
<d i v c l a s s =”c o l −md−3 mb−4”>
<d i v c l a s s =”card bg−primary t e x t −white h−100”>
<d i v c l a s s =”card−body”>
<d i v c l a s s =”d−f l e x j u s t i f y −co nte nt −between a l i g n −items−c e n t e r ”>
<div>
<h6 c l a s s =”card− t i t l e ”>Total Orders </h6>
<h2 c l a s s =”mb−0”><?= $ o r d e r s c o u n t ?></h2>
</div>
<i c l a s s =” f a s fa −shopping−c a r t fa −2x”></i >
</div>
</div>
<d i v c l a s s =”card−f o o t e r d−f l e x a l i g n −items−c e n t e r j u s t i f y −co nte nt −
between”>
<a h r e f =” o r d e r s . php” c l a s s =”t e x t −white t e x t −d e c o r a t i o n −none”>View
D e t a i l s </a>
<i c l a s s =” f a s fa −a n g l e −r i g h t ”></i >
</div>
</div>
</div>
<d i v c l a s s =”c o l −md−3 mb−4”>
<d i v c l a s s =”card bg−warning t e x t −dark h−100”>
<d i v c l a s s =”card−body”>
<d i v c l a s s =”d−f l e x j u s t i f y −co nte nt −between a l i g n −items−c e n t e r ”>
<div>
<h6 c l a s s =”card− t i t l e ”>Pending Orders </h6>
<h2 c l a s s =”mb−0”><?= $ p e n d i n g o r d e r s ?></h2>
</div>
<i c l a s s =” f a s fa −c l o c k fa −2x”></i >
</div>
</div>
<d i v c l a s s =”card−f o o t e r d−f l e x a l i g n −items−c e n t e r j u s t i f y −co nte nt −
between”>
<a h r e f =” o r d e r s . php? s t a t u s=Pending ” c l a s s =”t e x t −dark t e x t −d e c o r a t i o n −
none”> View D e t a i l s </a>
<i c l a s s =” f a s fa −a n g l e −r i g h t ”></i >
</div>
</div>
</div>
<d i v c l a s s =”c o l −md−3 mb−4”>
<d i v c l a s s =”card bg−i n f o t e x t −white h−100”>
<d i v c l a s s =”card−body”>
<d i v c l a s s =”d−f l e x j u s t i f y −co nte nt −between a l i g n −items−c e n t e r ”>
<div>
<h6 c l a s s =”card− t i t l e ”> R e g i s t e r e d Users </h6>
<h2 c l a s s =”mb−0”><?= $ u s e r s c o u n t ?></h2>
</div>
<i c l a s s =” f a s fa −u s e r s fa −2x”></i >
</div>
</div>
<d i v c l a s s =”card−f o o t e r d−f l e x a l i g n −items−c e n t e r j u s t i f y −c o n t e n t
−between”>
<a h r e f =” u s e r s . php” c l a s s =”t e x t −white t e x t −d e c o r a t i o n −none”>View D e t a i l s
</a>
<i c l a s s =” f a s fa −a n g l e −r i g h t ”></i >
</div>
</div>
</div>
</div>
?>
<t r >
<td>#<?= $ o r d e r [ ’ id ’ ] ?></td>
<td><?= h t m l s p e c i a l c h a r s ( $ o r d e r [ ’ name ’ ] ) ?></td>
<td> <?= number format ( $ o r d e r [ ’ t o t a l a m o u n t ’ ] , 2 ) ?></td>
<td>
<?php i f ( $ o r d e r [ ’ s t a t u s ’ ] == ’ Pending ’ ) : ?>
<span c l a s s =”badge bg−warning t e x t −dark”>Pending </span>
<?php e l s e i f ( $ o r d e r [ ’ s t a t u s ’ ] == ’ Shipped ’ ) : ?>
<span c l a s s =”badge bg−primary”>Shipped </span>
<?php e l s e : ?>
<span c l a s s =”badge bg−s u c c e s s ”> D e l i v e r e d </span>
<?php e n d i f ; ?>
</td>
<td><?= date ( ’ d M Y’ , s t r t o t i m e ( $ o r d e r [ ’ c r e a t e d a t ’ ] ) ) ?></td>
<td>
<a h r e f =” o r d e r d e t a i l s . php? i d=<?= $ o r d e r [ ’ id ’ ] ?>” c l a s s =”btn
btn−sm btn−o u t l i n e −
primary”>View</a>
</td>
</t r >
<?php
endwhile ; e l s e :
?>
<t r >
<td c o l s p a n =”6” c l a s s =”t e x t −c e n t e r ”>No o r d e r s found </td>
</t r >
<?php e n d i f ; ?>
</tbody>
</t a b l e >
</div>
</div>
</div>
</div>
</div>
</div>
<!−− B o o t s t r a p JS Bundle with Popper −−>
< s c r i p t s r c =” h t t p s : / / cdn . j s d e l i v r . n e t /npm/ bootstrap@5 .3.0 −
al ph a1 / d i s t / j s / b o o t s t r a p . bundle . min . j s ”></ s c r i p t >
</body>
</html>
5.0.9 Login
<?php s e s s i o n s t a r t ( ) ;
// Check i f admin i s l o g g e d i n
i f ( ! i s s e t ( $ SESSION [ ’ admin id ’ ] ) ) { header ( ’ L o c a t i o n : l o g i n . php ’ ) ;
exit ;
}
// I n c l u d e d a t a b a s e c o n n e c t i o n
$conn = r e q u i r e o n c e ’ . . / c o n f i g / d b c o n n e c t . php ’ ;
// Get c o u n t s f o r dashboard
$ p l a n t s c o u n t = $conn−>query ( ”SELECT COUNT( ∗ ) as count FROM p l a n t s ”)−>
f e t c h a s s o c ( ) [ ’ count ’ ] ;
$ o r d e r s c o u n t = $conn−>query ( ”SELECT COUNT( ∗ ) as count FROM o r d e r s ”)−>
f e t c h a s s o c ( ) [ ’ count ’ ] ;
$ p e n d i n g o r d e r s = $conn−>query ( ”SELECT COUNT( ∗ ) as count FROM o r d e r s
WHERE s t a t u s = ’ Pending ’”)−> f e t c h a s s o c ( ) [ ’ count ’ ] ;
$ u s e r s c o u n t = $conn−>query ( ”SELECT COUNT( ∗ ) as count FROM u s e r s WHERE
is admin = 0”)−> f e t c h a s s o c ( ) [ ’ count ’ ] ;
?>
<!DOCTYPE html>
<html l a n g=”en”>
<head>
<meta c h a r s e t =”UTF−8”>
<meta name=”v i e w p o r t ” c o n t e n t=”width=d e v i c e −width , i n i t i a l −s c a l e =1.0”>
< t i t l e >Admin Dashboard − Nursery Mall </ t i t l e >
<l i n k r e l =” s t y l e s h e e t ” h r e f = ” . . / a s s e t s / c s s / s t y l e . c s s ”>
<!−− B o o t s t r a p CSS −−>
<l i n k h r e f =” h t t p s : / / cdn . j s d e l i v r . ne t /npm/ bootstrap@5 .3.0 − alpha1 / d i s t
/ c s s / b o o t s t r a p . min . c s s ” r e l =” s t y l e s h e e t ”>
<!−− Font Awesome f o r i c o n s −−>
<l i n k r e l =” s t y l e s h e e t ” h r e f =” h t t p s : / / c d n j s . c l o u d f l a r e . com/ a j a x / l i b s /
</div>
</div>
<d i v c l a s s =”c o l −md−3 mb−4”>
<d i v c l a s s =”card bg−primary t e x t −white h−100”>
<d i v c l a s s =”card−body”>
<d i v c l a s s =”d−f l e x j u s t i f y −co nte nt −between a l i g n −items−c e n t e r ”>
<div>
<h6 c l a s s =”card− t i t l e ”>Total Orders </h6>
<h2 c l a s s =”mb−0”><?= $ o r d e r s c o u n t ?></h2>
</div>
<i c l a s s =” f a s fa −shopping−c a r t fa −2x”></i >
</div>
</div>
<d i v c l a s s =”card−f o o t e r d−f l e x a l i g n −items−c e n t e r j u s t i f y −c o n t e n t
−between”>
<a h r e f =” o r d e r s . php” c l a s s =”t e x t −white t e x t −d e c o r a t i o n −none”>
View D e t a i l s </a>
<i c l a s s =” f a s fa −a n g l e −r i g h t ”></i >
</div>
</div>
</div>
<d i v c l a s s =”c o l −md−3 mb−4”>
<d i v c l a s s =”card bg−warning t e x t −dark h−100”>
<d i v c l a s s =”card−body”>
<d i v c l a s s =”d−f l e x j u s t i f y −co nte nt −between a l i g n −items−c e n t e r ”>
<div>
<h6 c l a s s =”card− t i t l e ”>Pending Orders </h6>
<h2 c l a s s =”mb−0”><?= $ p e n d i n g o r d e r s ?></h2>
</div>
<i c l a s s =” f a s fa −c l o c k fa −2x”></i >
</div>
</div>
<d i v c l a s s =”card−f o o t e r d−f l e x a l i g n −items−c e n t e r j u s t i f y −c o n t e n t
−between”>
<a h r e f =” o r d e r s . php? s t a t u s=Pending ” c l a s s =”t e x t −dark t e x t −d e c o r a t i o n −
none”>View
<i c l a s s =” f a s fa −a n g l e −r i g h t ”></i >
</div>
</div>
</div>
<d i v c l a s s =”c o l −md−3 mb−4”>
<d i v c l a s s =”card bg−i n f o t e x t −white h−100”>
<d i v c l a s s =”card−body”>
<d i v c l a s s =”d−f l e x j u s t i f y −co nte nt −between a l i g n −items−c e n t e r ”>
<div>
<h6 c l a s s =”card− t i t l e ”> R e g i s t e r e d Users </h6>
<h2 c l a s s =”mb−0”><?= $ u s e r s c o u n t ?></h2>
</div>
<i c l a s s =” f a s fa −u s e r s fa −2x”></i >
</div>
</div>
<d i v c l a s s =”card−f o o t e r d−f l e x a l i g n −items−c e n t e r j u s t i f y −c o n t e n t
−between”>
a h r e f =” u s e r s . php” c l a s s =”t e x t −white t e x t −d e c o r a t i o n −none”>View
D e t a i l s </a>
<i c l a s s =” f a s fa −a n g l e −r i g h t ”></i >
</div>
</div>
</div>
</div>
<!−− Recent Orders −−>
<d i v c l a s s =”card mb−4”>
<d i v c l a s s =”card−header”>
<i c l a s s =” f a s fa −t a b l e me−1”></i > Recent Orders
</div>
<d i v c l a s s =”card−body”>
<d i v c l a s s =”t a b l e −r e s p o n s i v e ”>
<t a b l e c l a s s =” t a b l e t a b l e −s t r i p e d t a b l e −hover”>
<thead>
<t r >
<th>Order ID</th>
<th>Customer</th>
<th>Amount</th>
<th>S t atus </th>
<th>Date</th>
<th>Action </th>
</t r >
</thead>
<tbody>
<?php
$ r e c e n t o r d e r s = $conn−>query ( ”SELECT ∗ FROM o r d e r s ORDER BY c r e a t e d a t
DESC LIMIT 5 ” ) ;
i f ( $ r e c e n t o r d e r s −>num rows > 0 ) :
w h i l e ( $ o r d e r = $ r e c e n t o r d e r s −>f e t c h a s s o c ( ) ) :
?>
<t r >
<td>#<?= $ o r d e r [ ’ id ’ ] ?></td>
<td><?= h t m l s p e c i a l c h a r s ( $ o r d e r [ ’ name ’ ] ) ?></td>
<td> <?= number format ( $ o r d e r [ ’ t o t a l a m o u n t ’ ] , 2 ) ?></td>
<td>
<?php i f ( $ o r d e r [ ’ s t a t u s ’ ] == ’ Pending ’ ) : ?>
<span c l a s s =”badge bg−warning t e x t −dark”>Pending </span>
<?php e l s e i f ( $ o r d e r [ ’ s t a t u s ’ ] == ’ Shipped ’ ) : ?>
5.0.10 Register
<?php s e s s i o n s t a r t ( ) ;
// I n c l u d e d a t a b a s e c o n n e c t i o n
$conn = r e q u i r e o n c e ’ c o n f i g / d b c o n n e c t . php ’ ;
// Check i f a l r e a d y l o g g e d i n
i f ( i s s e t ( $ SESSION [ ’ u s e r i d ’ ] ) ) { header ( ’ L o c a t i o n : i n d e x . php ’ ) ; e x i t ;
}
$name = ’ ’ ;
$email = ’ ’ ;
$password = ’ ’ ;
$confirm password = ’ ’ ;
$address = ’ ’ ;
$phone = ’ ’ ;
$errors = [ ] ;
$success = f a l s e ;
// P r o c e s s r e g i s t r a t i o n form
i f ($ SERVER [ ’REQUEST METHOD’ ] == ’POST’ ) {
// Get form data
$name = trim ( $ POST [ ’ name ’ ] ) ;
$ e m a i l = trim ( $ POST [ ’ email ’ ] ) ;
$password = $ POST [ ’ password ’ ] ;
$ c o n f i r m p a s s w o r d = $ POST [ ’ c o n f i r m p a s s w o r d ’ ] ;
$ a d d r e s s = trim ( $ POST [ ’ a d d r e s s ’ ] ) ;
$phone = trim ( $ POST [ ’ phone ’ ] ) ;
// V a l i d a t e form data i f ( empty ( $name ) ) {
$ e r r o r s [ ] = ’Name i s r e q u i r e d ’ ;
}
i f ( empty ( $ e m a i l ) ) {
$ e r r o r s [ ] = ’ Email i s r e q u i r e d ’ ;
} e l s e i f ( ! f i l t e r v a r ( $email , FILTER VALIDATE EMAIL ) ) {
$ e r r o r s [ ] = ’ I n v a l i d e m a i l format ’ ;
} else {
// Check i f e m a i l a l r e a d y e x i s t s
$stmt = $conn−>p r e p a r e ( ”SELECT i d FROM u s e r s WHERE e m a i l = ? ” ) ;
$stmt−>bind param ( ” s ” , $ e m a i l ) ;
$stmt−>e x e c u t e ( ) ;
$ r e s u l t = $stmt−>g e t r e s u l t ( ) ;
i f ( $ r e s u l t −>num rows > 0 ) {
$ e r r o r s [ ] = ’ Email a l r e a d y e x i s t s ’ ;
}
}
i f ( empty ( $password ) ) {
$ e r r o r s [ ] = ’ Password i s r e q u i r e d ’ ;
} e l s e i f ( s t r l e n ( $password ) < 6 ) { Nursery Mall
$ e r r o r s [ ] = ’ Password must be a t l e a s t 6 c h a r a c t e r s ’ ;
}
i f ( $password !== $ c o n f i r m p a s s w o r d ) {
$ e r r o r s [ ] = ’ Passwords do not match ’ ;
}
i f ( empty ( $ a d d r e s s ) ) {
$ e r r o r s [ ] = ’ Address i s r e q u i r e d ’ ;
}
i f ( empty ( $phone ) ) {
$ e r r o r s [ ] = ’ Phone number i s r e q u i r e d ’ ;
}
// I f no e r r o r s , r e g i s t e r t he u s e r i f ( empty ( $ e r r o r s ) ) {
// Hash t h e password
$has hed password = password hash ( $password , PASSWORD DEFAULT) ;
// I n s e r t u s e r i n t o d a t a b a s e
$stmt = $conn−>p r e p a r e ( ”INSERT INTO u s e r s ( name , email , password ,
a d d r e s s , phone ) VALUES ( ? , ? , ? , ? , ? ) ” ) ;
<body>
<!−− Header / N a v i g a t i o n −−>
<nav c l a s s =”navbar navbar−expand−l g navbar−dark bg−s u c c e s s ”>
<d i v c l a s s =” c o n t a i n e r ”>
<a c l a s s =”navbar−brand ” h r e f =”i n d e x . php”>Nursery Mall </a>
<button c l a s s =”navbar−t o g g l e r ” type=”button ” data−bs−t o g g l e =” c o l l a p s e ”
data−bs− t a r g e t=”#navbarNav”>
<span c l a s s =”navbar−t o g g l e r −i c o n ”></span>
</button>
<d i v c l a s s =” c o l l a p s e navbar−c o l l a p s e ” i d =”navbarNav”>
<u l c l a s s =”navbar−nav ms−auto”>
< l i c l a s s =”nav−item”>
<a c l a s s =”nav−l i n k ” h r e f =”i n d e x . php”>Home</a>
</ l i >
< l i c l a s s =”nav−item”>
<a c l a s s =”nav−l i n k ” h r e f =” c a r t . php”>
<i c l a s s =” f a s fa −shopping−c a r t ”></i > Cart
</a>
</ l i >
</ul>
</div>
</div>
</nav>
<!−− R e g i s t r a t i o n Form S e c t i o n −−>
<d i v c l a s s =” c o n t a i n e r py−5”>
<d i v c l a s s =”row j u s t i f y −co nte nt −c e n t e r ”>
<d i v c l a s s =”c o l −md−8”>
<d i v c l a s s =”card shadow”>
<d i v c l a s s =”card−header bg−s u c c e s s t e x t −white”>
<h4 c l a s s =”mb−0”>Create an Account</h4>
</div>
<d i v c l a s s =”card−body”>
<?php i f ( $ s u c c e s s ) : ?>
<d i v c l a s s =” a l e r t a l e r t −s u c c e s s ”> R e g i s t r a t i o n s u c c e s s f u l ! You can now
<a h r e f =” l o g i n . php” c l a s s =” a l e r t −l i n k ”> l o g i n </a>.</div>
<?php e n d i f ; ?
<?php i f ( ! empty ( $ e r r o r s ) ) : ?>
<d i v c l a s s =” a l e r t a l e r t −danger”>
<u l c l a s s =”mb−0”>
<?php f o r e a c h ( $ e r r o r s as $ e r r o r ) : ?>
<l i ><?= $ e r r o r ?></ l i >
<?php e n d f o r e a c h ; ?>
</ul>
</div>
<?php e n d i f ; ?>
<?php i f ( ! $ s u c c e s s ) : ?>
<form method=”POST” a c t i o n =” r e g i s t e r . php”>
<d i v c l a s s =”row mb−3”>
<d i v c l a s s =”c o l −md−6”>
<l a b e l f o r =”name” c l a s s =”form−l a b e l ”> F u l l Name</ l a b e l >
<i n p u t type=” t e x t ” c l a s s =”form−c o n t r o l ” i d =”name” name=”name”
v a l u e=”<?= h t m l s p e c i a l c h a r s ( $name ) ?>” r e q u i r e d >
</div>
<d i v c l a s s =”c o l −md−6”>
<l a b e l f o r =”e m a i l ” c l a s s =”form−l a b e l ”>Email Address </ l a b e l >
<i n p u t type=”e m a i l ” c l a s s =”form−c o n t r o l ” i d =”e m a i l ” name=”e m a i l ”
v a l u e=”<?= h t m l s p e c i a l c h a r s ( $ e m a i l ) ?>” r e q u i r e d >
</div>
</div>
<d i v c l a s s =”row mb−3”>
<d i v c l a s s =”c o l −md−6”>
<l a b e l f o r =”password ” c l a s s =”form−l a b e l ”>Password </ l a b e l >
</div>
</div>
</div>
</div>
<!−− F o o t e r −−>
<f o o t e r c l a s s =”bg−dark t e x t −white py−4 mt−5”>
<d i v c l a s s =” c o n t a i n e r ”>
<d i v c l a s s =”row”>
<d i v c l a s s =”c o l −md−6”>
<h5>Nursery Mall </h5>
<p>Your one−s t o p shop f o r a l l k i n d s o f p l a n t s </p>
</div>
<d i v c l a s s =”c o l −md−6 t e x t −md−end”>
<p>© ; 2023 Nursery Mall . A l l r i g h t s r e s e r v e d .</p>
</div>
</div>
</div>
</ f o o t e r >
<!−− B o o t s t r a p JS Bundle with Popper −−>
< s c r i p t s r c =” h t t p s : / / cdn . j s d e l i v r . n e t /npm/ bootstrap@5 .3.0 − al pha1 / d i s t / j s / b
j s ”></ s c r i p t >
</body>
</html>
5.0.11 Order
<?php
// I n c l u d e d a t a b a s e c o n n e c t i o n
$conn = r e q u i r e o n c e ’ c o n f i g / d b c o n n e c t . php ’ ;
// Check i f u s e r i s l o g g e d i n s e s s i o n s t a r t ( ) ;
i f ( ! i s s e t ( $ SESSION [ ’ u s e r i d ’ ] ) ) { header ( ’ L o c a t i o n : l o g i n . php ’ ) ; e x i t ;
}
$ u s e r i d = $ SESSION [ ’ u s e r i d ’ ] ;
// Fetch u s er ’ s o r d e r s
$stmt = $conn−>p r e p a r e ( ”SELECT ∗ FROM o r d e r s WHERE u s e r i d = ? ORDER
BY c r e a t e d a t DESC” ) ;
$stmt−>bind param ( ” i ” , $ u s e r i d ) ;
$stmt−>e x e c u t e ( ) ;
$ r e s u l t = $stmt−>g e t r e s u l t ( ) ;
$orders = [ ] ;
w h i l e ( $row = $ r e s u l t −>f e t c h a s s o c ( ) ) {
$ o r d e r s [ ] = $row ;
}
?>
<!DOCTYPE html>
<html l a n g=”en”>
<head>
<meta c h a r s e t =”UTF−8”>
<meta name=”v i e w p o r t ” c o n t e n t=”width=d e v i c e −width , i n i t i a l −s c a l e =1.0”>
< t i t l e >My Orders − AgriMart </ t i t l e >
<l i n k h r e f =” h t t p s : / / cdn . j s d e l i v r . ne t /npm/ bootstrap@5 .3.0 − alpha1 / d i s t
/ c s s / b o o t s t r a p . min . c s s ” r e l =” s t y l e s h e e t ”>
<l i n k r e l =” s t y l e s h e e t ” h r e f =” h t t p s : / / c d n j s . c l o u d f l a r e . com/ a j a x / l i b s / f o n t −
awesome / 6 . 0 . 0 / c s s / a l l . min . c s s ”>
<l i n k r e l =” s t y l e s h e e t ” h r e f =” a s s e t s / c s s / s t y l e . c s s ”>
</head>
<body>
<!−− N a v i g a t i o n −−>
<nav c l a s s =”navbar navbar−expand−l g navbar−dark bg−s u c c e s s ”>
<d i v c l a s s =” c o n t a i n e r ”>
<a c l a s s =”navbar−brand ” h r e f =”i n d e x . php”>AgriMart </a> Nursery Mall
<button c l a s s =”navbar−t o g g l e r ” type=”button ” data−bs−t o g g l e =” c o l l a p s e ”
data−bs− t a r g e t=”#navbarNav”>
<span c l a s s =”navbar−t o g g l e r −i c o n ”></span>
</button>
<d i v c l a s s =” c o l l a p s e navbar−c o l l a p s e ” i d =”navbarNav”>
<u l c l a s s =”navbar−nav me−auto”>
< l i c l a s s =”nav−item”>
<a c l a s s =”nav−l i n k ” h r e f =”i n d e x . php”>Home</a>
</ l i >
< l i c l a s s =”nav−item”>
<a c l a s s =”nav−l i n k ” h r e f =”about . html”>About</a>
</ l i >
< l i c l a s s =”nav−item”>
<a c l a s s =”nav−l i n k ” h r e f =” c o n t a c t . php”>Contact </a>
</ l i >
</ul>
<u l c l a s s =”navbar−nav ms−auto”>
< l i c l a s s =”nav−item”>
<a c l a s s =”nav−l i n k ” h r e f =” c a r t . php”>
<i c l a s s =” f a s fa −shopping−c a r t ”></i > Cart
<?php
i f ( i s s e t ( $ SESSION [ ’ c a r t ’ ] ) && count ( $ SESSION [ ’ c a r t ’ ] ) > 0 ) { echo
’< span c l a s s =”badge bg−danger ”>’ . count ( $ SESSION [ ’ c a r t ’ ] ) .
’</ span > ’;
}
?>
</a>
</ l i >
<?php i f ( i s s e t ( $ SESSION [ ’ u s e r i d ’ ] ) ) : ?>
< l i c l a s s =”nav−item dropdown”>
<a c l a s s =”nav−l i n k dropdown−t o g g l e ” h r e f =”#” i d =”navbarDropdown ”
r o l e =”button ” data−bs−t o g g l e =”dropdown”>
<i c l a s s =” f a s fa −u s e r ”></i > <?= h t m l s p e c i a l c h a r s ( $ SESSION
[ ’ user name ’ ] ) ?>
</a>
<u l c l a s s =”dropdown−menu dropdown−menu−end”>
<l i ><a c l a s s =”dropdown−item ” h r e f =” p r o f i l e . php”>My P r o f i l e </a></ l i >
<l i ><a c l a s s =”dropdown−item a c t i v e ” h r e f =” o r d e r s . php”>My Orders </a></ l i >
<l i ><a c l a s s =”dropdown−item ” h r e f =”change password . php”>Change Password
</a></ l i >
<l i ><hr c l a s s =”dropdown−d i v i d e r ”></ l i >
<l i ><a c l a s s =”dropdown−item ” h r e f =” l o g o u t . php”>Logout </a></ l i >
</ul>
</ l i >
<?php e l s e : ?>
< l i c l a s s =”nav−item”>
<a c l a s s =”nav−l i n k ” h r e f =” l o g i n . php”>Login </a>
</ l i >
< l i c l a s s =”nav−item”>
<a c l a s s =”nav−l i n k ” h r e f =” r e g i s t e r . php”> R e g i s t e r </a>
</ l i >
<?php e n d i f ; ?>
</ul>
</div>
</div>
</nav>
w h i l e ( $item = $ i t e m s r e s u l t −>f e t c h a s s o c ( ) ) {
$ o r d e r i t e m s [ ] = $item ; }
?>
<d i v c l a s s =”t a b l e −r e s p o n s i v e ”>
<t a b l e c l a s s =” t a b l e t a b l e −hover”>
<thead><t r >
<th>Product </th>
<th>Name</th>
<th>P r i c e </th>
<th>Quantity </th>
<th>S u b t o t a l </th>
</t r ></thead>
<tbody>
<?php f o r e a c h ( $ o r d e r i t e m s as $item ) : ?>
<t r ><td>
<?php i f ( $item [ ’ image ’ ] ) : ?>
<img s r c =” a s s e t s / images/<?= h t m l s p e c i a l c h a r s ( $item [ ’ image ’ ] ) ?>”
a l t =”<?= h t m l s p e c i a l c h a r s ( $item [ ’ name ’ ] ) ?>” c l a s s =”img−thumbnail ”
s t y l e =”width : 50 px;” >
<?php e l s e : ?>
<d i v c l a s s =”bg−l i g h t t e x t −c e n t e r ” s t y l e =”width : 50 px ; h e i g h t :
50 px;” >No Image</div>
a v a i l a b l e ’ ) ?></td>
<?php e n d i f ; ?>
</td>
<td><?= h t m l s p e c i a l c h a r s ( $item [ ’ name ’ ] ?? ’ Product no l o n g e r
?></s t r o n g ></td>
<td> <?= number format ( $item [ ’ p r i c e ’ ] , 2 ) ?></td>
<td><?= $item [ ’ q u a n t i t y ’ ] ?></td>
<td> <?= number format ( $item [ ’ p r i c e ’ ] ∗ $item [ ’ q u a n t i t y ’ ] , 2 ) ?></td>
</t r >
<?php e n d f o r e a c h ; ?>
</tbody>
<t f o o t >
<t r >
<td c o l s p a n =”4” c l a s s =”t e x t −end”><s t r o n g >Total :</ s t r o n g ></td>
<td><s t r o n g > <?= number format ( $ o r d e r [ ’ t o t a l a m o u n t ’ ] ,
</t r >
</ t f o o t >
</t a b l e >
</div>
<d i v c l a s s =”mt−3”>
<h6>S h i p p i n g D e t a i l s :</h6>
<p c l a s s =”mb−1”><s t r o n g >Name:</ s t r o n g > <?= h t m l s p e c i a l c h a r s
( $ o r d e r [ ’ name ’ ] ) ?></p> Nursery Mall
<p c l a s s =”mb−1”><s t r o n g >Address :</ s t r o n g > <?= h t m l s p e c i a l c h a r s
( $ o r d e r [ ’ a d d r e s s ’ ] ) ?></p>
<p c l a s s =”mb−0”><s t r o n g >Phone:</ s t r o n g > <?= h t m l s p e c i a l c h a r s
( $ o r d e r [ ’ phone ’ ] ) ?></p>
</div ></div>
</div ></div>
<?php e n d f o r e a c h ; ?>
</div>
<?php e l s e : ?>
<d i v c l a s s =” a l e r t a l e r t −i n f o ”>
<p c l a s s =”mb−0”>You haven ’ t p l a c e d any o r d e r s y e t . <a h r e f =”i n d e x . php”
>Continue shopping </a></p></div>
<?php e n d i f ; ?> </div>
<!−− F o o t e r −−>
<f o o t e r c l a s s =”bg−dark t e x t −white py−4 mt−5”>
<d i v c l a s s =” c o n t a i n e r ”>
<d i v c l a s s =”row”>
box−shadow : 0 10 px 20 px rgba ( 0 , 0 , 0 , 0 . 1 ) ;
}
. p l a n t −image−c o n t a i n e r {
h e i g h t : 200 px ;
o v e r f l o w : hidden ;
display : flex ;
a l i g n −i t e m s : c e n t e r ;
j u s t i f y −c o n t e n t : c e n t e r ;
background−c o l o r : #f 8 f 9 f a ;
}
. p l a n t −image−c o n t a i n e r img {
max−h e i g h t : 100%;
object −f i t : cover ;
}
. card− t i t l e {
f o n t −weight : 6 0 0 ;
margin−bottom : 10 px ;
}
. price {
f o n t −weight : bold ;
f o n t −s i z e : 1 . 2 rem ;
c o l o r : #28a745 ;
}
/∗ F e a t u r e Boxes ∗/
. f e a t u r e −box {
padding : 20 px ;
border −r a d i u s : 10 px ;
background−c o l o r : white ;
box−shadow : 0 5px 15 px rgba ( 0 , 0 , 0 , 0 . 0 5 ) ;
h e i g h t : 100%;
t r a n s i t i o n : transform 0.3 s ;
}
. f e a t u r e −box : hover {
t r a n s f o r m : t r a n s l a t e Y (−5px ) ;
}
/∗ F o o t e r ∗/
footer a {
t e x t −d e c o r a t i o n : none ;
transition : color 0.3 s ;
}
f o o t e r a : hover {
c o l o r : #28a745 ! important ;
}
/∗ Cart Page ∗/
. c a r t −item {
border −bottom : 1px s o l i d #e e e ;
padding : 15 px 0 ;
}
. c a r t −item img {
max−width : 80 px ;
max−h e i g h t : 80 px ;
object −f i t : cover ;
}
. c a r t −summary {
background−c o l o r : #f 8 f 9 f a ;
padding : 20 px ;
border −r a d i u s : 10 px ;
}S
/∗ Login / R e g i s t e r Forms ∗/
. auth−form {
max−width : 5 0 0 px ;
margin : 0 auto ;
padding : 30 px ;
background−c o l o r : white ;
border −r a d i u s : 10 px ;
box−shadow : 0 5px 15 px rgba ( 0 , 0 , 0 , 0 . 0 5 ) ;
}
/∗ Admin Dashboard ∗/
. admin−s i d e b a r {
background−c o l o r : #343a40 ;
c o l o r : white ;
min−h e i g h t : c a l c (100 vh − 56 px ) ;
}
admin−s i d e b a r . nav−l i n k { c o l o r : rgba ( 2 5 5 , 2 5 5 , 2 5 5 , 0 . 8 ) ;
padding : 10 px 20 px ;
border −r a d i u s : 5px ;
margin : 5px 0 ;
}
. admin−s i d e b a r . nav−l i n k : hover ,
. admin−s i d e b a r . nav−l i n k . a c t i v e {
background−c o l o r : #28a745 ;
c o l o r : white ;
}
. admin−c o n t e n t {
padding : 20 px ;
}
/∗ R e s p o n s i v e Adjustments ∗/
@media (max−width : 768 px ) {
. hero−s e c t i o n {
padding : 40 px 0 ;
}
. hero−s e c t i o n h1 {
f o n t −s i z e : 2rem ;
}
. p l a n t −image−c o n t a i n e r {
h e i g h t : 150 px ;
}
}
RESULT/OUTPUT
51
COMPREHENSIVE PLANT NURSERY MANAGEMENT SYSTEM WITH E-COMMERCE
INTEGRATION
6.0.10 Applications
2. Home and Office Décor: Enhancing indoor aesthetics with decorative and air-
purifying plants. Promoting a healthier living and working environment by im-
proving air quality. Offering low-maintenance plant options suitable for offices
and homes.
4. Nursery and Wholesale Plant Sellers : A digital platform for nurseries and
plant sellers to expand their reach and customer base. Facilitating bulk plant sales
SYSTEM REQUIREMENT
1. Windows 11
2. Visual Studio
3. Xampp
1. Processor-i3
3. Memory-16GB RAM
58
Chapter 8
CONCLUSION, LIMITATION
AND FUTURE SCOPE
8.0.1 Conclusion
1. Nursery Mall aims to transform the traditional plant shopping experience by pro-
viding a user-friendly and accessible online platform for plant lovers. With a
wide range of indoor and outdoor plants, detailed product information, secure
payment options, and doorstep delivery, the website ensures a seamless and con-
venient shopping experience.
3. By offering an organized and structured platform, Nursery Mall benefits not only
individual plant buyers but also nurseries, gardening enthusiasts, and eco- con-
scious individuals who want to contribute to a greener environment.
8.0.2 Limitation
59
COMPREHENSIVE PLANT NURSERY MANAGEMENT SYSTEM WITH E-COMMERCE
INTEGRATION
2. Delivery Constraints: Some locations may have limited delivery coverage, af-
fecting accessibility for all users.
4. Fragile Shipping : Plants are delicate and can be damaged during transporta-
tion if not handled properly.
5. Mobile App Development: Expand the platform to a mobile app for a more
accessible and engaging shopping experience
REFERENCE
1. Sharma, R., Mehta, A., Verma, P. (n.d.). The growing trend of online
plant sales:
A market analysis. This study explores the increasing popularity of online plant-selling
platforms and their impact on the traditional nursery business.
61
COMPREHENSIVE PLANT NURSERY MANAGEMENT SYSTEM WITH E-COMMERCE
INTEGRATION