You are on page 1of 8

Software Requirements

Specification
For

Counterfeit Cosmetics
Verification System Using
Blockchain

Version 1.0 approved

Prepared by

Daniyal Awan 1812260 & Huzaifa Bin Atif 1812273

SZABIST
ACKNOWLEDGEMENT

We wish to express my sincere thanks to the SZABIST Karachi for accepting us into the
undergraduate program in computer science and all the academia throughout the graduate
program who helped me build my extensive knowledge which will help us in our professional
life.

Finally, we must thank my family and friends for their never-ending love and support, and
continuous encouragement throughout the entire process.
Table of Contents
Table of Contents .................................................................................................................... iii
Revision History ...................................................................................................................... iii
1. Introduction ......................................................................................................................... 1
1.1 Purpose ....................................................................................................................................... 1
1.2 Document Conventions ................................................................................................................ 1
1.3 Intended Audience and Reading Suggestions ................................................................................ 1
1.4 Product Scope ............................................................................................................................. 2
2. Overall Description .............................................................................................................. 2
2.1 Product Perspective ..................................................................................................................... 2
2.2 Product Functions ....................................................................................................................... 2
2.3 User Classes and Characteristics ................................................................................................. 2
2.4 Operating Environment ................................................................................................................ 3
2.5 Design and Implementation Constraints ....................................................................................... 3
2.6 User Documentation .................................................................................................................... 3
2.7 Assumptions and Dependencies ................................................................................................... 3
3. External Interface Requirements ........................................................................................ 4
3.1 User Interfaces ............................................................................................................................ 4
3.2 Hardware Interfaces .................................................................................................................... 4
3.3 Software Interfaces...................................................................................................................... 4
3.4 Communications Interfaces .......................................................................................................... 4
4. System Features ................................................................................................................... 8
5. Other Nonfunctional Requirements.................................................................................. 10
5.1 Performance Requirements ........................................................................................................ 10
5.2 Safety Requirements .................................................................................................................. 11
5.3 Security Requirements ............................................................................................................... 11
5.4 Software Quality Attributes ....................................................................................................... 11
Page 1

1. Introduction

1.1 Purpose

In this exceptional time, counterfeit cosmetics are found in more important closeness. This prompts
the arrangements of a lot of fake things which archives confusion and uncertainty among clients. For
over 10 years now, RFID (Radio Frequency Identification) innovation has been very powerful in
giving anti-counterfeit measures. Consider the possibility that we use block chain innovation to
recognize unique items and add a DR code to them while assembling. The QR code of the item will
be connected to a block in the Database. Now, Individuals would have the option to check the QR
code utilizing their cell phones and their cell phones will let them know regardless of wheatear the
items is counterfeit or not. It will look at the checked QR code against sections in the Block chain
database. Assuming the code matches, it will give a warning to the client that the item is original, if
not it will give notice that the item is counterfeit.

1.2 Intended Audience and Reading Suggestions

This document is intended for individuals directly involved in the development of our project
Counterfeit Cosmetics Verification System Using Blockchain. This includes the app developer,
tester, advisor, and panel who were directly involved in the development of the project. This
document does not need to be read sequentially readers are encouraged to jump to any section
they find relevant. Below is a brief overview of each part of the document.
● Part 1(Introduction):
This section offers a summary of Counterfeit Cosmetics Verification System Using
Blockchain, including goals and objectives, Project scope, general application details.
● Part 2(Documentation):
This section covers all the details of User classes, implementation constraints, operating
environment and user manual guides.

● Part 3(Features):

This section covers all the details of Product and application features which includes its
description, priority and functional requirements.

● Part 4(Nonfunctional Requirements):

This section covers all the nonfunctional requirements such as safety requirements,
security requirements etc.
Page 2

1.3 Product Scope

In this exceptional time, counterfeit cosmetics are found in more important closeness. This prompts
the arrangements of a lot of fake things which archives confusion and uncertainty among clients. For
over 10 years now, RFID (Radio Frequency Identification) innovation has been very powerful in
giving anti-counterfeit measures. Consider the possibility that we use block chain innovation to
recognize unique items and add a DR code to them while assembling. The QR code of the item will
be connected to a block in the Database. Now, Individuals would have the option to check the QR
code utilizing their cell phones and their cell phones will let them know regardless of wheatear the
items is counterfeit or not.

2. Overall Description

2.1 Product Perspective


Pakistan and various countries are engaging such endlessly counterfeit things. In the proposed
system, the system produces QR codes using Block chain advancements.
Why block chain?
Unlike a typical database, Block chain has a non-horrendous method for following data changes
over the long run. This implies the data isn’t editable rather, at whatever point refreshes are
made, another block is added to the ‘block chain’. This helps track the verifiable data of an item.
The plus point we have in block chain is the transparency. Utilizing Block chain, authenticity can
be checked and responsibility for a cosmetic can be moved a very long time from now; regardless
of whether the cosmetic is ceased.

2.2 Product Functions

 Login/Signup (Registration).
 Add product
 Show order
 Generate QR code.

2.3 User Classes and Characteristics


There could be following two types of users which will use this application:
Page 3

1. User: the user will have to first register on the app and site and then login on the login
page then the user will book a product for themselves and an automatic QR code will be
generated for them so they will have to scan the QR code then they will be able to check if
the product is fake or not.
2. Service Provider/Worker: The manufacturer will first register for themselves and the login
from the login page. Then they will have to add a product then it will show an order and a
QR code will be generated against the order so that the user will have to scan it to check if
the product if fake or not.

2.4 Operating Environment


We are using Nodejs for server and will be creating a website for the landing page. Android app
development will be used to create its app for the QR code scanning purpose and to check if the
product is fake or not.

2.5 Design and Implementation Constraints

As we are building and creating this application using React-Native and we are using different
components from different websites and those components only work on IOS and android so our
app will not be able to work on other operating systems. Our app components and features are
limited to IOS and android as we are working and developing our app using JavaScript and
React-Native. Our application will work on latest Versions of IOS and android so if a person is
using an old version, he/she may face difficulty in using and many components will not be visible
to that person. This is because react-native version and dependencies are updating on regular
basis so it may not work on older operating systems or older versions.

2.6 User Documentation


We will provide a contact us tab in the navigation where the user can contact if he needs to. We
have also included in our project that we have planned to integrate a user manual for our new
user on how to use this app with proper navigation of each component of our application will be
provided. We will also include a privacy and policy page in our application where users can easily
understand the data collection and other permission required to run the application smoothly. In
this tab, the user will be able to know for what purposes their data is being used.

2.7 Assumptions and Dependencies


We are creating this application by assuming that the person using this application is using the
latest version of IOS or Android which supports major dependencies or react-native components
and components of external websites which we are using. So, if a person is using old version of
IOS or Android he/she may not be able to use this application or may face a lot of difficulty.
Page 4

We are using different components from different websites like native base and reactnativepaper
etc. to build are application which require latest dependencies of these components or else the
components can give error and these components may not work in user’s device.

3. Hardware Interfaces

We are developing our application on Android app development which requires windows 10 and
we are using laptop for developing application with high configuration.
Beside this our application will run on Android devices which requires latest version of Android so
that dependencies of different components can integrate and communicate properly with the
mobile device.

3.1 Software Interfaces

We would be using React Native for developing our frontend and JavaScript for our backend
development and backend connections. For storing other user data, we would be using MongoDB
Atlas online database. For development and compiling we are using visual studio code and
operating system of windows. We will also be using different external dependencies and libraries
for developing and creating different type of components like buttons, cards, sliding view,
navigation, authentication etc.

3.2 Communications Interfaces

This application would require a stable internet connection so that the application could run in
flow, and Database configuration will also be required for data transfer, storing data and retrieving
data from the database. As react native not supports localhost servers for database
communication so we must configure our Ip address in the application so it can communicate with
the database properly.

4. System Features
The system features will be:

 Scanning QR Code
 Checking the cosmetic data in block chain.
 Giving the notification whether the cosmetic is original or not.
Page 5

5. Other Nonfunctional Requirements

5.1 Performance Requirements


Our application would require stable internet connection and latest versions Android in users’
devices so all dependencies and components can work and be visible properly.

5.2 Safety Requirements

Creating multiple accounts with same email will not be allowed.

5.3 Security Requirements

The application is for all sorts of users, but users would be required to login (for registered users),
signup (for new users) as this would provide admin with the information of the user and if the
application is used for wrong purposes so the user would be identified, and admin can delete that
user and from the admin side all the data would be kept secure. Information would be kept
securely in database like passwords would in encrypted form.

User
Manufacturer

Registration
Registration

Database
Login
Login

Block Chain Network


Add Product Product Booking

Show Order
Scan QR Code

Generate QR Code Show Results

You might also like