You are on page 1of 61

Patan Multiple Campus

Tribhuvan University
Institute Of Science and Technology

A Final Year Project Report


On
EKATA CONVENIENCE STORE (AN E-COMMERCE SYSTEM)

Submitted To:
Department of Computer Science and Information Technology
Patan Multiple Campus
In partial fulfillment of the requirement for the
Bachelor Degree in Computer Science and Information Technology

Submitted By:
Amritmani Aryal(10007/073)
Himal Gyawali(10023/073)
Abhi Lamsal(11590/073)
Prakash Timilsina(2532/070)

Under the supervision of


Er. Mahesh Kumar Yadav
ACKNOWLEDGEMENT

This project is developed to fulfill the partial requirement of Tribhuvan University for
the completion of BSc.CSIT 7th semester. It is a great pleasure to have the opportunity
to extend our heartfelt gratitude to everyone who helped us throughout this project. We
are profoundly grateful to our project coordinator Mr. Mahesh Kumar Yadav, for his
expert guidance, continuous encouragement, and ever willingness to spare time from
his otherwise busy schedule for the project’s progress reviews. His continuous
inspiration has made us complete this project and achieve its target.

We would also like to express our deepest appreciation to Mr. Mahesh Kumar Yadav,
as program coordinator, Patan Multiple Campus, Department of Computer Science and
Information Technology, for his constant motivation, support, and for providing us with
a suitable working environment. We would also like to extend our sincere regards to all
the faculty members and our classmates for their support and encouragement.

1
ABSTRACT

An e-commerce website is a system that focuses on buying and selling products online.
The system is aimed to design a webpage that enhances marketing through online
advertising and selling. Ecommerce is a paradigm shift influencing both marketers and
consumers. Moreover, this project is about the B2C (Business to consumer) concept
where consumers can be able to buy goods. The products will be sold and bought
between the business owners and consumers respectively. In this system, the main
approach is to sell and recommend products as it can help people to find interesting
grocery items and is capable of buying goods online, predicting the future preference
of a set of items for a user, and recommending the top items. To make a good product
selling system, this system is using a collaborative filtering algorithm that combines the
opinions of other users to predict a target user through new arrivals, economic products,
and purchase history.

2
TABLE OF CONTENTS

CHAPTER 1: INTRODUCTION 9
Background 9
Problem Statement 11
Objectives 12
Scope and Limitations 13
CHAPTER 2: REQUIREMENT ANALYSIS AND FEASIBILITY
ANALYSIS 14
2.1 Literature Review 14
2.2 Requirement Analysis 16
2.2.1 Functional Requirements 16
Figure 2.1: Use Case Diagram 19
Table 2.1 UC Admin Register 20
Table 2.2 UC Admin Login 20
Table 2.3 UC Manage Category, Sub-Category and Brand 21
Table 2.4 UC Manage Product 21
Table 2.5 UC Add Product 22
Table 2.6 UC User Register 22
Table 2.7 UC User Login 23
Table 2.8 UC Product Transaction 245
Table 2.9 UC Payment Pathway 245
2.2.2. Non-Functional Requirements 256
2.3 Feasibility Analysis 267
2.3.1 Technical Feasibility: 267
2.3.2 Economic Feasibility: 267
2.3.3 Operational Feasibility: 267

3
2.3.4 Schedule Feasibility 278

CHAPTER 3: SYSTEM ANALYSIS 29


3.1 Class Diagram 29
Figure 3.1 Class Diagram of Ekata Convenience Store 29
CHAPTER 4: SYSTEM DESIGN 290
4.1 Activity Diagram for Admin slide 290
4.2 Activity Diagram for User slide 291
4.3 Sequence Diagram 312
4.4 Schema Diagram 323
CHAPTER 5: IMPLEMENTING AND TESTING DESIGN 334
Tools Used 334
Methodology 334
Testing 345
5.3.1. Unit Testing 356
Table 5.3.1 Unit Test Case Register 356
Table 5.3.2 Unit Test Case Login 367
Table 5.3.3 Unit Test Case Algorithm 38
Table 5.3.4 Integration Testing 38
CHAPTER 6: CONCLUSION AND RECOMMENDATION 390
6.1 Conclusion 390
6.2 Future Scope 390
References 401
Annex 423
Screenshots 423
fig 1: Registration page 423
fig 2: Sign-in page 434
fig 3: User Dashboard 445
fig 4: Admin Dashboard 445
Code: 456

4
register.blade.php 456
login.blade.php 512
dashboard.blade.php 556

5
LIST OF TABLES

Table 2.1: UC Register………………………………………………. 9


Table 2.2: UC Login……………………………………………. 9
Table 2.3: UC Manage Category and SubCategory…………………… 10
Table 2.4: UC Manages Products………………………………………… 10
Table 2.5: View Products………………………………….............……… 12
Table 2.6: Add Product…………………………………………… 12
Table 2.7: View Recommended Product……………………………………13
Table 2.8: Manage cart ………………………………………………… 13
Table 5.3.1: Unit Test Case Register………… …………………………… 25
Table 5.3.2: Unit Test Case Login………………………………………… 26
Table 5.3.3: Unit Test Case Algorithm………………………………………27
Table 5.3.4 Unit Test Case Algorithm……………………………………….28
Table 5.3.5: Integration Testing……………………………………………...29

6
LIST OF FIGURES

Figure 2.1 : Use Case Diagram for Admin………… …………………………… 20


Figure 2.3 : Gantt Chart for the proposed project………… ……………………… 29
Figure 3.1 : Class Diagram of Ekata Convenience Store………….……………… 30
Figure 4.1 : Activity Diagram for Admin side…….………….……...…………… 31
Figure 4.2 : Activity Diagram for User side…….………….…………...………… 32
Figure 4.3 : Activity Diagram for Online Shopping…….………....……………… 33
Figure 4.4 : Sequence Diagram………………………....………….……………… 34
Figure 4.5 : Relational Model……………………..…….………….……………… 35

7
ABBREVIATIONS

ERD Entity Relationship Diagram


PDF Portable Document Format
UML Unified Modeling Language
UC Use Case

8
CHAPTER 1: INTRODUCTION

1.1 Background

E-commerce is the buying and selling of goods and services, or the transmitting of funds
or data, over an electronic network, primarily the internet. These business transactions
occur either as business-to-business, business-to-consumer, consumer-to-consumer, or
consumer-to-business. This project is about the B2C (Business to consumer) concept
where consumers can buy products that are listed on the web page. The products will
be sold and bought between the business owner and the consumers trusting the details
given about the product. B2C e-commerce differs from a business-to-business model
or consumer-to-consumer model because business owners list the products on the web
page and consumers can interact directly with the products listed online. However, a
business does operate the online platform on which B2C transactions take place. In
most cases, B2C e-commerce is helped along by consumers who can make their own
wish-list through the product listed online and make sure goods are received and
payments are made. Online product Selling & Recommendation systems are used by
enormous sites to help the customers regarding the products to purchase. It helps to list
all kinds of products, for example, Grocery items, fashion items, etc.

E-commerce systems help people find information that will interest them & buy them
through the online transaction medium from home at any time, by facilitating
social/conceptual connections or other means. This system estimates a utility function
to predict how a user will like an item. It helps users deal with the information overload
and product listed with a different category, sub-category, brand, and manufacturer.
The recommendation system uses mostly two approaches. The first one is Collaborative
filtering which recommends items based only on the user’s past behavior. It’s either
user-based: Find similar users to me and recommend what they liked or Item-based:
Find similar items to those that I have previously liked. And the second approach is to
deal with the product that must be listed in a different way for the display on the web
pages.
9
This e-commerce can help customers to find products that are listed online as their
preferences and they wish to purchase. This system improves cross-sell by suggesting
additional products for the customer to purchase. If the recommendations are good, the
average order size should increase. For instance, a site might recommend additional
products in the checkout process, based on those products already in the shopping cart.
In a world where a site’s competitors are only a click or two away, gaining customer
loyalty is an essential business strategy.

Ekata E-commerce System improves loyalty by creating a value-added relationship


between the site and the customer. Sites invest in products and shipping, learn about
their users, use recommender systems to operationalize that learning, and present
custom interfaces that match customer needs. Customers repay these sites by returning
to the ones that best match their needs.

Collaborative filtering arrives at a recommendation that's based on a model of prior


user behavior. The model can be constructed solely from a single user's behavior or
more effectively also from the behavior of other users who have similar traits. When it
takes other users' behavior into account, collaborative filtering uses group knowledge
to form a recommendation based on like users, data stored in a database, and data
visualization. In essence, recommendations are based on an automatic collaboration of
multiple users and filtered on those who exhibit similar preferences or behaviors and
also the data behaviors that are stored in a database.

10
1.2 Problem Statement
Though the e-commerce websites are well equipped and technically fit, the e-commerce
websites fail to run. So sometimes, customers prefer to visit the market rather than using
websites. If customers are not satisfied with our product and payment process,
customers have to visit many other websites. Every shop should aim to get an online
way of business so that customers can stay at home and order the product they like
through an e-commerce site. However, the current system of walking into the shop is
more time-consuming and difficult. Even customer satisfaction has been a greater issue
as customers have to browse many sites to buy a single product.

11
1.3 Objectives
● To reach more and right customers at the right time so that more orders can
be placed and in turn, high revenue can be generated.
● To recommend the product to the customer.
● To provide a platform where business owners can sell products or services to
consumers and enable consumers to buy the products from home as their
daily necessity.
● To implement a recommendation system using user based collaborative
filtering based on data behaviour stored in a database and purchase history
provided by the customer.

12
1.4 Scope and Limitations
Ekata Convenience Store is a B2C ecommerce web application where business owners
list the information of the products on a system and customers can interact and conduct
the transaction process from the “add-to-cart” to the check out. This is a medium
transaction cost and the owner can post their goods over the internet at a cheaper rate
far better than the higher price of renting a space in a store. It makes easier to compare
prices, common availability of coupons and deals, lots of choices, stores are open all
the time, ability to buy and sell to other consumers, ability to have vendors bid for
business, ability to scale up rapidly, extraordinarily high reliance on the website, ease
of communication, no need to handle currency notes, reduced employee costs. The
application recommends products based on user interaction and data behavior stored in
a database with a system to the users using user based collaborative filtering.

The limitations of the system are:

● Payment made has no guarantee.


● There is no quality check of products from the consumer’s side, customers may not
be satisfied after buying the products only through the site’s display.
● The products are delivered on the customer’s convenience which reduces efficiency.
● It doesn’t run offline.

13
CHAPTER 2: REQUIREMENT ANALYSIS AND FEASIBILITY
ANALYSIS

2.1 Literature Review


Khan Mashiur Rahman, Computer Society of Cornell University, New York had
discussed culture and e-commerce website design. Cultural aspects and e-commerce
website design will play a significant role for successful global e-commerce sites in the
future. Future success of businesses will rely on e-commerce. To compete in the global
e-commerce marketplace, local businesses need to focus on designing culturally
friendly e-commerce websites. To the best of my knowledge, there has been
insignificant research conducted on correlations between culture and e-commerce
website design. The research shows that there are correlations between e-commerce,
culture, and website design. The result of the study indicates that cultural aspects
influence e-commerce website design. This study aims to deliver a reference source for
information systems and information technology researchers interested in culture and
e-commerce website design, and will show less focused research areas in addition to
future directions.

Badrul Sarwar, George Karypis, Joseph Koustan, and John Riedl, Department of
Computer Science and Engineering, University of Minnesota have discussed Item
Based Collaborative Filtering Recommendation Algorithms [1]. In this paper, they have
analysed different item based recommendation generation algorithms with different
techniques for computing item-item similarities such as correlation, cosine similarities
and so on, and different techniques for obtaining recommendation from them i.e.
weighted sum and regression model. According to them, user based may face
bottleneck problems due to large user populations which can be solved by item based
algorithms by exploring the relationship between items first, rather than relationships
between users.

14
Ankush Saklecha, Jagdish Raikwal, Institute of Engineering and Technology, Devi
Ahilya University have implemented a Dynamic Recommendation System Using
Enhanced K-means Clustering Algorithm for ecommerce [2]. According to them, the
goal of this paper is to study recommendation engines and recognize the problems of
traditional recommendation engines and algorithms used in developing a
recommendation engine and to develop a web based recommendation engine. In this
paper, the architecture proposed describes a user interacting with the website and
recommendations provided to the user while browsing the pages through the website.
The important thing about this project is to provide recommendations to registered users
i.e. clusters vary from time to time depending upon the number of users registered and
according to their age. This paper concludes that increasing efficiency of K-means
clustering algorithm users find better results.

15
2.2 Requirement Analysis
Every system needs some requirements for the development process. A functional
requirement is something a system must do. It includes the functions performed by
specific screens, outlines of work flows performed by the system and other business
compliance requirements which the system must meet. Without requirements, the
system cannot be developed.

2.2.1 Functional Requirements


The requirement that the system provides or must fulfill is a functional requirement. It
outlines workflows performed by the system, functions performed by specific screens.
The functional requirements of this system are as follows:

● Admin Register/login: to the system with valid user email and password for the
management of the products display, dashboard, customer transaction, etc.
● User Register/login: to the system with valid user email and password for the
ordering and check out products and providing review.
● Admin Administration:
o To add, update and delete product’s information from the dashboard.
o To add, update and delete side-admins as an editor or as a different role
with verified email and store in the database and display products on
the home page after approval.
o Admins would be able to add, update and delete a single product having
the following fields: Name, Price, Sale Price, Tags, Additional
Information, Category/Sub-category, Brand, Manufacturer, Stock
Count, etc.
o Admin would be able to view all the orders till date as well as delete
orders.
o Admin would be able to update the order status between Pending,
Processing, Completed and Failed.
o Admin would be able to filter the orders based on Order ID or Search
for specific orders.
o Admin would be able to enable and disable the following payment
methods: PayPal, Credit Card Payment and Cash On Delivery.

16
o Admin would be able to limit the shipping to certain Postcodes or certain
radius around the shop’s base address/location.
o Admin would be able to update the basic website information including
Web-logo, Email, Phone, Address, etc.

17
● User/Customer:
o Would be able to view products from the front-end, filter products using
categories and sub-categories, search for specific products, send enquiry
using the contact us form,etc.
o Would be able to add products to the cart as well as update the cart,
check-out the placed cart and proceed to the payment section.
o Would be able to check-out through the payment method using PayPal,
Credit Card and Cash-On-Delivery Method.
o Would be able to give reviews and comments about the system.
o Would be able to view the current order placement, previous
transactions through the specific user dashboard.
o Would be able to add and update account information including their
billings and shipping details.
● Whenever a new order is placed or received both the Admin as well as the
Customer would get an Email notification about the order.
● Collaborative filtering deals with rating and similarities between items for
recommending products for users.

18
The following Use Case Diagram describes the major actions of the system and
interaction between actors and the system:

Figure 2.1: Use Case Diagram

19
Table 2.1 UC Admin Register
Primary Actor Super Admin
Secondary Actor

Description Super Admin registers his/her account in the system in order to login
to the system.
Pre-Condition New Admin have to fill up the requirement field to register.
Post-Condition New Admin will be able to login to the system as a register admin
Failure Scenario New Admin is not notified about the registration.

Table 2.2 UC Admin Login


Primary Actor Super Admin
Secondary Actor Admin
Description Admin logins to the system.
Pre-Condition Admin have to register in the system in order to login.
Post-Condition Admin will be able to view all the admin panel’s functionality except
user control.
Failure Scenario Email address and password is incorrect.

20
Table 2.3 UC Manage Category, Sub-Category and Brand
Primary Actor Super Admin
Secondary Actor Admin
Description Both Admin will be able to add, update and delete Categories,
Sub-Categories and Brands.
Pre-Condition No Categories, Sub-Categories and brands in the database.
Post-Condition Categories, Sub-Categories and brands are stored in the
database.
Failure Scenario Duplication of slug.

Table 2.4 UC Manage Product


Primary Actor Super Admin
Secondary Actor Admin
Description All the uploaded products by Admin can be ticked as either approved
or unapproved only by the admin.
Pre-Condition All the uploaded products are on the new product’s detail section of the
admin panel.
Post-Condition All the approved products would be displayed in the front-end web-
pages.
Failure Scenario All the unapproved products will not be displayed in the front-end web-
pages.

21
Table 2.5 UC Add Product
Primary Actor Registered Admin
Secondary Actor
Description Admin add, update and delete the information of the product.
Pre-Condition No product display to admin data table.
Post-Condition Products are now available in the admin data table as unapproved
status.
Failure Scenario Wrong information or insufficient information about the product.

Table 2.6 UC User Register


Primary Actor New user
Secondary Actor
Description New user registers his/her account in the system as a customer in
order to login to the user system.
Pre-Condition New users have to fill-up the requirement field to register.
Post-Condition New users will be able to login to the system as a registered
customer.
Failure Scenario New users will not be notified about the registration.

22
Table 2.7 UC User Login
Primary Actor New user
Secondary Actor

Description New user logins to the user system.


Pre-Condition New users have to register in the system in order to login.
Post-Condition New users will be able to view all the transactions within the
system.
Failure Scenario New user’s Email address and password is incorrect.

23
Table 2.8 UC Product Transaction
Primary Actor Registered Customer
Secondary Actor New Customer
Description Registered customers can have full charge of the user process from
“add-to-cart” to payment but an unregistered customer can view all
the website’s information and add to cart only.
Pre-Condition All products are shown.
Post-Condition Products are shown on the basis of filtration through the database
and applied algorithm.
Failure Scenario No product found.

Table 2.9 UC Payment Pathway


Primary Actor Registered Customer
Secondary Actor
Description Only registered customers are able to check out successfully from
the cart collection.
Pre-Condition Only add to cart functionality.
Post-Condition A customer will be able to check out successfully using the
payment method.
Failure Scenario User is not registered.

24
2.2.2. Non-Functional Requirements
The non-functional requirements describe how the system works or that specifies
criteria that can be used to judge the operation of a system. It also describes system
attributes security, performance, maintainability, scalability and usability.

The non-functional requirements of our system are:

o The system is available for 24*7.


o Our system uses hashing for password in login. No one can know the
password as the password is encrypted using a hashing function.
o By the use of user’s ratings, data behavior stored in a database,
recommendation to the users is better and in this way performance is
better.

25
2.3 Feasibility Analysis

Feasibility studies aim to objectively and rationally uncover the strengths and
weaknesses of an existing business or proposed venture, opportunities and threats as
presented by the environment, the resources required to carry through, and ultimately
the prospects for success. The feasibility analysis is divided into three parts as described
below:

2.3.1 Technical Feasibility:


Technical analysis is concerned with determining how possible a system is from a
technical perspective. The project is developed for general use. In order to access this
website, the user needs an internet connection. The main requirement of the system
from a developer's view is a web server capable of handling the content, Internet
connection and manpower to handle the store

2.3.2 Economic Feasibility:


The system is economically feasible as the only cost required will be the cost to host
and run the website on a server and maintain the system.

2.3.3 Operational Feasibility:


It is concerned with the operating capabilities of the system. Since it is a web-based
application, it is quite easy to handle the system with a normal web surfing skill. For
the efficient operation, only a general-purpose computer is required. And the user
interface is friendly. Hence, the system is feasible operationally.

26
2.3.4 Schedule Feasibility

The system prototype was completed within an estimated time of 2 month from the
day of project proposal defense, with the help of pre-existing knowledge & technical
expertise. The final project deadline was reasonable & achievable. The working
schedule is represented in the Gantt chart below,

Figure 2.3: Gantt chart for the proposed project

27
CHAPTER 3: SYSTEM ANALYSIS
System analysis is the process of defining the elements of a system such as the
architecture, modules, and components, the different interfaces of those components
and the data that goes through that system. In this project, we have used the
phpmyadmin db designer tool for the UML diagrams of our system. Some of the
diagrams are as shown below:

3.1 Class Diagram

Figure 3.1 Class Diagram of Ekata Convenience Store

28
CHAPTER 4: SYSTEM DESIGN
Systems design is the process of defining the architecture, modules, interfaces, and data
for a system to satisfy specified requirements. Systems design could be seen as the
application of systems theory to product development:

4.1 Activity Diagram

Figure 4.1 Activity Diagram for Admin Side

29
Figure 4.2 Activity Diagram for User Side

30
4.2 Sequence Diagram

A sequence diagram represents the object collaboration and is used to define event
sequences between objects for a certain outcome. The sequence diagram of this system
is drawn as shown below:

Figure 4.4 Sequence Diagram

31
4.3 Relational Model

Figure 4.5 Schema Diagram

32
CHAPTER 5: IMPLEMENTING AND TESTING DESIGN

5.1 Tools Used

Following are the languages, tools and framework used for the accomplishment of this
project:

Front-End
➢ HTML, CSS, Bootstrap

Back-End
➢ JQuery, Ajax, PHP, Laravel

Database
➢ MySQL

Local Environment
➢ XAMPP

IDE
➢ VSCode

5.2 Methodology

In electronic commerce, systems development is based on two fundamental types of


models, business models, and process models. A business model is concerned with
value exchanges among business partners, while a process model focuses on
operational and procedural aspects of business communication. Thus, a business model
defines the what in an e-commerce system, while a process model defines the how.
Business process design can be facilitated and improved by a method for systematically
moving from a business model to a process model. Such a method would provide
support for traceability, evaluation of design alternatives, and seamless transition from
analysis to realization. This work proposes a method for the systematic transformation
of a business model to a process model, which can be executed on a Process Manager.
The theoretical foundations of the approach, called Process Pattern Perspective (P ) are
value theory, the language/action perspective to information systems, and enterprise

33
ontologies. In our project, we are using item-based collaborative filtering for a
recommendation.

Item-based collaborative filtering is a model-based algorithm for making


recommendations. In the algorithm, the similarities between different items are
calculated by using one of a number of similarity measures. The similarity values
between items are measured by observing all the users who have rated both the items.

There are a number of different mathematical formulations that can be used to calculate
the similarities between two items. We are using centered cosine similarity.

This similarity measurement is a modified form of vector-based similarity where we


take into account the fact that different users have different rating schemes; in other
words, some users might rate items highly in general, and others might give items lower
ratings as a preference. To remove this drawback from vector-based similarity, we
subtract average ratings for each user from each user's rating for the pair of items.

In this way, items are recommended using item-based collaborative filtering.

5.3 Testing

System testing is actually a series of different tests whose primary purpose is to fully
exercise the computer-based system. Although each test has a different purpose, all
work to verify that all the system elements have been properly integrated and performed
allocated functions. The testing process is actually carried out to make sure that the
product exactly does the same thing it is supposed to do. Testing is the final verification
and validation activity within the organization itself. In the testing stage, the following
goals need to be achieved: -

• Find and eliminate any residual errors from previous stages.


• Validate the software as a solution to the original problem.

34
5.3.1. Unit Testing

Unit testing is a software testing method by which individual units of source code, sets
of one or more computer modules together with associated control data, usage
procedures, and operating procedures, are tested to determine whether they are fit for
use. In this news portal system, the individual units are individually tested by providing
one or few inputs and expected for the single output.

Table 5.3.1 Unit Test Case Register

ID Description Input Data Expected Result Actual Pass/Fail


Result

1. User Name: Hari Prasad, User should be Registration fail


Registration able to register in failed.
Email:
the system.
Hari1@gmail.com

Password: Hari12

Password Confirmation:
Hari12

2. User Name: Hari Prasad, User should be Successfully pass


Registration able to register in registered in
Email:
the system. the system.
Hari1@gmail.com

Password: Hari12

Password Confirmation:
Hari12

35
Table 5.3.2 Unit Test Case Login

ID Description Input Data Expected Result Actual Result Pass/Fail


1. User Login Name: Hari Prasad, User should be Registration Fail
able to register failed.
Email: Hari1@gmail.com
in the system.
Password: Hari12
Password Confirmation:
Hari12

2. User Name: Hari Prasad, User should be Successfully Pass


Registratio able to register registered in
Email: Hari1@gmail.com
n in the system. the system.
Password: Hari12
Password Confirmation:
Hari12

3. Admin Name: Hari Prasad, Admin should Registration Fail


Registratio be able to failed.
Email:
n register in the
Hari112@gmail.com
system.
Password: Admin123
Password Confirmation:
Admin12

4. Admin Name: Hari Prasad, Admin should Successfully Pass


Registratio be able to registered in
Email:
n register in the the system.
Hari112@gmail.com
system.
Password: Admin123
Password Confirmation:
Admin123

36
Table 5.3.3 Unit Test Case Algorithm

ID Pre Condition Input Cosine Recommended Cosine Status


Data Value products Value
1. Basmati 1.[0.660] Pass

1. 1. User must Category- Rice (5kg)

register in the Grocery


system
2. Basmati 2.[0.549] Pass
Rice (15kg)

2. User must
contain data in the 3.Sona 3.[0.445] Pass
Produ Mansuli
view and purchase
ct (25kg)
table.
Title:
4.[ Pass
0.999 4. Sona 0.178]
“Basmati Mansuli (5kg)
Rice” Pass
5. Rice Cooker
(5Ltr) 5.[0.115]

37
Table 5.3.4 Integration Testing

S.N. Case Input Expected Status

Output

1. User enters the sign Email: Display homepage Homepage with


in page Password: with User logged User logged in
in status. status is displayed.

2 User view the Category Display different Product List page


products category Selection products with different
products.

3 User get Recommend Display Products are


Selection
recommendation recommended displayed
products products

38
CHAPTER 6: CONCLUSION AND RECOMMENDATION

6.1 Conclusion

E-Commerce systems have been widely spread online shopping services around the
globe. In this project “Ekata Convenience Store '', an e-commerce system is used in
order to solve the problems that are faced from different remote areas, for example,
time consumption, price hiking, etc. Every customer who is registered to the system
would be able to check out, payments, and shipping successfully. Collaborative filtering
is used in order to recommend better and quality products from the user's interaction.
Collaborative filtering is based on matrix factorization models with ratings and
similarities between items. With the comparison and study, it concludes that an item-
based strategy gives better performance for an input dataset that has a highly sparse
distribution. That’s why item-based collaborative filtering has been used in this project.
The primary goal for this e-commerce system is predicting the user behavior within the
system and implementing a full-fledged e-commerce system based on stored data in the
database.

6.2 Future Scope

The scope of the project is to provide a web platform where consumers can buy products
or services related to grocery shopping. It implements recommendations where
customers can find new products based on rating, user behavior, data stored in the
database, and purchase history provided by them. It will be available for access 24*7.
Only the constraint is that the internet should be available for using the system.

The main target of the project is to make it easy for the general user to use the system
effectively and provide better services.

Since this is the era of Information and Technology, this project can be more useful in
the future. Nowadays, people are using the internet for most of their work, so creating
online shopping and product recommendation systems will be helpful for them.

39
References

[1]https://www.ukessays.com/essays/information-technology/methodologies-for-
ecommerce-and-web-systems-information-technology-essay.php?fbclid=IwAR0nob-
qJvyOs70EbEke3Su9Mi-0JyLnIgnpZ8l3s0JBZ1FdU0Tv7IPq1jM
[2]CarnegieMellonUniversity,InstituteforeCommerce,
http://www.ecom.cmu.edu/resources/elibrary/eclgloss.shtml.

[3]Internet.com,ECommerce,Webopedia,
http://ecommerce.internet.com/resources/library/paysolutions.

[4]OregonInnovationCenter, http://www.oregoninnovation.org/pressroom/glossary.a-
c.html.

[5]UniversityofTexasatArlington,eBusinessAlliance,
http://www2.uta.edu/ecomm/resources/glossaryComplete.asp.

General:

[6]Scott Austin, Adorno & Zeder, P.A., Fifteen Things You Need to Know to Advise
Your Clients About Websites, http://cyber.law.harvard.edu/ecommerce/austin.ppt

Intellectual Property Rights:

[7]Intellectual Reserve, Inc. v. Utah lighthouse Ministry, Inc., 75 F. Supp. 2d 1290


(C.D.Utah1999),
http://www.haleanddorr.com/internet_law/Utah_Lighthouse/prelim.html.

[8]Limitations on Exclusive Rights: Fair use, 17 U.S.C. §107 (1994),


http://caselaw.lp.findlaw.com/scripts/ts_search.pl?title=17&sec=107.

[9]Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417 (1984),
http://caselaw.lp.findlaw.com/scripts/getcase.pl?navby=case&court=us&vol=464&pa
ge=417.

[10]William W. Fisher III, Intellectual Property in Cyberspace, Linking, Framing, Meta


Tags, and Caching, Intellectual Property in Cyberspace,
http://cyber.law.harvard.edu/property00/metatags/main.html.

Security:
40
[11]Bill Hancock, The Exodus Network Backbone Environment and DoS/DDoS
Attacks, Network Attacks: Denial of Service and Distributed Denial of Service,
http://www.exodus.com/press_room/information/ddos/ddos_content.html.

[12]Matt Curtin and Marcus J. Ranum, What Is an Internet Firewall?, Internet


Firewalls:FrequentlyAskedQuestions,
http://www.interhack.net/pubs/fwfaq/#SECTION00031000000000000000.

41
Annex

Screenshots

Figure I: Registration page

42
Figure II: Sign-in page

43
Figure III: User Dashboard

Figure IV: Admin Dashboard

44
Code:

register.blade.php
<!-- Register -->

<body class="hold-transition register-page">


<div id="app">
<div class="register-box">
<div class="register-logo">
<a href="/" class="text-decoration-none" style="font-size: 24px">
<p class="text-white">
Ekata Convenience Store
</p>
</a>
</div>

<div class="card">
<div class="card-body register-card-body">
<div class="row">
<div class="col-md-5"
style="background: url('https://ecommerceinsiders.com/wp-
content/uploads/2017/02/Amazon-2.jpg') no-repeat center; background-size: cover;
width: 100%;">
</div>
<div class="col-md-7" style="padding: 1rem 2rem 1rem 1rem;">
<p class="login-box-msg">Register a new user</p>

<form action="http://127.0.0.1:8000/registerUser"
method="post" id="user-registration-form">
<input type="hidden" name="_token"
value="DrPkiYfWeuWf567tsviy0gahFP2qo3N5uMCgRTLj">
<div class="form-row">

45
<div class="col-md-6">
<div class="input-group mb-3">
<input type="text" class="form-control"
name="first_name"
placeholder="First name">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-user"></span>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="input-group mb-3">
<input type="text" class="form-control"
name="last_name"
placeholder="Last name">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-user"></span>
</div>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-7">
<div class="input-group mb-3">
<input type="text" class="form-control"
name="address"
placeholder="Address">
46
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-building"></span>
</div>
</div>
</div>
</div>
<div class="col-md-5">
<div class="input-group mb-3">
<input type="text" class="form-control"
name="sub_urb" placeholder="Suburb">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-road"></span>
</div>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-7">
<div class="input-group mb-3">
<input type="text" class="form-control" name="state"
placeholder="State">
<div class="input-group-append">
<div class="input-group-text">
<span class="fab fa-stripe-s"></span>
</div>
</div>
</div>

47
</div>
<div class="col-md-5">
<div class="input-group mb-3">
<input type="text" class="form-control"
name="postal_code"
placeholder="Postal Code">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-mail-bulk"></span>
</div>
</div>
</div>
</div>
</div>

<div class="input-group mb-3">


<input type="email" class="form-control" name="email"
placeholder="Email">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="number" class="form-control"
name="contact_number"
placeholder="Contact Number">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-phone"></span>
48
</div>
</div>
</div>

<div class="input-group mb-3">


<input type="password" class="form-control" id="password"
name="password"
placeholder="Password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="password" class="form-control"
id="password_confirmation"
name="password_confirmation" placeholder="Retype
password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
<span id='message'></span>
</div>
<button class="btn btn-block bg-main-primary text-white"
type="submit">
Register
</button>

49
</form>

<div class="text-center mt-3">


<a href="/" class="">Return to Website</a>
</div>
</div>
</div>
</div>
<!-- /.form-box -->
</div><!-- /.card -->
</div>
<!-- /.register-box -->
</div>
</body>

50
login.blade.php
<!-- login -->

<body class="hold-transition login-page">


<div id="app">
<div class="login-box">
<div class="login-logo">
<a href="/" class="text-decoration-none" style="font-size: 24px">
<p class="text-white">
Ekata Convenience Store
</p>
</a>
</div>
<!-- /.login-logo -->
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">Sign in to start your session</p>

<form method="POST" action="{{ route('login') }}">


@csrf

<div class="form-group row">

<div class="col-12">
<div class="input-group">
<input id="email" type="email"
class="form-control @error('email') is-invalid @enderror"
name="email"
value="{{ old('email') }}" required autocomplete="email"
autofocus
placeholder="Email">

51
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
</div>
</div>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>

</div>
</div>

<div class="form-group row">


<div class="col-12">
<div class="input-group">
<input id="password" type="password"
class="form-control @error('password') is-invalid @enderror"
name="password" required autocomplete="current-password"
placeholder="Password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
@error('password')
<span class="invalid-feedback" role="alert">
52
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>

<div class="form-group row">


<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox"
name="remember"
id="remember" {{ old('remember') ? 'checked' : '' }}>

<label class="form-check-label" for="remember">


{{ __('Remember Me') }}
</label>
</div>
</div>
</div>

<div class="form-group row mb-0">


<div class="col-12 text-center">
<button type="submit" class="btn btn-block bg-main-primary
text-white">
{{ __('Login') }}
</button>

@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">

53
{{ __('Forgot Your Password?') }}
</a>
@endif
</div>
</div>
</form>
<div class="row mt-3">
<div class="col-12">
<a href="/register" type="submit" class="btn btn-block bg-main-primary
text-white">
Register
</a>
</div>

<div class=" col-12 text-center">


<a href="/" class="">Return to Homepage</a>
</div>
</div>
</div>
</div>
</div>
<!-- /.login-box -->
</div>
</body>

54
dashboard.blade.php
<!-- dashboard -->

@extends('layouts.master')
@section('content')
<div class="container-fluid">
<!-- Small boxes (Stat box) -->
<div class="row">
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-info">
<div class="inner">
<h3>{{$countOrder}}</h3>
<p>New Orders</p>
</div>
<div class="icon">
<i class="ion ion-bag"></i>
</div>
</div>
</div>
<!-- ./col -->
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-success">
<div class="inner">
<h3>{{$countProduct}}<sup style="font-size: 20px"></sup></h3>
<p>Total Product</p>
</div>
<div class="icon">
<i class="ion ion-stats-bars"></i>

55
</div>
</div>
</div>
<!-- ./col -->
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-warning">
<div class="inner">
<h3>{{$countUser}}</h3>
<p>User Registrations</p>
</div>
<div class="icon">
<i class="ion ion-person-add"></i>
</div>
</div>
</div>
</div>
<!-- /.row -->
<div class="row">
<section class="col-md-8 connectedSortable">
<!-- Orders Section -->
<div class="card">
<div class="card-header border-transparent">
<h3 class="card-title">Latest Orders</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-
widget="collapse">
<i class="fas fa-minus"></i>
</button>

56
<button type="button" class="btn btn-tool" data-card-
widget="remove">
<i class="fas fa-times"></i>
</button>
</div>
</div>
<!-- /.card-header -->
<div class="card-body p-0" style="max-height: 400px; overflow: hidden;
display: block;">
<div class="table-responsive">
<table class="table m-0">
<thead>
<tr>
<th>Order ID</th>
<th>Status</th>
<th>User Name</th>
<th>User Id</th>
</tr>
</thead>
<tbody>
@foreach($orderlisted as $order)
<tr>
<td>{{$order->order_number}}</td>
<td><span class="badge badge-success">{{$order-
>order_status}}</span>
</td>
<td>
<div class="sparkbar" data-color="#00a65a" data-
height="20">
{{$order->first_name }} {{$order->last_name}}
</div>

57
</td>
<td>{{$order->registered_user}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.card-body -->
<div class="card-footer clearfix" style="display: block;">
<a href="/admin/order/orderdetails" class="btn btn-sm btn-secondary
float-right">View All
Orders</a>
</div>
<!-- /.card-footer -->
</div>
<!-- Order Section Ends -->
</section>
<section class="col-md-4 connectedSortable">
<div class="card">
<div class="card-header">
<h3 class="card-title">Recently Added Products</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-
widget="collapse">
<i class="fas fa-minus"></i>
</button>
<button type="button" class="btn btn-tool" data-card-
widget="remove">
<i class="fas fa-times"></i>
58
</button>
</div>
</div>
<!-- /.card-header -->
<div class="card-body p-0" style="max-height: 400px; overflow: hidden;
display: block;">
<ul class="products-list product-list-in-card pl-2 pr-2">
@foreach($recentProduct as $product)
<li class="item">
<div class="product-img">
<img src="{{$product->image[0]->name}}"
alt="Product Image" class="img-size-50">
</div>
<div class="product-info">
<p href="#" class="product-title" style="margin-bottom:
0;">{{$product->product_name}}
<span class="float-right">{{$product->price}}</span>
</p>
<span class="product-description">
{{$product->category->category_name}}
</span>
</div>
</li>
@endforeach
<!-- /.item -->
<!-- /.item -->
</ul>
</div>
<!-- /.card-body -->
<div class="card-footer text-center">

59
<a href="/admin/addproduct/products" class="uppercase">View All
Products</a>
</div>
<!-- /.card-footer -->
</div>
</section>
</div>
</div>
@stop

60

You might also like