Commodity Search System For Online Shopping: Supervisor: Sir Shahbaz A. Siddiqui

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Commodity Search System for Online Shopping

Commodity Search System for Online Shopping


FINAL YEAR PROJECT (CS-491)
PROJECT REPORT

Jeetash Kumar 13k-2261


Kashif Ali 13k-2137
Bhagesh Kumar 14k-2265
Rakeshwer Bajaj 14k-2802

Supervisor: Sir Shahbaz A. Siddiqui

FAST-National University of Computer & Emerging


Sciences, Karachi.
Department of Computer Science

1
NATIONAL UNIVERSITY OF COMPUTER & EMERGING SCIENCES (FAST-NU)

Project Supervisor Shahbaz.A.Saddiqui


Co-Supervisor

P r oj e c t T e a m

JeetashKumar 13k-2261
Kashif Ali 13k-2137
Bhagesh Kumar 14k-2265
Rakeshwar 14k-2802

Submission Date 7th May 2018

Supervisor: Shahbaz A Saddiqui _____________________

2
DOCUMENT INFORMATION

Category Information
Customer NUCES-FAST
Project Title Commodity Search System For Online Shopping
Document FYP II Final Report
Document Version 1.0
Identifier CS-492 Final Report
Status Final
Shahbaz.A.Saddiqui ()

Bhagesh Kumar (K14-2265)


Author(s) Jeetash Kumar (K13-2261)
Kashif Ali (K14-2137)
Rakeshwar (K14-2802)

Approver(s) Shahbaz.A.Saddiqui
Issue Date 7th May 2018

3
ABSTRACT
In this project, we explore the possibility of creating a cross platform mobile application of
product search engine that is able to dynamically find commercial / E-commerce sites which are
operating in Pakistan and provide a list of websites on product review and prize for consumers
to choose the best deal. This commodity search system also track consumer price conditions,
the system will proactively notify consumers, and could assist consumers to search commodity
with historical prize information of commodity for consumers to decide. In addition, we consid-
er the application of Html Tidy, Stemmers and Web Crawling and Scrapping, and data mining
techniques in order to extract the relevant information from commercial websites.

4
Table of Contents
CHAPTER 1 Introduction 7
1.1 Need for Product ……………………………………………………………………………………………………………………..7
1.2 Associated CS Problems …………………………………………………………………………………………………………..7
1.3 Benefits to Users ……………………………………………………………………………………………………………………..7
1.4 Gap Analysis with existing solution) ………………………………………………………………………………………..7

CHAPTER 2 Requirements Analysis 8


2.1 Functional Requirements ………………………………………………………………………………………………………..8
2.1.1 Authentication …………………………………………………………………………………………………………………….8
2.1.2 Search for Product ……………………………………………………………………………………………………………...8
2.1.3 Look for Product ………………………………………………………………………………………………………………….8
2.1.4 Go to Database Server …………………………………………………………………………………………………………8
2.1.5 Show Result …………………………………………………………………………………………………………………………8
2.2. Nonfunctional requirements …………………………………………………………………………………………………..8
2.2.1 Performance Requirements …………………………………………………………………………………………………8
2.2.2 Safety Requirements ……………………………………………………………………………………………………………8
2.2.3 Security Requirements ………………………………………………………………………………………………………..9
2.3 Features ……………………………………………………………………………………………………………………………………9
CHAPTER 3 Design Details 10
3.1 Technologies Used …………………………………………………………………………………………………………………….10
3.2 System Architecture ………………………………………………………………………………………………………………….10
3.3 Context Diagram ……………………………………………………………………………………………………………………..10
3.4 State Diagram ………………………………………………………………………………………………………………………….11
3.4.1 State Diagram (Registration) ……………………………………………………………………………………………….11
3.4.2 State Diagram (Login) ………………………………………………………………………………………………………….11
3.4.3 State Diagram (Price Comparison) ………………………………………………………………………………………12
3.5 Sequence Diagram …………………………………………………………………………………………………………………..13
3.5.1 Sequence Diagram (Registration) ……………………………………………………………………………………….13
3.5.2 Sequence Diagram (Login) ………………………………………………………………………………………………….14
3.5.3 Sequence Diagram (Price Comparison) ………………………………………………………………………………14
3.5.4 System Sequence Diagram …………………………………………………………………………………………………15
3.6 Class Diagram …………………………………………………………………………………………………………………………15
3.7 Data Dictionary ………………………………………………………………………………………………………………………16
3.7.1 ERD ……………………………………………………………………………………………………………………………………16
3.7.2 Relational Diagram ……………………………………………………………………………………………………………17
3.7.3 Relational Schema …………………………………………………………………………………………………………….17

CHAPTER 4 Implementation Details 20


4.1 Choice of development tools ………………………………………………………………………………………………….20
4.2 Design trade-offs during implementation ………………………………………………………………………………20

5
CHAPTER 5 Testing 21
5.1 Unit Testing ……………………………………………………………………………………………………………………………..21
5.2 Integration Testing …………………………………………………………………………………………………………………..21
5.3 System Testing …………………………………………………………………………………………………………………………21
5.4 Smoke Testing ………………………………………………………………………………………………………………………….22

CHAPTER 6 Outputs of the Product 23


CHAPTER 7 Code 28
CHAPTER 8 Conclusions 31
8.1 Limitation of the system …………………………………………………………………………………………………………..31
8.2 Future work ……………………………………………………………………………………………………………………………..31
8.3 Conclusion ……………………………………………………………………………………………………………………………….31

6
1. Introduction:

1.1 Need of Product


While doing online shopping people search to buy good product with minimum cost. There is problem
that they have do more searching the product on different websites it gets too much time and this effort
is frustrated to filter all website which we can remember to search according to the index of popular
websites. This issue can give up the idea of commodity search system.The commodity search engine ap-
plication help to compare the cost of different product among different online shopping stores and ob-
tain the best least reasonable cost from them.The objective of this project to save the time of user
which the consumer consumes in searching the appropriate product on different websites, giving the
one platform to search and shop from different online shopping stores/websites. Another objective is
that to save the user’s money by giving path of appropriate minimum price of the product.

1.2 CS Issues:
Reusability and User interface can be the issues. Issue of Reusability is resolves because the application
is established in generalized way so that its source code can be used further in other applications as
well. As for interface we will provide a simple and easy to learn interface,so that user of the mobile ap-
plication would learn easily and fulfill his desires.

1.3 Benefits to Users:


User of the Application would be able to buy the feasible product .He has not to search more on differ-
ent plate forms. He has to open this application, types the product and get the feasible priced at item at
the given plate form. He has not to put more efforts in searching the same product from different plate
forms. To do not only it saves his time but also a quick result as well.

1.4 Gap Analysis with Existing Solution:


There are websites available for feasible rates such as sky scanner and etc. These websites compares the
rates of flights which are less changeable in a certain period. Butan application for the products for
online shopping is not available till now in Pakistan. The idea was unique and it fills the gap in market by
making a cross plate form mobile application.

7
2. Requirements Analysis
2.1 Functional Requirements:
2.1.1 Authentication:

The user will first have to register or sign-up to create a profile on the system and then will be author-
ized login access through email id and password.

2.1.2 Search a Product:

User will be allowed to search for a product by the search bar. And recent activities would be shown on
screen.

2.1.3 Look for product:

Product, searched by the user will be searched in the database if it is searched recently.

2.1.4 Go the database Server

Compare the price of the product and give the result by returning the product with the feasible rate on
one of the plate form. Where data base is updated via RSS feeds. So that user must have the updated
price of the product.

2.1.5 Show result


It will come up with the product name (searched) and its feasible price present at one of the plate form.

2.2 Non-functional Requirements


2.2.1 Performance Requirements
2.2.1.1 Responsiveness:
The application has to offer a very quick response time as user search a product is also done through
notification. This application responds properly to a high increase of users.

2.2.1.2 Extendibility:
This application should be extensible to support multiple platforms ios windows and android.

2.2.1.3 Reliability and maintainability:


Since a lot of information about the products and checks are the available in application it has to be
highly available and guarantees a good server up-time. The application is reliable and maintainable due
to addition of other features in future in development.

2.2.2 Safety Requirements

8
There are no safety requirements from the perspective of user for this app because this app only com-
pares the products. Indeed it necessary to secure the web service. Flags can be implemented for this
issue.

2.2.3 Security Requirements


Users are not required to log in. Release 1.0 does not provide account setup for users. Future releases
shall incorporate account setups and allow users to do transactions from one or multiple resellers from
our page. Currently, users use our page for searching toy items and discovering the best price. User se-
curity will be saved. Like password would be saved as one way encryption (md5) in database.

2.3 Key Features:


Real-time storage connectivity and transitions of data updated on database.

 User Interaction with existing web projects leading to Human Computations to interpret results
identifying issues helping in defining the authenticity and priority levels of the product..

Online commodity search system is used for the validating prices of the product and notifying users
regarding report status and updates(future).

 RSS feeds to get the updated values of the product from different plate forms.

Web service is used for the communicating different clients and integration of clients.

Searched product saved in the database as well so, that whenever user comes and ask for same prod-
uct, he gets the output even more quickly.

9
3 Design Details
3.1 Technologies Used:
We used cross platform technology xamarin.

3.2 System Architecture Diagram

Figure 3.1

3.2 System Architecture


Figure 3.1 depicts the high-level system architecture. The system will be constructed from multiple dis-
tinct

Components:

• User Interface: The mobile interface for searching and viewing the product of desire.

• Web Service: A component for communicating the different clients and their integration of Programs.

• RSS Feeds: The technology for gaining the updated information (price of the product in our project ) .

• Data Model: The classes needed to organize users, Tasks, Profiles, products etc.

• Data Storage: The interface for storing, importing and exporting the data model and raw collected.

10
3.3 Context Diagram

3.4 State Diagram


3.4.1 State Diagram (Registration)

11
3.4.2 State Diagram (Login)

2.4.3 State Diagram (price comparison)

12
3.5 Sequence Diagram

3.5.1 Registration

13
3.5.2 Login

3.5.3 Price comparison

14
3.5.4 System Sequence Diagram

3.6 Class Diagram

15
3.7 Data Dictionary (Non-Normalized Versions)
The purpose of data dictionary is to show tables their columns with relations i.e. primary and foreign
keys. We are providing data dictionary in the form of relational tables, in which every table is specified
with primary and foreign keys.

3.7.1 Normalized version consist of the three tables

User

Product

16
updatedproduct(bridgetable)

3.7.2 Relational Digram

3.7.3 Following the tables code.


CREATE TABLE User

user_name INT NOT NULL,

user_id INT NOT NULL,

email INT,

phoneno. INT,

PRIMARY KEY (user_id)

);

17
CREATE TABLE producy

p_id INT NOT NULL,

p_name INT NOT NULL,

p_price INT NOT NULL,

Attribute INT NOT NULL,

PRIMARY KEY (p_id)

);

CREATE TABLE updatae_product

u_pid INT NOT NULL,

u_price INT NOT NULL,

PRIMARY KEY (u_pid)

);

CREATE TABLE search

p_id INT NOT NULL,

user_id INT NOT NULL,

PRIMARY KEY (p_id, user_id),

FOREIGN KEY (p_id) REFERENCES producy(p_id),

FOREIGN KEY (user_id) REFERENCES User(user_id)

);

CREATE TABLE getsupdataed

u_pid INT NOT NULL,

p_id INT NOT NULL,

PRIMARY KEY (u_pid, p_id),

18
FOREIGN KEY (u_pid) REFERENCES updatae_product(u_pid),

FOREIGN KEY (p_id) REFERENCES producy(p_id)

);

19
4. Implementation Details
4.1 Choice of development tools
We used Xamarin forms to develop cross platform apps for android, iOS and windows using .net frame-
work and C#, visual studio 2017 for developing web service using REST architecture.

4.2 Design Trade-offs During Implementation


In early version of our application we focused on the main goal of system i-e to search and compare the
product price so we designed a simple GUI. System will remove old data after every update, which will
be time consuming for system.

20
5. Testing
5.1 Unit Testing
Definition:
Unit Test consists of testing individual programs or subroutines as they are written instead of testing the
entire system after it has been written. The testing of the smaller building blocks is done first and then
these blocks are combined and tested. Unit testing means each function independently to verify correct
processing in a stand-alone environment.

Participants:

Developers: Rakeshwer , Kashif .

Methodology:

a. Initial Unit Test were conducted by the developers after every work package or unit the functionality
of the web and cross plate form Xamarin forms plate form is being tested by the developers.
b. Later it will be manually tested by the team and also the volunteers.

5.2 Integration Testing

Definition:

Integration testing (Sometimes called integration and testing, abbreviated I&T) is the phasein software
testing in which individual software modules are combined and tested as agroup. It occurs after unit
testing and before validation testing. The cross plate form application‘sprograms were integrated for the
desirable application.

Participants:

Developers: Jeetash ,Rakeshwer

Tester: Bhagesh, Kashif

Methodology:

a. Initial testing was done by developers and manual testing was followed.

5.3 System Testing

Definition:

System testing of a software or hardware is testing conducted on a complete, integratedsystem to eval-


uate the system’s compliance with its specified requirements. Systemtesting falls within the scope of
black-box testing, and as such, should require noknowledge of the inner design of the code or logic.

Participants:

Developers: Bhagesh ,Jeetash

Tester: Kashif, Rakeshwer

21
Methodology:

a. After the completion of whole code the overall functionalities of the system weretested that it fulfills
all the requirements. Agile methodology was used.

5.4 Smoke Testing:


Definition:

In the computer programming and software testing, smoke testing (also confidencetesting, sanity test-
ing) is preliminary testing to reveal simple failures severe enough to (forexample) reject a prospective
software release.

Participants:

Tester: Bhagesh ,Kashif, Jeetash , Rakeshwer

Methodology:
a. After the completion of the whole code the main functionalities of the system weretested. Agile
methodology was used.

22
6. Output Of Product
Login

Sign Up

23
ABOUT US

24
Search Product

25
Display Product and Price

26
27
7. Code
7.1 RSS FEED:
RSS stands for Rich side summary originally RDF site summary, often it is Really Simple Syndication is a
type of web feed through which we get the updated values from different plate form. In our case we get
updated values of the product that is a user of the application going to buy.

A web feed is also called channel, feed, RSS, which includes full or summarized metadata like publishing
date , and authors name , title , link description.

Both JSON and XML formats are used via RSS. But XML is used much more as compare to JSON. Because
of the huge amount of data, and its self tags properties which can easily be connected to data-
base/Azure at run time.

In this mentioned class of RSSItemViewModel , It goes for url of feeds , where the feeds are present ,
program goes to that link , loads the program in to its memory and show the feeds on the screen in the
xml (serialized) format.

.Xaml File

28
This class is for the UI in xamarinforms , where attributes are used with Binding property of xamarin
forms . Which helps to user to play with application easily and patiently.
Libraries :

using System For system calls


usingSystem.Collections.Generic; Generic Collection like IList, ICommand, I Enumnerable
using System.IO; For input out streams
Using system.Xml.Linq; Linq (xml) structure is followed in xamarin forms
usingXamarin.Forms; To access the functionality of xamarin
usingSystem.Windows.Input; To access the functionality of windows
using System.Net; To access Web
usingSystem.Linq; Linq (xml) structure is followed in xamarin forms
using Newtonsoft.XML; To get the data from web in xml format for the local da-
tabase
usingSystem.Threading.Tasks; Threading tasks

Web Service :

The whole system works under the MVVM (model view, View Model) paradigm . The purpose of estab-
lishing the web service is to communicating and integrating different services/clients.

REST protocol is being used as the this is mobile application and data will be transferred less .

Models: Product details

View: Interface in xaml format

29
Services: Actual tasks that are going to be performed.

View Models: contain main view model.

It also consists of controllers which control whole the paradigm.

Product Controller and productMVCcontroller.

Some of the plugins were also installed such as Restclient

Rest Client Code // plugin

30
8. Conclusion
8.1 Limitations of the system
Software constraints

There should be internet connection to use this software.

Hardware constraints

Software will work on only those devices which support the iOS, windows and android operating sys-
tems.

Cultural constraints

Only English (US) language is used in this app.

Legal constraints

This application will be concerning with data provided by the ecommerce websites.

User constraints

This app is developed for those users who could operate a normal smart phone application.

8.2 Future work


In future, the application can be extended, such as there will be notifications for the user, user will be
notified on cell phone number through message about update in interested items of the user. We are
taking RSS feeds of only yavo.com, in future we will get authorization feeds of other e-commerce sites in
Pakistan. This app is working on android and iOS, in future it will be extended on other platforms.

8.3. Conclusion:
While doing online shopping people search to buy good product with minimum cost. The objective of
this project to save the time of user which the customer consumes in searching the appropriate product
on different websites in Pakistan, giving the one platform to search and shop from different online
shopping stores/websites. Another objective is that to save the user’s money by giving path of appropri-
ate minimum price of the product. This application gives the single platform to user to search the prod-
ucts from different websites, then compare the price of product searched and show an appropriate
product with lowest price.

This application would be operating on different operating system like windows, android and iOS smart
phones .This application needs internet for operation.

31
References

https://www2.warwick.ac.uk/fac/soc/economics/research/workingpapers/2015/twerp_1056b_ronayne
.pdf

https://www.researchgate.net/publication/301405449_A_commodity_search_system_for_online_shop
ping_based_on_ontology_and_web_mining

https://www.webharvy.com/articles/what-is-web-scraping.html

https://medium.freecodecamp.org/how-to-scrape-websites-with-python-and-beautifulsoup-
5946935d93fe

https://www.pricehunter.co.uk

John M. Pierre. On the Automated Classification of Web Sites. Electronic Transactions

on Artificial Intelligence, 2001, p. 6, http://citeseer.ist.psu.edu/559123.html

32
33

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy