Mshop (Working)
Mshop (Working)
A Project Report
Submitted in partial fulfilment of the Requirements for the award of the Degree of
Date: External
Examiner
College Seal
TABLE OF CONTENTS
1 Introduction
1.1 Background
1.2 Objectives
1.3 Purpose
1.4 Applicability
1.5 Achievements
2 Survey of Technologies
4 System Design
5.1 Gui
5.2 Database
5.3 Coding
6 Conclusion
List Of Figures
Sr No Figures Name Page No
6 System Flowchart
ABSTRACT
• The administrator has the ability to add, edit, and add or remove
products.
• The administrator has the ability to add, edit, and remove users.
PURPOSE
The goal of this project is to develop an online mobile shopping website.
This will be designed keeping in mind the conditions (easy to use,
feasibility and user friendly) stated above. It may help in effective and
efficient order management.
In every shot time, the collection will be obvious, simple and sensible. It is
very possible to observe the customer potentials and purchase patterns
because all the ordering history is store in the database. It is efficient
managing all the operations of an online store within a single platform.
2) They can search for their favourite product brandz on the search bar.
4) They can buy the products after finalizing what they want.
• For administrators/admins:
1) Administrators need to login using their id and password.
4) They can also track the number of orders and purchases made by the
customers.
APPLICABILITY
1) All internet platforms will be able to access the website, and any number
of users can register.
2) Once they have registered, anyone can purchase the various products.
3) Also, with computers and laptops, mobile devices people can access the
website.
ACHIEVEMENTS
1) For making this project I learnt HTML, Bootstrap CSS and SQL.
Python
Python is a widely used general-purpose, high level programming language. It was created
by Guido van Rossum in 1991 and further developed by the Python Software Foundation. It
was designed with an emphasis on code readability, and its syntax allows programmers to
express their concepts in fewer lines of code. Python is a programming language that lets
you work quickly and integrate systems more efficiently.
C++
Java
James Gosling created JAVA at Sun Microsystems Inc. in 1995, later acquired by
Oracle Corporation. The programming language is straightforward. It is simple to
write, compile, and debug with Java. It supports the development of modular
programs and reusable code. Java is an object-oriented, class-based programming
language that is intended to have a minimal amount of implementation
dependencies. a compiled general-purpose programming language designed for
developers to write once and run anywhere All platforms that support Java can run
Java code. To create byte code that can be executed on any Java Virtual Machine,
Java applications are compiled. Java's syntax is like that of C/C++.
For my project I have selected HTML, CSS, JavaScript, Bootstrap 5, Jquery, Ajax,
FontAwesome, Owl Carousel, and MYSQL. Programming language used is Python
with Django.
HTML
The HyperText Markup Language or HTML is the standard markup language for
documents designed to be displayed in a web browser. It can be assisted by
technologies such as Cascading Style Sheets (CSS) and scripting languages such as
JavaScript.
Web browsers receive HTML documents from a web server or from local storage and
render the documents into multimedia web pages. HTML describes the structure of a
web page semantically and originally included cues for the appearance of the
document.
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation of a document written in a markup language such as HTML or XML
(including XML dialects such as SVG, MathML or XHTML).[1] CSS is a cornerstone
technology of the World Wide Web, alongside HTML and JavaScript. CSS is designed to
enable the separation of presentation and content, including layout, colors, and fonts.
JavaScript
JavaScript, often abbreviated as JS, is a programming language that is one of the core
technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of
websites use JavaScript on the client side for webpage behavior, often incorporating
third-party libraries. All major web browsers have a dedicated JavaScript engine to
execute the code on users' devices
MSSQL
Microsoft SQL Server 2017 Express is a free, feature-rich editions of SQL Server that
is ideal for learning, developing, powering desktop, web & small server applications,
and for redistribution by ISVs.
Django
Bootstrap 5
jQuery
To elaborate, jQuery makes JavaScript programming for cross-browser use and the
traversal and manipulation of HTML documents, as well as DOM animations and
Ajax interactions, easier.
Ajax
The abbreviation "Ajax" stands for Asynchronous JavaScript and XML. Without
refreshing the web page, it is used to connect with the server, improving user
experience and speed.
FontAwesome
Millions of designers, developers, and content creators use the icon library
and toolkit known as Font Awesome on the Internet.
Owl Carousel
Owl Carousel is a responsive carousel slider that is simple to use, updatable, quick, free, and
has editable code. It is compatible with a wide range of widely used browsers and works
with the jQuery library. They can also be used with automatic looping, dragging and
dropping, and directional arrows.
REQUIREMENTS AND ANALYSIS
FEASIBILITY STUDY
The website's feasibility study is a crucial phase in the making process. A website
idea is put to the test in a feasibility study in terms of how well it would affect the
organization, be able to meet user needs, and make efficient use of resources. The
website's suitability is determined by a feasibility study.
3.1 Technical Feasibility
Economic Feasibility is about total cost incurred for the system. The programming
language required for the proposed project is Python. Frontend is HTML, CSS,
JavaScript and Backend is MSSQL. All are free and open to all.
3.6 REQUIREMENT GATHERING
FUNCTIONAL REQUIREMENTS:
NON-FUNCTIONAL REQUIREMENTS:
• Gantt charts are used to illustrate a project's tasks, their order, and an estimated
time frame for completion. They do not indicate priorities. The priority of the specific
activities you must do for the project to be successful is not indicated in the charts.
Team members might not comprehend those priorities as they ought to if such an
omission is made.
System Design
BASIC MODULE
COSTUMER MODULE:
This module's primary goal is to offer all customer-related functions. It keeps track of
all the customer data. This is a role-based module where customers can perform
each and every operation on data. The following are the features of the customer
module:
• Customer can view/search products without login.
• Customer can also add/remove product to cart without login (if customer try to
add same product in cart. It will add only one)
• When customer try to purchase product, then he/she must login to system.
• After creating account and login to system, he/she can place order.
• Customer can see the order status (Pending, Confirmed, Delivered) for each order.
ADMIN MODULE:
This module's primary goal is to provide all admin functions. It keeps track of all
the data and specifics about the products. These are the features of the admin
module:
• Admin can provide username, email, password and your admin account will be
created.
• After login, there is a dashboard where admin can see how many customers is
registered, how many products are there for sale, how many orders placed.
• Admin can change status of order (order is pending, confirmed, out for delivery,
delivered).
4.2. HARDWARE AND SOFTWARE REQUIREMENTS
HARDWARE REQUIREMENTS:
RAM: 4 GB
RAM TYPE: DDR4
RAM FREQUENCY: 2666 Hz
EXPANDABLE MEMORY: Upto 12GB
CLOCK SPEED: 1.2GHz with Turbo Boost Upto 3.4GHz
WORD SIZE: 64-bit
MONITOR: 15.6 inch
KEY BOARD: 101 keys
SOFTWARE SPECIFICATIONS:
For Customers
customer_id int(10) Primary Key
customer_ip varchar(255) NOT NULL
customer_fname text NOT NULL
customer_lname text NOT NULL
customer_email varchar(255) Unique Key
customer_pass varchar(255) NOT NULL
customer_passcode varchar(255) NOT NULL
customer_city text NOT NULL
customer_phone int(10) NOT NULL
customer_address varchar(255) NOT NULL
For Admins
admin_id int(10) Primary Key
admin_fname text NOT NULL
admin_lname text NOT NULL
admin_email varchar(255) Unique Key
admin_password varchar(255) NOT NULL
admin_address varchar(255) NOT NULL
admin_gender varchar(255) NOT NULL
admin_postcode varchar(255) NOT NULL
For Products
product_id int(10) Primary Key
product_catid int(10) Foreign Key
product_brandid int(10) Foreign Key
product_name varchar(255) NOT NULL
product_price int(10) NOT NULL
product_desc text NOT NULL
product_image text NOT NULL
For Orders
order_id int(10) Primary Key
p_id int(10) Foreign Key
c_id int(10) Foreign Key
quantity int(10) NOT NULL
invoice_no int(10) NOT NULL
status text NOT NULL
order_date date NOT NULL
For Carts
p_id int(10) Foreign Key
ip_add varchar(255) NOT NULL
quantity int(10) NOT NULL
For Brands
brand_id int(10) Primary Key
brand_name text NOT NULL
brand_desc text NOT NULL
For Categories
cat_id int(10) Primary Key
cat_name text NOT NULL
cat_desc text NOT NULL
GUI
CODING
LOGIN
<?php
include("function/login.php");
include("function/customer_signup.php");
?>
<!DOCTYPE html>
<html>
<head>
<title>Mshop</title>
<link rel="icon" href="img/logo.jpg" />
<link rel = "stylesheet" type = "text/css" href="css/style.css" media="all">
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<script src="js/bootstrap.js"></script>
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/carousel.js"></script>
<script src="js/button.js"></script>
<script src="js/dropdown.js"></script>
<script src="js/tab.js"></script>
<script src="js/tooltip.js"></script>
<script src="js/popover.js"></script>
<script src="js/collapse.js"></script>
<script src="js/modal.js"></script>
<script src="js/scrollspy.js"></script>
<script src="js/alert.js"></script>
<script src="js/transition.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<div id="header">
<img src="img/logo.jpg">
<label>Mshop</label>
<ul>
<li><a href="#signup" data-toggle="modal">Sign Up</a></li>
<li><a href="#login" data-toggle="modal">Login</a></li>
</ul>
</div>
<br>
<div id="container">
<div class="nav">
<ul>
<li><a href="index.php"> <i class="icon-home"></i>Home</a></li>
<li><a href="product.php"> <i class="icon-th-list"></i>Product</a></li>
<li><a href="aboutus.php"> <i class="icon-bookmark"></i>About Us</a></li>
<li><a href="contactus.php"><i class="icon-inbox"></i>Contact Us</a></li>
<li><a href="privacy.php"><i class="icon-info-sign"></i>Privacy Policy</a></li>
<li><a href="faqs.php"><i class="icon-question-sign"></i>FAQs</a></li>
</ul>
</div>
<?php
include("function/login.php");
include("function/customer_signup.php");
?>
<!DOCTYPE html>
<html>
<head>
<title>Mshop</title>
<link rel="icon" href="img/logo.jpg" />
<link rel = "stylesheet" type = "text/css" href="css/style.css" media="all">
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<script src="js/bootstrap.js"></script>
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/carousel.js"></script>
<script src="js/button.js"></script>
<script src="js/dropdown.js"></script>
<script src="js/tab.js"></script>
<script src="js/tooltip.js"></script>
<script src="js/popover.js"></script>
<script src="js/collapse.js"></script>
<script src="js/modal.js"></script>
<script src="js/scrollspy.js"></script>
<script src="js/alert.js"></script>
<script src="js/transition.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<div id="header">
<img src="img/logo.jpg">
<label>Mshop</label>
<ul>
<li><a href="#signup" data-toggle="modal">Sign Up</a></li>
<li><a href="#login" data-toggle="modal">Login</a></li>
</ul>
</div>
<div id="login" class="modal hide fade" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true" style="width:400px;">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">x</button>
<h3 id="myModalLabel">Login...</h3>
</div>
<div class="modal-body">
<form method="post">
<center>
<input type="email" name="email" placeholder="Email"
style="width:250px;">
<input type="password" name="password" placeholder="Password"
style="width:250px;">
</center>
</div>
<div class="modal-footer">
<input class="btn btn-primary" type="submit" name="login" value="Login">
<button class="btn btn-danger" data-dismiss="modal" aria-
hidden="true">Close</button>
</form>
</div>
</div>
<div id="carousel">
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
<div class="active item" style="padding:0; border-bottom:0 solid
#111;"><img src="img/banner1.jpg" class="carousel"></div>
<div class="item" style="padding:0; border-bottom:0 solid #111;"><img
src="img/banner2.jpg" class="carousel"></div>
<div class="item" style="padding:0; border-bottom:0 solid #111;"><img
src="img/banner3.jpg" class="carousel"></div>
</div>
<a class="carousel-control left" href="#myCarousel" data-
slide="prev">‹</a>
<a class="carousel-control right" href="#myCarousel" data-
slide="next">›</a>
</div>
</div>
<div id="video">
<video controls autoplay width="445px" height="300px">
<source src="video/temp.mp4" type="video/mp4">
</video>
</div>
<div id="content">
<div id="product" style="position:relative; margin-top:30%;">
<center><h2><legend>Feature Items</legend></h2></center>
<br />
<?php
while($fetch = mysqli_fetch_array($query))
{
$pid = $fetch['product_id'];
$query1 = mysqli_query($conn, "SELECT * FROM stock WHERE
product_id = '$pid'") or die (mysqli_error());
$rows = mysqli_fetch_array($query1);
$qty = $rows['qty'];
if($qty <= 5){
}else{
echo "<div class='float'>";
echo "<center>";
echo "<a href='details.php?id=".$fetch['product_id']."'><img
class='img-polaroid' src='photo/".$fetch['product_image']."' height = '300px' width =
'300px'></a>";
echo " ".$fetch['product_name']."";
echo "<br />";
echo $fetch['description'] = (strlen($fetch['description']) >
13) ? substr($fetch['description'],0,20).'...' : $fetch['description'];
echo "<br />";
echo "<h3 class='text-info' style='position:absolute; margin-
top:-90px; text-indent:15px;'> Price: ".$fetch['product_price']."</h3>";
echo "</center>";
echo "</div>";
}
}
?>
</div>
</div>
<br />
</div>
<br />
<div id="footer">
<div class="foot">
<label style="font-size:17px;"> Copyright © </label>
<p style="font-size:25px;">Mshop Inc. 2022</p>
</div>
<div id="foot">
<h4>Links</h4>
<ul>
<a href="http://www.facebook.com/Mshop"><li>Facebook</li></a>
<a href="http://www.twitter.com/Mshop"><li>Twitter</li></a>
<a href="http://www.pinterest.com/Mshop"><li>Pinterest</li></a>
<a href="http://www.Instagram.com/btwitsshubhh"><li>Instagram</li></a>
</ul>
</div>
</div>
</body>
</html>
DATABASE
TESTING METHODOLOGY
e-Commerce testing is the process of evaluating the functionality and sanity of
various e-Commerce website components, including design, specifications,
functionalities, pages, and features, to make sure they won't adversely affect the
site's performance in any way.
Testing, when done effectively and consistently, may greatly boost conversions while
also enhancing the overall experience of site users.
Reasons why testing is important:
You can test the viability of every component of your website, from the source code
to the product pages, using a wide variety of testing techniques. Here are some of
the most popular techniques:
Functional Testing
Functional testing is used when a tester wants to determine whether the website's
checkout feature is operational and the test is restricted to that feature alone.
Usability Testing
The process of searching, adding an item to the cart, and paying for it should be
simple and clear for customers. Usability testing is again essential.
Security Testing
By selecting DENIAL OF SERVICE ATTACK, User Account Protection, Data
Confidentiality, Content Security, Credit Card Security, and disabling auxiliary
services, this assures the security of customers' data.
Performance Testing
A website for online shopping should be very responsive even if only one user is
attempting to access it. Performance testing guarantees that even if the app scales
and millions of users attempt to access the site at once, the site will remain
operational and not crash.
Mobile Application Testing
Many consumers browse e-commerce websites on mobile devices due to the high
level of mobile penetration; therefore, the website must provide a positive user
experience on all mobile platforms. Mobile application testing is the name given to
this type of testing.
TEST CASE
Login Page
Test Case Scenario Input Expected Output Obtained Output
When Email Id & Email Id: Login Successfully Login Successfully
password is correct
[email protected]
Password: me123
When Email Id is Email Id: Incorrect Details Incorrect Details
When both Email
Id & Password is Incorrect but password [email protected]
filled & submitted is correct
Password: me123
When Email Id is Email Id: Incorrect Details Incorrect Details
Correct but [email protected]
Password is
Incorrect Password: mine123
Password: <empty>
When both Email Email Id: <empty> Some fields are missing Some fields are missing
Id & Password is not
filled Password:<empty>
Registration Page
All fields are filled & First Name, First Name: Rajesh Registration Registration
submitted
Last Name, Last Name: S Successful Successful
Mobile Mobile number:9876543212
number, Address: On the earth
Address, Email Id: [email protected]
Email Id, Password: new123
Password, Passcode: 560001
Passcode, City: Bangalore
City
All fields are Empty & Name, First Name:<empty> Some fields are Some fields are
submitted missing missing
Username, Last Name:<empty>
Mobile Mobile number:<empty>
number, Address:<empty>
Address, Email id:<empty>
Email Id, Password: <empty>
Password Passcode: <empty>
City: <empty>
Some fields are empty Name, First Name: Rajesh Some fields are Some fields are
and submitted missing missing
Username, Last Name: S
Mobile Mobile number:9876543212
number, Address:<empty>
Address, Email id:<empty>
Email Id, Password: <empty>
Password Passcode: <empty>
City: Bangalore
CONCLUSION
Conclusion
MShop, like any other online shopping platform, offers a convenient way for
consumers to purchase products and services from the comfort of their own
homes. The benefits of using MShop include access to a wide range of products,
competitive pricing, and the convenience of having products delivered right to
your doorstep.
Future scope
As an AI language model, I can't predict the future, but I can suggest some potential
areas for the future scope of MShop: Expansion of product range: MShop can
expand its product range to attract more customers and increase sales. They can
partner with more brands and manufacturers to offer a wider variety of products to
customers. Integration with emerging technologies: MShop can integrate emerging
technologies such as AI, AR, and VR to provide customers with a more personalized
and immersive shopping experience. International expansion: MShop can explore
opportunities to expand its operations to other countries and regions to reach a
larger customer base and tap into new markets. Sustainability initiatives: MShop can
prioritize sustainability by offering ecofriendly products, reducing carbon emissions
in their supply chain, and adopting environmentally friendly packaging options.
Improved customer experience: MShop can focus on enhancing its customer
experience by providing fast and reliable delivery, easy returns and exchanges, and
personalized customer support services.
Reference:
• https://www.wikipedia.org
• https://www.w3schools.com/
• https://youtu.be/suDRu5Jjs8U
• https://youtu.be/3ViGM4Sz7n4
• https://youtu.be/InigFUSiPl8
• https://developer.android.com/docs
• https://www.geeksforgeeks.org/