Professional Documents
Culture Documents
Augmented Reality Assisted E Commerce v2
Augmented Reality Assisted E Commerce v2
UNIVERSITY
Group Members ID
Engida Lishan R/0426/08
Ephrem Demelash R/0427/08
Ermiyas Kasahun R/0436/08
Etsehiwot Eshetu R/0447/08
Kebede Urgecha R/0692/08
I
Submitted by
Approved by
Department
I
Acknowledgement
The success and final outcome of this project required a lot of guidance and assistance
from many people and we are extremely privileged to have got this all along the
completion of our project. All that we have done is only due to such supervision and
assistance and we would not forget to thank them.
We respect and thank Mr. Megersa, our adviser, for providing us an opportunity to do
this project and giving us all support and guidance which made us complete the
project duly. We are extremely thankful to him for providing such a nice support and
guidance, although he had busy schedule.
Finally, we would like to thank our CSE department for all support.
Team Members
II
Table of Contents
Acknowledgement..................................................................................................................................... II
Definition.......................................................................................................................................... IX
Abbreviations.................................................................................................................................... IX
Chapter One............................................................................................................................................... 1
1.1Introduction.................................................................................................................................. 1
1.10 Methodology.............................................................................................................................. 6
1.13 Schedule................................................................................................................................... 10
Chapter Two............................................................................................................................................. 13
III
2.1 Major Function of the Existing System..................................................................................... 13
Chapter Three........................................................................................................................................... 17
Proposed System...................................................................................................................................... 17
3.1 Overview.................................................................................................................................... 17
3.3.3 Reliability........................................................................................................................ 18
3.3.5 Security........................................................................................................................... 19
3.4.1 Scenarios......................................................................................................................... 19
Chapter 4.................................................................................................................................................. 77
System Design................................................................................................................................. 77
4.1 Overview.................................................................................................................................... 77
IV
4.2.7 Access Control........................................................................................................................95
Chapter Five............................................................................................................................................98
Implementation........................................................................................................................................98
5.1 Overview...................................................................................................................................98
5.4 Prototype..................................................................................................................................100
Chapter six.............................................................................................................................................103
System Testing......................................................................................................................................103
6.1 Introduction.............................................................................................................................103
6.2 Scope.......................................................................................................................................103
6.3 Resources.................................................................................................................................103
6.4 Schedule..................................................................................................................................103
6.7 Approach.................................................................................................................................104
CHAPTER 7..........................................................................................................................................107
References.............................................................................................................................................110
V
List of Figures
Figure 1 Use case Diagram............................................................................................................33
VI
Figure 33 state diagram for augment 3D model............................................................................74
VII
List Of Tables
Table 1 Software tools....................................................................................................................8
Table 4 Schedule...........................................................................................................................11
Table 13 use case description for Review product and give feed back........................................ 38
Table 17 use case description for Report fraud and false advertisement......................................41
VIII
Definition and Abbreviations
Definition
Abbreviations
IX
Chapter One
1.1 Introduction
Augmented reality (AR) is one of the biggest technology trends right now, and it’s
only going to get bigger. AR let us see the real-life environment right in front of us
with a digital augmentation overlaid on it. This makes it ideal to use it in e-commerce.
In developed countries e-commerce presently shapes the manner in which people shop
for products. It is a giant industry that created opportunities for many and eased the
life of much more people.
When it comes to e-commerce, a word that first comes to mind is growth. Recently,
because development of augmented reality is getting advanced it is being used in
many sectors. One of this sectors is e-commerce. This makes the experience of buying
online assuring, easy and fun.
E-commerce was initially introduced about 40 years ago in its earliest form. Since
then, electronic commerce has helped countless businesses grow with the help of new
technologies, improvements in internet connectivity, and widespread consumer and
business adoption.
E-commerce has evolved to make products easier to discover and purchase through
online retailers and marketplaces. Independent freelancers, small businesses, and large
1
corporations have all benefited from e-commerce, which enables them to sell their
goods and services at a scale that was not possible with traditional offline retail.
In our country, Ethiopia, e-commerce is in its infancy and is rarely used. But now
things are going to change because the government of Ethiopia is preparing a draft
national law to govern e-Commerce, internet coverage and speed has increased in the
past decade, banking services have been improved and some other efforts are being
made.
While E-commerce have been used by many countries around the world it is still new
and unpopular in Ethiopia. Many factors contribute to this which includes no complete
payment system, less awareness , trust issues by users, some fraud and using fake
product image by sellers.
Many of Ethiopian commerce sites presents the product in single image and in an
inexpressive way or in generic/dull thumbnail images which give bad product review.
And also users can`t experience how the product looks like from different angle.
There is lack of market place where product manufacturers, sellers and organizations
can sell their product directly to the user in an understandable and closer to reality
way like Augmented Reality which are used by major online market places.
In addition many sites simply lists products without an option to buy and do not have
a web and mobile app 3D product rendering capability.
The main purpose of this project is changing the way e-commerce presents product
into Augmented Reality view and the overall user experience while shopping online.
2
The general objective of this system is to develop a web and mobile application that
provides e-commerce service using mobile payment system and displaying products in
3D view and/or Augmented Reality technology.
The scope of this project is to develop a complete e-commerce system that uses
augmented reality to present and review products. The system includes mobile
application and web application to sell and purchase products online. Payment will be
achieved by using APIs from some banking services like Hellocash and Amole.
3
1.6.2 Limitation of the Project
The project has some limitations that arise from being made in a developing country.
This limitations are:
For the augmented reality to work, 3D scanning tools are needed which is
difficult to get, so we should find other solutions like to render images into
3D objects on external servers
Payment options are limited but we are able to implement custom simulation of
payment system
We evaluated and determined the practical extent to which the project can be
The technology chosen for development, ARCore (Google’s API for AR) for mobile
application and Node JS for web application, has a large number of users so we can be
consulted when problems arise during development. Due to these reasons we ascertain
the project is technically feasible.
When the system is fully implemented it is very easy to deploy, the resistance from
the application users will be some how difficult to come by, but with proper awareness
creation and by making the system easy to interact with the advantage of the system
will outweigh the resistance. And also our team is capable of designing such required
system. So the project is operational feasible.
4
1.7.3 Economical Feasibility
The cost incurred to develop this system is stated in section 1.13 and it is very low.
The cost that will be incurred to deploy the system, to by all the hardware and to train
the users will be much greater but, it will be out weighted by the long-term benefit the
system will bring. Due to this we believe the system is economically feasible.
By the time this project will have been implemented it will have the following
significance:
Buyers will have the opportunity to see how the product would fit in their
real life
Furniture companies because they can AR to see how products fit in houses
5
1.10 Methodology
Observation
We have visited relatively popular e-commerce sites that are active now. And also we
have observed how people use social media marketing in order to sell and buy
products online.
Document Analysis
We have analyzed research papers that are done on how to use augmented reality for
e-commerce. These documents were done very recently so that the data we get is not
out of date.
To develop the system we will use Agile software development methodology which is
centered around the idea of iterative development, where requirements and solutions
evolve through collaboration between self-organizing cross-functional teams.
Team members enjoy development work, and like to see their work used and
valued
In this proposed system we use client-server architecture for managing products and
delivering contents to web and mobile app. And also we use augmented reality(AR) to
show product’s 3D model in end users smart phone.
6
To augment products in users mobile we use marker-less AR method. This method
uses an advanced tracking system that allows active tracking and recognition of real
environment on any type without using discrete markers.
We will use ARCore which is Google’s platform for building augmented reality
experiences using marker-less spatial awareness.
ARCore uses three key capabilities to integrate virtual content with the real world as
seen through your phone's camera:
Motion tracking allows the phone to understand and track its position
lighting conditions.
ARCore's understanding of the real world lets you place objects, annotations, or other
information in a way that integrates seamlessly with the real world.
We use various development tool that help us develop the project as well as document
the project.
7
Database server MYSQL Store and manage data
Vs Code:-web development
8
Printer To print required document
Pen 5 10 50
Notebook 1 30 30
CD 1 5 5
9
Postman 1 free free
1.13 Schedule
10
4 Prototype Feb 1 Used to design the prototype of the
Design - Adobe XD system UI & UX of web and
Mar 10 android app.
5 Coding and Mar 10 VS Code, In this phase we will try to:-
implementation – MYSQL
I. Implement database design
May 30 Workbench,
Postman,
II. Implement core modules and
XAMPP,
services.
Chrome,
Android Studio III. API implementation
Team Members
11
2 Ephrem Demelash R/0427/08 demelashephrem@gmail.com Implementation, Design,
Testing, Database
design, Analysis
12
Chapter Two
Major function of existing system is registering user, providing cart system, payment
method that is used during transaction, product management and order management to
summarize delivery information and order information.
Registration
In order to make purchase and put the product for sell user must register to the system and provide all
information needed for payment .
Cart
The cart is a tool that, like a shopping basket, allows users to select the products they
want and add them to the cart then go to checkout for payment
It includes:
Payment system
The payment system is a mechanism that facilitates dialogue between the parties
involved in financial transactions: the bank, the store and user with credit card.
After filling in the order, the customer enters his/her credit card number that travels
along a channel solely accessible to the bank. The bank checks the customer’s account
and decides whether or not to authorize the payment.
Product management
This is the main part of the e-commerce system and provides all the features required
for product placement, order fulfillment, etc.., key to the management of online sales.
13
Product management: makes it possible to define with set of standard property such
as :
product code
category
product name
description
image size
available
price
piece in the stock
Order management
The order is the card that summarizes all the delivery and order information to enable
correct delivery. It includes:
14
2.3 Drawbacks of Current System
The drawbacks of the current systems are:
Lack of attractiveness to engage customers and also sellers
Products are not presented accurately (Fraud)
Sites are mostly dependent only on web apps
Payment system is not well developed
Delivery systems are inconvenient
There are several conditions forcing the preparation of legal frameworks. According
to Communications Service Regulation Proclamation “The Ethiopian
Communications Regulatory Authority fosters the development of electronic
commerce through the use of electronic signatures to lend authenticity and integrity
to correspondence in any electronic medium”.
Article 21 of the National Payment System Proclamation states that in the event when
the law forces the conclusion of any instrument in writing, the presentation of such
instrument in the digital copy is considered acceptable. The Proclamation further
states that a digital presentation of such evidence shall be admissible in any court as
evidence.
15
appointed by the Ministry or its designate in line with procedures to be established for
this purpose.” The Proclamation further states that a duly drawn up warehouse receipt
delivered to a bailer shall constitute a valid contract between a warehouse operator and
a bailer.
16
Chapter Three
Proposed System
3.1 Overview
The proposed system is designed with the aim of solving the some of the
problems that exist in the current e-commerce that is being used in Ethiopia by
introducing Augmented Reality functionality to it.
Users will be able to reset password, if lost, through email provided during
registration.
Free tour
Tour as a guest : non registered users can browse and search specific
products
Tour as a user : users can browse and get membership benefits based on
access control
Sellers will be able to upload 3D models of products that they intend to sell.
Buyers will be able to augment 3D models into the reality (review placement)
using smart phones.
Cancel order : only buyer who have made the order can cancel the order as
described on terms of the agreement.
17
Operators will be able to remove products
Registered members can update their profiles, addresses and payment options
The system should provide high performance so that it can be better than similar sites.
The system should respond to any user request as soon as possible and must handle
many concurrent requests simultaneously.
3.3.3 Reliability
The system should be released after testing thoroughly since it is related to sensitivity
and money. Situations in which request and response run unexpectedly should be
minimal and the system must generate errors and report back to the user.
Each error that may occur in the system will be handled accordingly in order to reduce
the amount of failure. The system will be best in handling errors and display an
appropriate error message.
18
3.3.5 Security
The files that will be recorded in the system have to be secured and must be kept in a
secured manner. User’s account information will be accessed by the user itself only.
3.4.1 Scenarios
Scenario 1
Entry condition:
Flow of events:
Alternative condition:
If the input is wrong the system will generate error message and let the user
to refill forms
Exit condition: The system saves the entered data into database
Scenario 2
19
Name of scenario: Login to the system
Entry condition:
Flow of events:
Alternative condition:
If the input is wrong the system will generate error message and let the user
to refill forms
Scenario 3
Entry condition:
20
If user enters invalid recovery email system will generate error or show
message that show its invalid email.
Exit condition: User uses new password to login into the system
Scenario 4
Entry condition: User must have valid username and password to login into the
system
Flow of events:
Scenario 5
Entry condition:
Flow of events:
21
Seller clicks ‘sell’ link and goes to sell page
Alternative condition:
If the input is wrong the system will generate error message and let the user
to refill form
Scenario 6
Entry condition:
Flow of events:
Alternative condition:
if the user provides invalid credential the system generate and display errors
22
Scenario 7
Entry condition:
Flow of events:
Alternative condition:
Exit condition: The product will be viewed in AR mode using mobile phone’s
camera
Scenario 8
Entry condition:
23
Buyer submits his/her feed back
Alternative condition:
Scenario 9
Entry condition:
Flow of events:
Alternative condition:
if the user provides invalid credential the system generate and display error
message
24
If buyer doesn’t provide payment information redirect to payment option of
account page.
If user provides invalid address, the system generates and displays error
message
Exit condition: Record order to our database and update our catalog database.
Scenario 10
Entry condition:
If he/she fills the form incorrectly then the system will generate error
message.
Exit condition: Save updated information to database
Scenario 11
25
Participating instance actor: Buyers
Entry condition:
Flow of events:
Alternative condition:
if the user provides invalid credential the system generate and display errors
If the order has been handled to delivery, the system generate status message
Exit condition: Remove the order from the database and update catalog
Scenario 12
Entry condition:
26
Flow of events:
Alternative condition:
If the input is wrong the system will generate error message and let the buyer
to refill the form
Scenario 13
Entry condition:
Flow of events:
Admin clicks ‘manage accounts’ link and browse manage accounts page
Admin selects ‘create new operator’ from the options in that page
Alternative condition:
27
If the input is wrong the system will generate error message and let the admin
to refill the form
Scenario 14
Entry condition:
Flow of events:
Admin clicks ‘manage accounts’ link and browse manage accounts page
Scenario 15
Entry condition:
28
Flow of events:
Scenario 16
Entry condition:
Flow of events:
29
3.4.2 Use Case Model
Name : Buyer
Role : Order a product, track order, cancel order, update profile, view product
catalog, review and rate products, search items, and payment
Name : Seller
Role : Put product on sale, accept payment, update profile, product status,
update product stock and receive orders
Name : Operator
Description : A person responsible for handling customer report and users behavior
Role : Remove product, view users info, suspend users, upload news &
announcement, review reported comment and review feedback
Name : Admin
Name : Guest
Role : Browse product catalog, read news and announcement, search items
and read product description and review
30
Login to the system
Resetting password
Search product
Free tour
Augment 3D model
Purchase
update profile
Cancel order
Suspend Users
Remove products
31
3.4.2.3 Use Case Diagram
Figure 1 Use case Diagram
33
Pre-condition the website app
User should have an account
User must have mobile app or navigate to
the website app
Flow of event User will browse to web app or opens
mobile app
User inserts email and password to the input
form
User submits input
Post condition User login to the system
Alternative flow of event If the input is wrong the system will generate
error message and let the user to refill forms
Table 7 use case description for Login
34
Post condition User gets new password to use in the system
Alternative flow of event If user enters invalid recovery email system will
generate error or show message that show its
invalid email.
Table 8 use case description for Reset Password
Use case ID 04
Use case ID 05
Actor Sellers
35
Pre-condition User must have mobile app or navigate to
the website app
Sellers must have valid username and
password to login into the system
Flow of event Seller login into the system
Seller clicks ‘sell’ link and goes to sell page
Seller fills all the forms presented on sell
page
Seller chooses 3D model of product from
file using file chooser
Seller submits the form
Post condition New product will be uploaded
Alternative flow of event If the input is wrong the system will generate
error message and let the user to refill form
Use case ID 06
Use case description Visit the web app or mobile app to just see products
Actor Anyone
36
If the user provides invalid credential the system
Alternative flow generate and display error messages
Use case ID 08
Use case description Buyers can see product details and may give feed back on them
37
Actor Buyers
Pre-condition Buyers must browse to the web app or open mobile app
Table 13 use case description for Review product and give feed back
Use case ID 09
Actor Buyer
38
User clicks “checkout” button
Post-condition Record order to our database and update our catalog database
Use case ID 11
Alternative flow If he/she fills the form incorrectly then the system will
39
generate error message
40
Table 16 use case description for Cancel order
Use case ID 13
Actor Buyer
Table 17 use case description for Report fraud and false advertisement
Use case ID 14
Use case description Admin can create new operator when needed
Actor Admin
41
Admin login into his/her account
Main flow Admin selects ‘create new operator’ from the options
in that page
42
operator
Post condition Operator deleted from database
Use case ID 16
Use case description Operators can suspend users if users violet terms of the system
Use case ID 17
43
Main flow Operator login into his/her account
Operator clicks on ‘view product’
Operator selects the specific product
Operator selects on remove product
Operator confirms on pop-up
Post condition Product will be hidden from Buyers and
seller
Product is removed from the system
Table 21 use case description for Remove Products
Token generateToken()
Last_name
Username
Phone
password
44
removeReview() system
Size
Description
Quantity
Payment_type orders
Payment_account
Balance
Seller_type RemoveProduct()
Payment_type
Payment_account
45
Order_id
Confirmation_number
Date
Status
cost
City
Country
Phone_number_2
Occupation
Merital_status
Current_address
Profile_picture
46
Payment Pay_to Pay() Allows users to pay,
accept and view
Pay_from viewHistory()
previous payments
Order_id
Payment_id
47
48
Figure 2 Class diagram
49
Figure 4 sequence diagram for login
50
Figure 5 sequence diagram for search
51
Figure 6 sequence diagram for put product for sale
52
Figure 8 sequence diagram for feedback
53
Figure 9 sequence diagram for purchase
54
Figure 10 sequence diagram for update profile
55
Figure 11 sequence diagram for remove product
56
3.6.2 Activity Diagram
57
Figure 13 Activity diagram for reset password
58
Figure 14 Activity diagram for search
59
Figure 15 Activity diagram for put product for sale.
60
Figure 16 Activity diagram for free tour
61
Figure 17 Activity diagram for augment 3D model
62
Figure 18 Activity diagram for update profile
63
Figure 19 Activity diagram for cancel order
64
Figure 20 Activity diagram for report fraud and false advertisement
65
Figure 21 Activity diagram for create account
66
Figure 22 Activity diagram for delete account
67
Figure 23 Activity diagram for suspend user
68
Figure 24 Activity diagram for remove product
69
3.6.3 State Chart Diagram
70
Figure 27 state diagram for free tour
71
Figure 28 state diagram for view product
72
Figure 30 state diagram for update profile
73
Figure 31 state diagram for search product
74
Figure 34 state diagram for suspend user
75
Figure 36 state diagram for create operator
76
Chapter 4
System Design
4.1 Overview
System design part of the system is the transformation of the analysis model into a
system design model.This chapter focuses on transforming the analysis model into the
design model that takes into account the non-functional requirements and constraints
described in the problem statement and requirement analysis sections discussed
earlier.
The purpose of designing is to show the direction how the system is built and to obtain
clear and enough information needed to drive the actual implementation of the system.
It is based on understanding of the model the software built on. The objectives of
design are to model the system with high quality. Implementing of high quality system
depend on the nature of design created by the designer. If one wants to change to the
system after it has been put in to operation depends on the quality of the system
design. So if the system is design effectively, it will be easy to make changes to it.
The objectives of design are to model the system with high quality. The design goals
are derived from nonfunctional requirements that means non-functional requirement is
the description of the feature characteristics and attribute of the system as well as any
constraints that may limit the boundary of the proposed solution.
Design goals describe the qualities of the system that the developers should consider.
Performance
Dependability
Maintenance
End user
77
Performance
Dependability
Robustness: - since augmented reality system is a web based system, that mainly use
a menu driven entry there wouldn’t be an input problem by the user side. But for the
server side there might be an error during the process of updating a data due to server
failure, network failure but the system will provide an error message in synchronizing
the data and continue without crushing.
Security: - augmented reality system should be secured, i.e., not allow other users or
unauthorized users to access data that has no the right to access it.
Maintenance
78
Modifiability:- augmented reality system should be modifiable for further
modification and enhancement of the system.
Portability: - the system is developed to be viewed and retrieved from any web
be achieved by only making a separate page and integrate this page with the
existing system.
Readability: - the system code can be viewed by clicking on the current web
The system should have simple and understandable graphical user interface such as
forms and buttons, which have descriptive names. It should give reliable response for
each user request.
79
Figure 37 System activity diagram
80
Figure 39 system process
To reduce the complexity of the solution domain, we decompose a system into simpler
parts, called subsystems. The main need of this portion is to design the external part of
the system.
81
Figure 40 sub system Decomposition
82
4.2.3 Hardware and Software Mapping
Hardware and Software mapping for our system describes how subsystem are
assigned to hardware and off-the-shelf component. We used microservice architecture
which is composed of a set of small services, each running in its own process and
communicating with lightweight mechanisms.
84
Figure 44 cart mapping
85
Figure 48 comment mapping
86
Figure 51 product mapping
87
4.2.5 Component Diagram
88
89
Component Description
Authentication controller
Role: it is responsible to check if the validity of a user trying to login to the system
Page controller
Description: This is a route class which will route to each pages as needed
Data organizer
Description: the base component which is directly linked to the users of the system
Role: is responsible for tracking session and displaying the appropriate dash board
and log activities of a user.
Component controller
Description: this is a class which extends the base controller class responsible to look
for components.
Role: this class is responsible to control all the components in the system.
Form controller
Description: the base form controller class in which governs the form submission in
the system and sends back to the view called view form.
Role: this class is responsible for controlling of form submission before further
process.
90
Profile model
Description: this is a class which is linked with the profile table in the database.
Role: responsible for the extraction of record from and to the table.
Component model
Description: this is a class which is linked with the database table in which used to
determine the component to display to the user.
Role: responsible for the getting record from the database in order to display the
appropriate component to the user.
Module model
Description: this is a class which is connected with the module table in the database
and linked with the pages controller for further process.
Role: this class will be used to retrieve info from and to the module table and deliver
to the pages controller class.
Configuration model
Role: is responsible to get access to the database table and return the data to the
component controller for further process.
Header template
Description: this is the basic tinplating engine which is the Node.js layout
Role: this is used to customize the code so that it would be easier to debug
91
Navigation template
Description: this is the html file used to create the common navigation bar
View form
Description: this is the form viewer class using blade template and connected to the
form controller class
Role: is used to create the basic form views that will be displayed to the user
Description: this is the view class used to preview the statistical records to the user
connected to data organizer class
User view
Description: this is the view class using the blade template engine connected to the
component controller class
Footer template
Description: the view class using the base template and connected to the footer
controller class
Component view
92
Description: the view class using the Node.js templating engine and connected to the component controller
The information which registered in the system we bulled have to be secure. In our
system, different actors have access to different functionality and data. Therefore these
privileges put off unauthorized users from accessing data’s which they don’t have
privilege to access.
The table below shows the global access table, describing the access relation between
the actors, objects and operations in the system:
95
Actors Cart Review order Announcement
Guest addItem() readReview() readAnnouncement(
)
updateCart()
Buyers giveReview() checkOut() readAnnouncement(
)
addItem() readReview() updateOrder()
updateCart() updateReview() cancelOrder()
Sellers readReview() getOrders() readAnnouncement(
)
acceptPayme
nt()
Deliver()
Operators readReview() viewOrders() readAnnouncement(
)
removeReview()
uploadAnnounceme
nt()
updateAnnounceme
nt()
Admin readReview() viewOrders() updateAnnounceme
nt()
removeReview()
96
Figure 57 user interface
97
Chapter Five
Implementation
5.1 Overview
5.2.1 Indentation
In order to make our code easy to read, we will use a minimum of three spaces to
indent by. And this standard will be used through out the project.
Examples:
print(‘hello world’);
5.2.2 Comments
Comments will be used to make the code more clear. Both inline comments and block
comments swill be used whenever necessary.
5.2.3 Classes
98
Classes should have only one job. We will avoid classes that are very big and that do
multiple jobs.
Functions and method names will have verbs in them and are written using camel case
coding standard.
Examples:
sayHello, printNumbers
Variable names should have meaningful names that could be understood by casual
observers. Variables should be initialized prior to their use.
For braces we will use the Kernighan and Ritchie style. It is more readable and neat.
Examples:
print(‘hello world’);
It is considered good practice to use lines that has at most 80 characters. We will use
this standard for this project.
5.2.8 Spacing
In a line, a space should appear before after every equal sign, parenthesis, comma,
arithmetical operators and logical operators.
Error messages should be meaningful so that users will understand what goes wrong
and what to do next.
99
5.3 Development Tools
We will use different tools and technologies for client side and server side
development based on their performance and efficiency to develop our system. Our
project will be developed mainly using Javascript and Node.js framework with node
package manager(npm) for installing and managing project modules.
And also as an option we will use either Axios or Appolo Graphql for
rest api data exchange.
For mobile app development tools include Android framework and Google ARCore
for handling AR functionality.
For both client and server side development we will use nodemon for local server
monitoring.
5.4 Prototype
100
Client side programming has mostly to do with the user interface, with which the
user interacts. In web development it's the browser, in the user's machine, that runs
the code, and it's mainly done in JavaScript, css, etc. This code must run in a variety
of browsers.
Components
Browsers
Components of server-side
Node.Js
MySQl
The client and the server will communicate with restful API.
Authentication Controller
Perform authentication and authorization when the user needs to register and login,
and to check user’s permission to access a certain page.
Content Controller
This controller is collection of many content controller classes which handle all
content request routes to each page and send response by retrieving the necessary
content from the database.
101
Object Relational Mapper
Data Modeling
This class organizes retrieving, creating, updating and deleting of data using object
method and mapping of retrieved database results to object class.
Profile Model
This class extends functionality of Data Modeling class which is connected to profile
table in the database and used for manipulating records from and to the table.
Layout View
This package consists of header and footer layouts of the user interface which will be
implemented using React framework so that it can be included by all the view class.
Error Controller
This class will be responsible for displaying appropriate and useful error messages for
server side error and also client side errors like page not found , invalid request and
internal errors.
Augment controller
This class handles retrieving the 3d model to augment the model into users mobile by
using the camera. This class will be implemented using java for android by using
Google’s ARCore platform.
102
Chapter Six
System Testing
6.1 Introduction
System testing is the process of testing how the systems functional and non-functional
requirements are performing their functions correctly and effectively. Especially the
system testing focuses on the back end of the system.
6.2 Scope
The scope of this project is to develop a complete e-commerce system that uses
augmented reality to present and review products. The system includes mobile
application and web application to sell and purchase products online.
6.3 Resources
Are any materials used to specify utilized for testing purpose. Like SRS document.
6.4 Schedule
Scheduling is the time arrangements given by the responsible body of the system to
perform whatever activities designed.
Are any features in the system that can be tested by the developers of the system. This
is mostly focus on functional requirements of the system.
103
1 Functional General Ephrem Demelash
requirements Functionality of the
system
2 Code Each Kebede Urgecha
code/components
3 Platform Run on different Ermiyas Kasahun
systems
Table 27 Features to be tested
Are any activities of the system that are not mostly tested by the developers of the system.
Is the situation in which the pass and fail criteria of the system are determined using
standard terminologies of pass/fail pass/fail.
6.7 Approach
Is the method that can be used by the developers to specify the testing task.
Methodology:
With this testing approach, all the specs will be ready for a prototype, and a plan will
be built to be shown; the tester writes his or her code and will see if he or she could
obtain the same results that the specs mentioned. This way, the specs will be tested on
each prototype, and continuous testing will be applied.
104
R duced testing to be performed at the end of the cycle
Different viewpoints for the same problem can lead to varying results
Table below shows the test specifications of functional requirements used to write the
test cases along with the test case numbers for each test case and a short description of
the test cases.
105
every order history and
transaction
FR08 TC08 To test only buyer who
have made the order can
cancel the order
FR09 TC09 To test admin can be able to
create and delete operator
accounts
FR10 TC10 To test buyers can report
fraud and false
advertisement from sellers
Table 29 Test case specification
Estimated risk is any risk that the system developer can face during developing the
system and contingency plan is the plan developed to solve the risk that the
developers face.
106
Chapter Seven
Admin login into his/her account >clicks ‘manage accounts’ link and
browse manage accounts page >selects ‘create new operator’ from the
options in that page > fills the form in create new operator page
>submits the form
and login into his/her account >clicks ‘manage accounts’ link and browse
manage accounts page >selects ‘Delete operator’ link >choose the
operator from dropdown list>confirms the pop-up to delete operator
Register to the system:-to register on the system User must have valid email address
and phone number.
User browse to web app or open mobile app and goes to register page >Fill all
the required form >Read and accept terms and conditions of the system
>Submit the input
Login to the system:-every user should have an account to log into the system
User browse to web app or opens mobile app > inserts email and password
to the input form > User submits input.
107
search product:-Every user must have valid username and password to login into the
System.
User login to the system >uses search field to insert product name, keyword
or product code >presses search button and query the product in the store
Seller login into the system > clicks ‘sell’ link and goes to sell page >fills all
the forms presented on sell page >chooses 3D model of product from file using
file chooser >submits the form
Augment 3D model:-
Buyer/Guest opens the mobile app >opens product view page by selecting
a product >clicks on ‘Augment’ button
Review product and give feed back:-Buyers must browse to the web app or open
mobile app
Buyer login into the system >selects preferred product >press “give
feedback” button on the page >writes his/her feed back on the form
provided>submits his/her feed back
Purchase:-buyer navigate to our website or open mobile app should have valid
account and payment method
Login into the system >homepage >Select a product from the catalog >Click
“add to cart” button from product description page >insert number of items
wanted >clicks “checkout” button >insert shipping address >Display order
receipt and confirmation number.
108
Login to the system >Go to profile section >Display full profile
information >Select edit profile >Edit required form and update
information >Click ‘update profile’ to update >Show updated profile
Login to the system>product catalog on the home page >clicks “Orders” button
Lead the user to a list of orders page >Select and click “Cancel Order” button
from the order
Buyer login into his/her account >chooses the specific product >clicks on
‘report’ link or button >fills form report page >submits report
Suspend Users:-operator must have valid operator username and password and
navigate to our website.
109
References
www.wikipedia.com, Wikipedia
www.google.com, Google
Tigist Ashenafi: The Legality of E-commerce and E- signature Under Ethiopian Law,
February 2017
NOAA National Weather Service NWS/OHD, General Software Coding Standards and Guidelines
Lu, Y. & Smith, S. (2008) Augmented Reality E-Commerce: How the Technology Benefits
People's Lives
110