Professional Documents
Culture Documents
Project Report
ON
Submitted to
G H RAISONI INSTITUTE OF ENGINEERING & TECHNOLOGY,
Nagpur
Submitted by
Shweta Choudhary
Isha Loharkar
(MCA I Year, Semester II)
Guided by
Prof Sandhya Dahake
(Asst. Professor, Dept. of Computer Application, GHRIET, Nagpur)
Session 2021-2022
G. H. Raisoni Institute of Engineering & Technology, Nagpur
Department of Computer Application
2021-22
CERTIFICATE
This is to certify that the project dissertation titled as “Clothes Shopping
Website” has been submitted by Shweta Choudhary and Isha Loharkar in partial
fulfillment for the requirement of the degree of Master in Computer Applications
(MCA). This is an original work carried out by them under the guidance of Prof
Sandhya Dahake and she have undergone the requisite hours of project work as
specified by GHRIET, Nagpur.
(External Examiner)
Date –
Place – Nagpur
G. H. Raisoni Institute of Engineering & Technology, Nagpur
Department of Computer Application
2021-22
ACKNOWLEDGEMENT
We wish to thank our project guide Prof Sandhya Dahake for her
supervision and guidance in the development of this project.
We also extend our gratitude to our Principal, Dr. Vivek Kapur and
Head of Department Prof. Sandhya Dahake for her support.
Isha Loharkar
Shweta Choudhary
MCA Dept, GHRIET,
Nagpur
4
INDEX
CHAPTE
R TITLE PAGE
NO.
NO.
INTRODUCTION
1.1 Problem Definition 5
1.2 Overview of the present working system 5
1. 1.3 Drawbacks of the present working system 6
1.4 Overview of proposed system 6
1.5 Advantages of the proposed system 7
1.6 Scope of proposed system 7
SYSTEM ANALYSIS
2.1 Identification of Need 8
2.2 Preliminary Investigation 8
2.3 Feasibility Study 9
Economic Feasibility 9
2. Operational Feasibility 9
Technical Feasibility 9
2.4 Project Planning 9
2.5 Software requirement 10
2.6 Entity Relationship Diagram 11
SYSTEM DESIGN (Whatever applicable)
3.1 Modularisation details 12
3.2 Database Design 13
16
3. 3.3 Data Dictionary
15
3.4 Data Flow Diagram 17
3.5 System Flowchart 19
9. REFERENCES 50
CHAPTER 1
INTRODUCTION
There are a lot of websites on internet whereby it offer a variety of product and services for
consumer can find and buy through online such as shoe, apparel, sun glasses and more Moreover,
the online also provides some of the services which is paying bill online, booking a transport ticket
and more. In this research, we are looking the problem addressed in this research which is the view
of online shopping by consumer.
However, there are several reason hinder in the consumer are involved in online shopping because
some of the consumer are not willing to take part in online purchased due to the valid reason because
there are worried about the quality of the product in online are not durable, moreover, there are not
confident.
This projects aims to develop an online shopping for customers with the goal so that it is very easy
to shop your loved things from an extensive number of online shopping sites available on the web.
With the help of this you can carry out an online shopping from your home. Here is no compelling
reason to go to the crowed stores or shopping centers during festival seasons. You simpy require a
PC or a laptop and one important payment sending option to shop online.To get to this online
shopping system all the customers will need to have an email and password to login and proceed
your shopping.
The current system for shopping is to visit the shop manually and from the available product
choose the item customer want and buying the item by payment of the price of the item. There are
large numbers of commercial Online Shopping websites offering large number of products tailored
6
To meet the shopping interests of large number of customers. These online marketplaces have
thousands of products listed under various categories.
The basic problems with the existing systems are the non-interactive environment they provide to
the users.
The use of traditional user interfaces which make continuous post backs to the server; each post
back makes a call to the server, gets the response and then refreshes the entire web form to display
the result. This scenario adds an extra trade off causing a delay in displaying the results
A search engine that would display the results without allowing the users to further filter the
results based on various parameters.
Use of traditional and non user friendly interfaces that are hard to use.
The motive of this Online Shopping Website is to allow the user to play with the search tool and
create different combinatorial search criterion to perform exhaustive search.
Making this website enabled gets rid of these unnecessary delays letting the user to perform
exhaustive search. The users of this website can easily feel the difference between the empowered
user interfaces vs. traditional user interfaces.
Provide Interactive interface through which a user can interact with different areas of website
easily.
A search engine that provides an easy and convenient way to search for products specific to their
needs. The search engine would list a set of products based on the search term and the user can
further filter the list based on various parameters.
Provide Drag and Drop feature thereby allowing the user to add products to or remove products
from the shopping cart by dragging the products in to or out of the shopping cart.
7
The current system can be extended to allow the users to create accounts and save products in to
wish list.
The users could subscribe for price alerts which would enable them to receive messages when
price for products fall below a particular level.
The current system is confined only to the shopping cart process. It can be extended to have an
easy to use check out process.
Users can have multiple shipping and billing information saved. During checkout they can use the
drag and drop feature to select shipping and billing information.
8
CHAPTER 2
SYSTEM ANALYSIS
As the goal of the application is ease of use and to provide an interactive interface, extensive
research has been done to gain an insight into the needs and behaviors of various users. The
working of the application is made convenient and easy to use for the end user
The user should be able to read the customer reviews for the product and the ratings provided.
They should be able to write their own reviews. They should be able to print out the specifications
for a product or email the product page to a friends etc. To increase the ease of use the user should
be able to add a product to the shopping cart by dragging a product and dropping it in the shopping
cart. A user should able to edit the contents of a shopping cart. They should be able to update the
quantities of the products added to the cart and remove the products from the cart. The user should
be able to remove the product from the shopping cart by dragging the product and dropping it
outside the cart.
While designing Clothing Shopping Website the essential step was to study primary requirements
of customer. Too much effort was done in this step. We personally interrogated with some the
shop owners to know their problem with the existing system. After collecting enough data we
started work on the system. Preliminary investigation in this project includes different finding
techniques.
We used short questionnaires, interview with the customer and the owner of the job.
We also did the onsite observation. We visited to the shops and saw the factors that will be require
in our project.
9
Economic Feasibility
The project is economically feasible as the only cost involved is having a computer with
the minimum requirements mentioned earlier. For the users to access the application, the only cost
involved will be in getting access to the Internet.
Operational Feasibility
This website is operationally feasible as the user can easily buy the clothes at home
instead of physically visiting the shop.
It provides the detailed information about the clothes.
The user can easily add product to the cart for purchasing the product.
Technical Feasibllity
This project is technically feasible as the languages that are required for making this
project is HTML, CSS and JS for frontend and PHP for backend.
HTML is a hypertext markup language which consists of basic tags and it is very convinent
language to build the frontend.
CSS and JS are used along with HTML to make the website more attractive.
While PHP is a hypertext preprossor language which helps us to built the logic very easily.
The project planning started before work on actual project begins and continues
throughout the life cycle of the project. The main goal of the project planning is to plan the time,
cost and resources needed for the project and thus minimize risk. The main output of the project
planning process is the project plan which includes the project schedule as well as various
supporting plans. So while making this project we decided the timeline that in how much time we
10
Will require to make this project. So the timeline was of 25 days. In first 5 days we will work on
the database section and the login module with forget password, sign up and reset password in
project. After that from day 6 to 10 we decided to work on admin module of the project where the
admin can easily add new products or can edit details where most of the difficulties were found.
After that from day 11 to 20 we worked on the the main module of the project that is the user
module where user can access or view products. This is the final module where we are going to
perform all the activities of the project. After that from day 21 to 23 we will work on the testing
section of the project where testing of all the modules will be done. If any problem will occur in
any of the module we will fix this problem in day number 24 to 25 and implement it.
Software:
Visual Code Editor
Xampp
Hardware:
Processor Intel core i3 Graphics 2GB
Ram 8 GB Screen 15.6inch
System type 64-bit operating system,
X64-based processor
11
CHAPTER 3
SYSTEM DESIGN
In this system, Users can register using personal details and user and login after it. User can
chose particular category of clothes with sub category and then user can add to cart the product
they want to buy and can purchase it. User can also wishlist the product they liked.
Modules
Admin
Login: Admin can login itself.
Manage Users: Admin can manage the users.
Manage Products: Admin can add, update and delete products.
Manage Order: Admin can manage the orders
Users
Register: User can register with the personal details.
Login: User can login with user id and password.
Order: User can place the order as much as they want.
Cart: User can add the products in the cart.
Wishlist: User can wishlist the product they want to save.
In front end interface we have first designed the front end and completed designing in
visual code with the help of html, css and javascript. In this website we have created two login
credentials .First is user login credential and another is admin login credentials. Administrators has
the authority to select, insert, update and delete the products and the user has the right to access it.
Stored Procedure
After creating the front end interfaces, we created the database with the help of insert,
update and delete query.
We can run it directly with the query.
We have created stored procedure inserting all the table with the value type.
Introduction
The goal of this is to design a Data Abstraction Layer (DAL) in PHP that will allow us to ignore
the intricacies of MySQL and focus our attention on our Application Layer and Business Logic.
Hopefully, by the end of this guide, you will have a working DAL and learn a little about PHP,
MySQL, and Object-Oriented design in the process.
Assumption
You know PHP and have is set up.
You know MySQL and have it set up.
You have a cursory knowledge of object-oriented methodologies.
You are not a smacktard.
A Data Dictionary is a collection of names, definitions, and attributes about data elements that are
being used or captured in a database, information system, or part of a research project. It describes
the meanings and purposes of data elements within the context of a project, and provides guidance
on interpretation, accepted meanings and representation. A Data Dictionary also provides metadata
about data elements. The metadata included in a Data Dictionary can assist in defining the scope
and characteristics of data elements, as well the rules for their usage and application.
Data Dictionary:
0 Level DFD
USER
1 Level DFD
18
ADMIN
1Level DFD
19
CHAPTER 4
CODING
index.php
<?php
session_start();
nclude('includes/config.php');
if(isset($_GET['action']) && $_GET['action']=="add"){
$id=intval($_GET['id']);
if(isset($_SESSION['cart'][$id])){
$_SESSION['cart'][$id]['quantity']++;
}else{
$sql_p="SELECT * FROM products WHERE id={$id}";
$query_p=mysqli_query($con,$sql_p);
if(mysqli_num_rows($query_p)!=0){
$row_p=mysqli_fetch_array($query_p);
$_SESSION['cart'][$row_p['id']]=array("quantity" => 1, "price" => $row_p['productPrice']);
}else{
$message="Product ID is invalid";
}
} `
echo "<script>alert('Product has been added to the cart')</script>";
echo "<script type='text/javascript'> document.location ='my-cart.php'; </script>";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Meta -->
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta name="description" content="">
<meta name="author" content="">
21
<html lang="en">
<head>
<link rel="stylesheet" href="assets/css/main.css">
<?php
echo htmlentities($_SESSION['errmsg']);
?>
<?php
echo htmlentities($_SESSION['errmsg']="");
?>
</span>
<div class="form-group">
<label class="info-title" for="exampleInputEmail1">Email Address <span>*</span></label>
<input type="email" name="email" class="form-control unicase-form-control text-input"
id="exampleInputEmail1" >
</div>
<div class="form-group">
<label class="info-title" for="exampleInputPassword1">Password <span>*</span></label>
<input type="password" name="password" class="form-control unicase-form-control text-input"
id="exampleInputPassword1" >
</div>
<div class="radio outer-xs">
<a href="forgot-password.php" class="forgot-password pull-right">Forgot your Password?</a>
</div>
<button type="submit" class="btn-upper btn btn-primary checkout-page-button"
name="login">Login</button>
</form>
</div>
<!-- create a new account -->
<div class="col-md-6 col-sm-6 create-new-account">
<h4 class="checkout-subtitle">create a new account</h4>
<p class="text title-tag-line">Create your own Shopping account.</p>
25
<div class="form-group">
<label class="info-title" for="contactno">Contact No. <span>*</span></label>
<input type="text" class="form-control unicase-form-control text-input" id="contactno"
name="contactno" maxlength="10" required >
</div>
<div class="form-group">
<label class="info-title" for="password">Password. <span>*</span></label>
<input type="password" class="form-control unicase-form-control text-input" id="password"
name="password" required >
</div>
<div class="form-group">
<label class="info-title" for="confirmpassword">Confirm Password. <span>*</span></label>
<input type="password" class="form-control unicase-form-control text-input"
id="confirmpassword" name="confirmpassword" required >
</div>
</form>
<span class="checkout-subtitle outer-top-xs">Sign Up Today And You'll Be Able To : </span>
<div class="checkbox">
<label class="checkbox">
Speed your way through the checkout.
</label>
<label class="checkbox">
Track your orders easily.
</label>
<label class="checkbox">
Keep a record of all your purchases.
</label>
</div>
</div>
<!-- create a new account --> </div><!-- /.row -->
</div>
</div>
<?php include('includes/footer.php');?>
<script src="assets/js/jquery-1.11.1.min.js"></script>
<?php
session_start();
include('includes/config.php');
if(strlen($_SESSION['login'])==0)
{
header('location:login.php');
}
else{
if(isset($_POST['update']))
{
$name=$_POST['name'];
$contactno=$_POST['contactno'];
$query=mysqli_query($con,"update users set name='$name',contactno='$contactno' where id='".
$_SESSION['id']."'");
27
if($query)
{
echo "<script>alert('Your info has been updated');</script>";
}
}
if(isset($_POST['submit']))
{
$sql=mysqli_query($con,"SELECT password FROM users where
password='".md5($_POST['cpass'])."' && id='".$_SESSION['id']."'");
$num=mysqli_fetch_array($sql);
if($num>0)
{
$con=mysqli_query($con,"update students set password='".md5($_POST['newpass'])."',
updationDate='$currentTime' where id='".$_SESSION['id']."'");
echo "<script>alert('Password Changed Successfully !!');</script>";
}
else
{
echo "<script>alert('Current Password not match !!');</script>";
}
}
?>
my-cart.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(isset($_POST['submit'])){
if(!empty($_SESSION['cart'])){
foreach($_POST['quantity'] as $key => $val){
if($val==0){
unset($_SESSION['cart'][$key]);
}else{
28
$_SESSION['cart'][$key]['quantity']=$val;
}
}
echo "<script>alert('Your Cart hasbeen Updated');</script>";
}
}
}?> <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My Cart</title>
<link rel="stylesheet" href="assets/css/main.css">
</head>
<body class="cnt-home">
<div class="container">
<div class="breadcrumb-inner">
<ul class="list-inline list-unstyled">
<li><a href="#">Home</a></li>
<li class='active'>Shopping Cart</li>
</ul> </div><!-- /.container -->
</div>
<div class="body-content outer-top-xs">
<div class="container">
<div class="row inner-bottom-sm">
<div class="shopping-cart">
<div class="col-md-12 col-sm-12 shopping-cart-table ">
<div class="table-responsive">
<form name="cart" method="post">
<?php
if(!empty($_SESSION['cart'])){
?>
29
</div>
</td>
</tr>
</tbody><!-- /tbody -->
</table><!-- /table -->
</div>
<!DOCTYPE html>
<html lang="en">
<head>
<title> The Fashion Gallery | Payment Method</title>
<body class="cnt-home">
<header class="header-style-1">
<?php include('includes/top-header.php');?>
<?php include('includes/main-header.php');?>
<?php include('includes/menu-bar.php');?>
</header>
<div class="breadcrumb">
<div class="container">
<div class="breadcrumb-inner">
<ul class="list-inline list-unstyled">
<li><a href="home.html">Home</a></li>
<li class='active'>Payment Method</li>
</ul>
</div> </div><!-- /.container -->
<div class="body-content outer-top-bd">
<div class="container">
<div class="checkout-box faq-page inner-bottom-sm">
<div class="row">
<div class="col-md-12">
31
$(window).bind("load", function() {
$('.show-theme-options').delay(2000).trigger('click');
});
</script>
</body>
</html>
<?php } ?> product-details.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(isset($_GET['action']) && $_GET['action']=="add"){
$id=intval($_GET['id']);
if(isset($_SESSION['cart'][$id])){
$_SESSION['cart'][$id]['quantity']++;
}else{
$sql_p="SELECT * FROM products WHERE id={$id}";
$query_p=mysqli_query($con,$sql_p);
if(mysqli_num_rows($query_p)!=0){
$row_p=mysqli_fetch_array($query_p);
$_SESSION['cart'][$row_p['id']]=array("quantity" => 1, "price" => $row_p['productPrice']);
echo "<script>alert('Product has been added to the cart')</script>";
echo "<script type='text/javascript'> document.location ='my-cart.php'; </script>";
}else{
$message="Product ID is invalid";
}
}
}
$pid=intval($_GET['pid']);
if(isset($_GET['pid']) && $_GET['action']=="wishlist" ){
if(strlen($_SESSION['login'])==0)
{
33
header('location:login.php');
}
else
{
mysqli_query($con,"insert into wishlist(userId,productId) values('".$_SESSION['id']."','$pid')");
echo "<script>alert('Product aaded in wishlist');</script>";
header('location:my-wishlist.php');
}
if(isset($_POST['submit']))
{
$qty=$_POST['quality'];
$price=$_POST['price'];
$value=$_POST['value'];
$name=$_POST['name'];
$summary=$_POST['summary'];
$review=$_POST['review'];
mysqli_query($con,"insert into productreviews(productId,quality,price,value,name,summary,review)
values('$pid','$qty','$price','$value','$name','$summary','$review')");
}?>
<!DOCTYPE html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Order Tracking Details</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="anuj.css" rel="stylesheet" type="text/css">
</head>
<body><div style="margin-left:50px;">
<form name="updateticket" id="updateticket" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
</tr>
<tr height="30">
<td class="fontkink1"><b>order Id:</b></td>
<td class="fontkink"><?php echo $oid;?></td>
34
</tr>
<?php
$ret = mysqli_query($con,"SELECT * FROM ordertrackhistory WHERE orderId='$oid'");
$num=mysqli_num_rows($ret);
if($num>0)
{
while($row=mysqli_fetch_array($ret))
{
?><?php } }
else{
?>
<tr>
<td colspan="2">Order Not Process Yet</td>
</tr>
<?php }
$st='Delivered';
$rt = mysqli_query($con,"SELECT * FROM orders WHERE id='$oid'");
while($num=mysqli_fetch_array($rt))
{
$currrentSt=$num['orderStatus'];
}
if($st==$currrentSt)
{ ?>
<tr><td colspan="2"><b>
Product Delivered successfully </b></td>
<?php }?>
</table>
</form>
</div>
</body>
</html>
35
CHAPTER 5
SYSTEM TESTING
In Online Clothing Website, program testing is being done on several phases like:
For login validation if user enters a wrong username or password it will show an error
message. If user leaves any of the field username or password blank it will show waiting
message.
For sign in code if users leave any of the field blank so program will not allow the user to
create a user in a system.
While sign up if user enter confirm password and password different so it will show a
warning message.
If user tries to enter existing user name so it will show a warning message that user already
exist.
For checkout if user does not enter shipping address it will show a warning message
Different modules used in this project has been tested individually here.Two modules are used in
this project. They are User and Admin.First the Admin module has been tested.
In Admin module there are four sub modules.They are as follows:
Login, Manage Users, Manage Products, Manage Orders .These four modules have been tested
individually
36
Login Module : The source code of the login was tested that everything written in it is error free
and it is running without any warning error.The logic behind the code is giving the correct output
or not is been also tested.
Manage Users: The source code of the manage users was tested that everything written in it is
error free and it is running without any warning error.The logic behind the code is giving the
correct output or not is been also tested.
Manage Products: The source code of the manage product was tested that everything written in it
is error free and it is running without any warning error.The logic behind the code is giving the
correct output or not is been also tested.
Manage Orders: The source code of the manage orders was tested that everything written in it is
error free and it is running without any warning error.The logic behind the code is giving the
correct output or not is been also tested.
In our project we have done integration testing in a bottom up fashion i.e. in this project we have
started construction and testing with atomic modules. After unit testing the modules are integrated
one by one and then tested the system for problems arising from component interaction.
User Module and Admin module has been integrated together and has been tested here.Ater
integrating them we have seen the errors that were coming when both were combined
together.The errors we were facing was recovered here and the testing was done and the modules
have been successfully integrated here.
Layout – Are navigations mechanism, content and function place in a manner that allows
Aesthetics – Do layout color, typeface and related characterstics lead to easy to use.
Display Characterstics – Does the website make optimal use of screen size and resolution.
Time Sensitivity – Can important features, functions and content be used in a timely
method.
When a user interacts with the Website, the interaction occurs through one or more interface
mechanisms.
Links – Each link is tested to ensure that the proper content object or function is reached. The web
engineer builds a list of all links associated with interface layout and then execute each individually.
Forms – At the microscopic level, tests are performed to ensure that the labels correctly identified
With The form and that mandatory fields are identified visually for the user.
Client side scripting – Black box tests are conducted to uncover any error in processing as the script
Is Executed. These test are coupled with forms testing because scripts input is often derived from
Data provided as part of form processing.
Dynamic HTML – Each web page that contain dynamic HTML is executes to ensure that the dynamic
Display is correct. In addition compatibility test should be conducted to ensure that the dynamic
HTML Is working properly in the environment.
After integrating the modules the system testing has been done where the system is properly
Working or not has been checked. These four factors has been tested thoroughly.
39
CHAPTER 6
INPUT\OUTPUT SCREENS AND REPORTS
Home page
40
41
User signup
Categories
42
Sub Category
Product Detail
43
Add to cart
Shopping Cart
44
Checkout
Payment detail
45
Order Placed
Admin login
46
Manage users
47
6.2 Reports
CHAPTER 7
48
This website is not been published as we have develop this website only for the learning
purpose that how the website is being developed and it is only for the education purpose.
A strong internet connection is required for accessing the website.
In this website if once the order is placed there is no option for the cancellation of the
order.
This website does not have features by which user can set price ranges for products and
receive alerts once the price reaches the particular range.
As this website is not published, it can be extended to the area like all over in Nagpur or all
over in Maharashtra.
As the system is scalable, more modules can be added as and when required.
The features that can be modified and added to this system in the future involve its
implementation by local shopkeepers, where shops will be providing an online interface to
customers for shopping and placing orders.
The current system can be extended to allow the users to create accounts and to review the
product and can be interactive.
The users could subscribe for price alerts which would enable them to receive messages
when price for products fall below a particular level.
49
CHAPTER 8
CONCLUSION
The ‘Clothing Shopping Website’ is designed to provide a web based application that
would make searching, viewing and selection of a product easier.
This Website has been built by using different technologies such as HTML which is known
as Hypertext Markup Language, CSS which is known as Cascading Style Sheets and JS
which is known as Javascript for the frontend development.
Another Technology that has been used is PHP which is Hypertext Preprocessor which was
used for developing logics and to built backend.
MyphpAdmin database is also used for storing the data of the website.
Different modules has been built such as user module and admin module.
The admin can manage the user and also add new products to the website.
The user can then view the complete specification of each product. They can also view the
product reviews.
This project reduces the workload of both the admin and the user and will be very useful
for the ecommerce.
CHAPTER 9
50
REFERENCES
Learn Dynamic Web Development And DBMS With HTML, CSS, PHP In Dreamweaver CS5
And CS6, MySQL And MS Access 2013 And 2016 (David Max (You?)|2018)
Head First PHP & MySQL – by Lynn Beighley & Michael Morrison.
Head First HTML and CSS: A Learner’s Guide to Creating Standards-Based Web Pages – by
Elisabeth Robson & Eric Freeman
A Smarter Way to Learn HTML & CSS: Learn it faster. Remember it longer – by Mark Myers
Get Coding!: Learn HTML, CSS & JavaScript & Build a Website, App & Game – by Young
Rewired State
HTML, CSS, and JavaScript All in One: Covering HTML5, CSS3, and ES6, Sams Teach
Yourself – by Julie C. Meloni and Jennifer Kyrin