You are on page 1of 47

“SAM Smart Asset Manager”

A Major Project Report(Project Work II)


Submitted in partial fulfillment of requirement of the
Degree of
BACHELOR OF TECHNOLOGY in INFORMATION
TECHNOLOGY
BY
Hitesh Mandwani
EN18IT301045

Under the Guidance of


Mr. Ravi Khatri(Internal)
Mr. Namita gupta (External)

Department of Information Technology


Faculty of Engineering
MEDI-CAPS UNIVERSITY, INDORE- 453331

April,2022

i
Report Approval

The project work “SAM Smart Asset Manager” is hereby approved as a


creditable study of an engineering/computer application subject carried out and
presented in a manner satisfactory to warrant its acceptance as prerequisite for the
Degree for which it has been submitted.

It is to be understood that by this approval the undersigned do not endorse or


approved any statement made, opinion expressed, or conclusion drawn there in;
but approve the “Project Report” only for the purpose for which it has been
submitted.

Internal Examiner
Name: Mr. Ravi Khatri
Designation: Assistant Professor
Affiliation : Medicaps University, Indore

External Examiner
Name:
Designation
Affiliation

ii
Declaration

I hereby declare that the project entitled “SAM Smart Asset Manager”
submitted in partial fulfillment for the award of the degree of Bachelor of
Technology in Department of Information Technology completed under the
supervision of Mr. Ravi Khatri ,Assistant Professor, Department of
Information Technology, Faculty of Engineering, Medi-Caps University Indore
and under the supervision of Mr. Namita gupta ,Software Testing , Quest
Global ,is an authentic work.

Further, I/we declare that the content of this Project work, in full or in parts, have
neither been taken from any other source nor have been submitted to any other
Institute or University for the award of any degree or diploma.

Hitesh Mandwani
EN18IT301058

Date:

iii
Certificate

We, Ravi Khatri and Namita gupta certify that the project entitled “Smart
App” submitted in partial fulfillment for the award of the degree of Bachelor of
Technology by Hitesh Mandwani (EN18IT301045) , is the record carried out by
her under our guidance and that the work has not formed the basis of award of
any other degree elsewhere.

________________________________ ________________________________

Mr. Ravi Khatri Mr. Namita gupta

Assistant Professor Software Testing

Information Technology Quest Global ,Indore

Medi-Caps University, Indore

_____________________

Dr. Prashant Panse

Head of the Department

Information Technology

Medi-Caps University, Indore

iv
Acknowledgements

I would like to express my deepest gratitude to Honorable Chancellor, Shri R C Mittal, who
has provided me with every facility to successfully carry out this project, and my profound
indebtedness to Prof. Dr. Dilip K. Patnaik, Vice Chancellor, Medi-Caps University, whose
unfailing support and enthusiasm has always boosted up my morale. I also thank Prof. (Dr.) D
K Panda, Pro Vice Chancellor, Dr. Suresh Jain, Dean Faculty of Engineering, Medi-Caps
University, for giving me a chance to work on this project. I would also like to thank my Head
of the Department Dr. Prashant Panse for his continuous encouragement for betterment of the
project.

I express my heartfelt gratitude to my External Guide, Mr. Namita gupta , Systems Engineer,
Tata Consultancy Services Ltd as well as to my Internal Guide, Mr. Ravi Khatri, Asst.
Professor, Department of Information Technology, Medi-Caps University Indore, without
whose continuous help and support, this project would ever have reached to the completion.

I would also like to thank to my team at Quest Global Ltd., Mrs. Manisha Patidar who
extended their kind support and help towards the completion of this project.

Hitesh Mandwani
B.Tech. IV Year
Enrollment No. EN18IT301045
Department of Information Technology
Medi-Caps University, Indore

v
Abstract

Cryptocurrency, an encrypted, peer-to-peer network for facilitating digital barter, is a technol-


ogy developed eight years ago. Bitcoin, the first and most popular cryptocurrency, is paving the
way as a disruptive technology to long standing and unchanged financial payment systems that
have been in place for many decades. While cryptocurrencies are not likely to replace tradi-
tional fiat currency, they could change the way Internet-connected global markets interact with
each other, clearing away barriers surrounding normative national currencies and exchange
rates. Technology advances at a rapid rate, and the success of a given technology is almost
solely dictated by the market upon which it seeks to improve. Cryptocurrencies may revolu-
tionize digital trade markets by creating a free flowing trading system without fees. A SWOT
analysis of Bitcoin is presented, which illuminates some of the recent events and movements
that could influence whether Bitcoin contributes to a shift in economic paradigms

Keywords : Crypto,Bitcoin

vi
Table of Contents
Page No.

Report Approval ii
Declaration iii
Certificate iv
Acknowledgement v
Abstract vi
Table of Contents vii-viii
List of figures ix
List of tables x
Abbreviations xi
Chapter 1 Introduction
1.1 About the project 2
1.2 About the company 2
1.3 Document Purpose 3
1.4 Testing Scope 3
Chapter 2 System Requirement Analysis
2.1 Information Gathering 5
2.2 System Feasibility 5
2.2.1 Technical Feasibility 5
2.2.2 Behavioral Feasibility 5
2.3 Platform Specifications (Development and Deployment) 5
2.3.1 Hardware Specifications 6
2.3.2 Software implementation 6
Chapter 3 Technical Analysis
3.1 Types of testing
3.2 Test Environment and Tools 5
3.3 Recommendations
3.4 Metrices 5
3.5 Best Practices 8
3.6 Criteria 9
Chapter 4 Project Design 9
4.1 Modular/Procedural Approach 10
4.2 UML Diagrams 10
Chapter 5 Summary and Conclusions 11
5.1 Summary
5.3 Future Scope 28
5.4 References 28

vii
List of Figures

S. No. Figure Name


Figure No. 4.1.1 Login Page
Figure No. 4.1.2 Register Page
Figure No. 4.1.3 Home Page
Figure No. 4.1.4 Genre Page
Figure No. 4.1.5 Voucher page
Figure No. 4.1.6 Cart Page
Figure No. 4.1.7 redeem Page
Figure No. 4.1.8 History page
Figure No. 4.1.9 Subscription Page
Figure No.4.1.10 MAP points Page
Figure No.4.1.11 Wallet Page
Figure No.4.1.12 Admin Login Page
Figure No.4.1.13 Admin Homepage
Figure No.4.1.14 Admin Manager page
Figure No.4.1.15 Admin Agent page
Figure No.4.2.1 Use-Case Diagram
Figure No. 4.2.2 Class Diagram
Figure No. 4.2.3 Entity-relationship Diagram
Figure No. 4.2.4 State Diagram
Figure No. 4.2.5 Deployment Diagram

viii
List of Tables

S.No Table Name

Test cacse No.4.1


Test cacse No.4.2
Test cacse No.4.3
Test cacse No.4.4
Test cacse No.4.5
Test cacse No.4.6
Test cacse No.4.7

ix
Abbreviations
 SIT: System Integrated Testing
 PIV: Personal Identity Verification
 QA: Quality Assurance
 UFT: Unified Functional Testing
 CSP: Communications service providers
 CMI: Communications, Media & Technology
 CRM: Customer Relationship Management
 HTML: Hypertext Markup Language
 CSS: Cascading Style Sheets

x
CHAPTER 1
INTRODUCTION

1
1.1 About the project
SAM app is A crypto currency wallet is a device, medium, or application that allows you to
safely store your crypto currencies, as well as manage them according to the best principles of
the block chain network, namely security, anonymity, and decentralization. Despite there being
several popular and secure solutions already in the market, companies often face the need to
create customized wallet.

1.2 About the company


Quest GLT was incorporated in 2013 and is now India’s leading software consulting and
development organization. We provide a quality-driven approach towards software and mobile
app development. Our software has become the backbone for innumerable Billion-Dollar
Organizations, across several industries and won multiple awards for our work. Some of the
key projects are SAM, DDK, KKOG, and Rowan Energy, which have earned more than 800%
return on investment from the blockchain-based projects.

We believe in delivering quick and efficient IT solutions to help you scale up your business
effectively. We believe in long-term partnerships and all our clients have been with us from
start to finish. Whether you have your ideas or want to validate an idea, we are always there to
help you. Our ready-to-use solutions are robust but yet simple to use and have very fast
turnaround times. Since the systems are already tested and already used by several clients, you
do not have to worry about technology!

1.3 Document Purpose


1.Determine what problem your app is going to solve.

First of all, you need to identify the most common problems users are facing and define the
way your app will solve them, or at least one of them. Based on this, you can choose the right
type of blockchain solution. After that, you need to conduct a cost-benefit analysis to determine
if an application is worth the investment, and assess the potential risks.

2.Decide on the approach to the crypto app development.

Generally, there are two ways: to use public libraries, so that you will not need to code the
whole app on your own, or to develop an app from scratch. In the latter case, you will get a
chance to develop an app with unique design and functionality, but it’s far more expensive.

2
3.Decide on app model development.

Will it be hybrid, internal, or cloud. You also need to choose the right blockchain solution to
implement: there are unlimited, allowed, private, public, or hybrid blockchain models. Also,
rate the best stack based on your chosen platform. For example, React Native and Flutter cross-
platform mobile frameworks are the most used for cryptocurrency wallets development for
both iOS and Android.

4.Think about app configuration.

The configuration of the blockchain app is crucially important, as most of the components
cannot be changed once configured. After planning the server components, you need to choose
the best front-end programming language, external databases, and servers for the app.

5.Develop the right UI/UX design.

The app should be easy to navigate and intuitive. Don’t forget to pay enough attention to the
color palette of the app and content nuances.

6.Choose between pre-built and custom APIs (Application Programming Interface).

While there are several pre-built APIs, you may want to create custom APIs for your app. APIs
can be for data validation, key pairs, and address generation, managing smart contract
interactions, and storing and retrieving data.

7.Testing and scaling.

The best idea here is to develop a Minimum Viable Product (MVP) first and then test it to
identify crashes, latencies, memory and storage issues, along with performance issues

1.4 Testing Scope


To guarantee trust, testers must ensure that all the components of a blockchain are working
perfectly and that all applications are interacting with it in a trusted manner. Some of the core
tests that should be run include functional, performance, API, node testing, and other
specialized tests. So here is what they entail in a nutshell:

•Functional testing. This is a holistic process that evaluates the work of various functional
parts of the blockchain (e.g. smart contracts).

•API testing. Application Programming Interface tests address the interaction between
applications in the blockchain ecosystem. It checks to ensure that API requests and replies are
formatted and handled properly.
3
•Performance testing. It identifies performance bottlenecks, suggests the methods of fine-
tuning the system and reviews if the application is ready for launching.

•Node testing. All heterogeneous nodes on the network must be tested independently to ensure
smooth cooperation.

In blockchain development, which often follows Agile practices, the shift left approach to
testing is gaining popularity.

1.5 Application Overview


 Surf team has wide expertise in working with cryptocurrency app development projects.
The most notable among the recent ones is Smart App, a cryptocurrency trading app.
 Smart App needed an app to be user-friendly for both enthusiasts and experienced
traders. The first-timers only need basic options and usually trade from their smart-
phones. Power traders, on the other hand, prefer to use tablets. They need a full-out
trading terminal with stock analysis tooling to match. Therefore, the app had to work on
both smartphones and tablets. Another crucial point was to make the service fast.
 The app features a dark theme, which is more suitable for late-night work and is easier
on the eyes. Other elements like buttons and texts are of contrasting colors to make
them stand out on the dark screen.
 It’s stable and displays quote updates instantaneously. Users can see all the topmost
trading information: the chart, depth of market, orders, and quotes for currency pairs.
 The app suits both professional traders and enthusiasts. The mobile version supports
cryptocurrency trading, shows portfolio statistics and changes in open interest.
 In the tablet version, a trader can access a full-out trading terminal and other advanced
analytic tooling.

4
CHAPTER 2
SYSTEM REQUIREMENT ANALYSIS

5
2.1 Information Gathering
 The first idea was to come up with an idea which could be the closest to our internship
project (Quest Global), and also to implement it in the same technology.
 So we came up with the idea of SAM (Smart Asset Manager), where one could Test the ap-
plication oneself and then explore various bugs available in our SAM app.

2.2 System feasibility


This chapter presents the analysis completed before starting implementation of proposed appli-
cation. After requirements clarification, analysis proposes some solutions. After this it is
checked whether it is practically possible to implement that solution or not. This is done
through feasibility study. In this various feasibility aspects are analyzed depending on the con-
text of the system.

2.2.1 Technical feasibility


Focused on gaining an understanding of the present technical resources of the organization and
their applicability to the expected needs of the proposed system. It is an evolution of the hard-
ware and software and how it meets the need of the proposed system. In Development of
project, core concepts of node js are used and freely available.

2.2.2 Behavioral feasibility


How well a proposed system solves the problems and takes advantage of the opportunities
identified during scope definition and how it specifies the requirements identified in the re-
quirement analysis phase of system development

2.3 Platform Specification (Development & Deployment)


2.3.1 Hardware
The most common requirements defined by any operating system or software application the
physical computer resource also known as hardware. A hardware requirements list softens ac-
companied by a hardware compatibility list especially in case of operating system.
A hardware compatibility list tested, compatibility and sometime incompatible hardware device
for a particular operating system or application. Processors: Intel Atom® processor or Intel®
Core™ i5 processor Disk space: 5 GB

6
2.3.2 Software implementation
Software requirements deal with defining software resource requirements and pre requisites
that need to be installed on a computer to provide optimal functioning of an application. These
requirements or prerequisites are generally not included in the software installation package
and need to be install separately before the software is installed. Following software’s are re-
quired to run the project.
• Visual Code
Visual Studio Code is a streamlined code editor with support for development operations like
debugging, task running, and version control. It aims to provide just the tools a developer needs
fora quick code-build-debug cycle and leaves more complex workflows to fuller featured IDEs,
suchas Visual Studio IDE.
• Node Js (Back-End)

Node. js is primarily used for non-blocking, event-driven servers, due to its single-threaded
nature.
It's used for traditional web sites and back-end API services, but was designed with real-time,
push based architectures in mind.
• React (Front-End)

React (also known as React.js or ReactJS) is a free and open-source front-end JavaScript lib-
rary for building user interfaces based on UI components. It is maintained by Meta (formerly
Facebook) and a community of individual developers and companies. React can be used as a
base in the development of single-page, mobile, or server-rendered applications with frame-
works like Next.js.
However, react is only concerned with state management and rendering that state to the DOM,
so creating React applications usually requires the use of additional libraries for routing, as
well as certain client-side functionality.
• Installed NPM

NPM is two things: first and foremost, it is an online repository for the publishing of open-
source Node.js projects; second, it is a command-line utility for interacting with said repository
that aids in package installation, version management, and dependency management. A pleth-
ora of Node.js libraries and applications are published on npm, and many more are added every
day. These applications can be searched for. Once you have a package you want to install, it
can be installed with a single command-line command.
• Remix Ide (Smart Contract)

Remix IDE is a powerful open-source tool that helps you write Solidity contracts straight from
the browser. It is written in JavaScript and supports both usage in the browser, but run locally
and in a desktop version. Remix IDE has modules for testing, debugging and deploying of
smart contracts and much more.
• Express.js
7
Express.js, or simply Express, is a backend web application framework for Node.js, released as
free and open-source software under the MIT License. It is designed for building web applica-
tions and APIs. It has been called the de facto standard server framework for Node.js.

8
CHAPTER 3
TECHNICAL ANALYSIS

9
In this section, we will do analysis of technologies to use for implementing the project.

3.1 Types of testing


3.1. Let’s explore these types of functional tests with examples

3.1.1 Unit testing Before you can test an entire software program, make sure the individual
parts work properly on their own. Unit testing validates the function of a unit, ensuring that the
inputs (one to a few) result in the lone desired output. This testing type provides the foundation
for more complex integrated software. When done right, unit testing drives higher quality ap-
plication code and speeds up the development process. Developers often execute unit tests
through test automation.

Unit testing example: A developer builds a calculator app. A unit test would check whether the
user can input two numbers and receive an accurate sum. Separate unit tests would validate
other calculator functionality, such as subtraction, multiplication and division.

3.1.2 Component testing. Also called module testing, component testing checks individual
parts of an application. Similar to unit testing, component testing assesses a part of the software
in isolation from the broader system. The difference between unit testing and component test-
ing is that the former is done by developers in a white-box format to verify that program mod-
ules execute, while the latter is done by testers in a black-box format to validate individual ob-
jects or parts of the software. If other software components rely on the component under test,
the QA professional might use a stub and driver to simulate interactions between those depend-
ent components.

Component testing example: A banking mobile app includes an option to schedule an appoint-
ment with a banking professional. The stub provides a simulated user profile, and the driver
provides a simulated schedule of available appointment times. In this functional testing ex-
ample, the middle component — the one under test — finds the user’s location via GPS and
displays local banking centers from which they can choose. By testing this component in isola-

10
tion, the tester can ensure that the geolocation service works correctly and displays an accurate
list of nearby locations.

3.1.3 Smoke testing. Smoke testing, a type of acceptance testing, provides an initial check that
a new software build and its critical functionality are stable. If the smoke tests pass, the build
can undergo further testing. Smoke testing, also called build verification testing, often checks
whether new or critical functionality meets its objective. If the tests don’t pass, as the saying
goes, “where there’s smoke, there’s fire,” and additional dev work is required

Smoke testing example: A web app for an insurance company adds a claims status page. Test-
ers would apply smoke tests to verify that the existing build works on a fundamental level, such
as whether a user can successfully log in, navigate to the claims status page and retrieve the
status of a specific claim without the app crashing or malfunctioning.

3.1.4Sanity testing. A type of regression testing, QA professionals perform sanity testing on


new versions of stable builds to validate either new functionality or bug fixes. While similar to
smoke testing in that both provide a gate check that a build is ready for more testing, sanity
testing is unscripted and specifically targets the area that has undergone a code change.

Sanity testing example: A web page for a telehealth provider returns a 404 error for its mental
health page. The developers fix the issue, then commit the build for testing. The QA profes-
sional performs a sanity check to determine whether the basic functionality and navigation for
that specific page work as intended.

3.1.5 Regression testing. Just because functional tests pass once doesn’t mean they’ll always
pass. When developers commit new code or change a feature, you run regression tests to make
sure the software still functions as expected. Regression testing helps maintain a stable product
while changes are made to it. Regression tests are often automated.

Regression testing example: A clothing retailer adds the ability to pay with customer rewards
points on their mobile app. Testers might perform regression tests on other existing functional-
ity, such as the ability to pay with credit cards and gift cards, to make sure all forms of payment
work correctly.
11
3.1.6 Integration testing. Integration testing is often done in concert with unit testing. Through
integration testing, QA professionals verify that individual modules of code work together
properly as a group. Many modern applications run on microservices, self-contained applica-
tions that are designed to handle a specific task. These microservices must be able to commu-
nicate with each other, or the application won’t work as intended. Through integration testing,
testers ensure these components operate and communicate together seamlessly.

Integration testing example: A credit card company includes a page where a customer can re-
quest a credit increase, which is a separate code base from login functionality. Testers might
perform integration tests to make sure the system remembers the user after they navigate to the
credit increase page, and again after a successful request.

3.1.7 API testing. Application programming interfaces connect different applications or sys-
tems, and they are growing in popularity as consumers expect apps to interoperate. With API
testing, testers validate that API connections and responses function as intended, including how
they handle data and user permissions.

API testing example: A travel booking site might pull pricing data from an airline company’s
database via APIs. Through API testing, QA professionals can verify that the correct data type
is returned in the local currency and responsive to changes in date and location.

3.1.8 UI testing. With UI testing, QA professionals interact with the graphical interface of a
software program. This includes testing of UI controls like buttons, menus and text input to en-
sure that the experience flow and features chosen are optimal for the user experience.

UI testing example: A wearables maker creates a mobile app for product setup and mainten-
ance. As part of UI testing, the team would make sure that required fields function as expected,
images display correctly and maintenance information appears in the app dashboard after use.

3.1.9 System testing. With system testing, QA professionals test the software in its entirety, as
a complete product. With this type of functional testing, testers validate the complete and integ-
12
rated software package to make sure it meets requirements. Where necessary, testers can
provide feedback on the functionality and performance of the app or website without prior
knowledge of how it was programmed. This helps teams develop test cases to be used moving
forward. System testing is also referred to as end-to-end testing.

System testing example: An automobile manufacturer produces an in-car entertainment system


that gives users functionality for voice control, GPS, a video player, Bluetooth connectivity,
mobile phone pairing, touch-screen support and climate control. Testers would assess all of
these features individually, but they must also test them as a complete system to ensure interop-
erability and a good user experience.

3.1.10 White-box testing. When the software’s internal infrastructure, code and design are vis-
ible to the developer or tester, that refers to white-box testing. This approach incorporates vari-
ous functional testing types, including unit, integration and system testing. In a white-box test-
ing approach, the organization tests several aspects of the software, such as predefined inputs
and expected outputs, as well as decision branches, loops and statements in the code.

White box testing example: In this functional testing example, consider an end-to-end test for a
customer who adds payment information to a retailer’s app. Developers and testers would con-
duct tests in a white-box format to ensure that sensitive data, such as a credit card number, is
stored in a PCI-compliant manner. White-box tests might also ensure that purchase information
flows to a machine learning algorithm to generate predictions, the purchase correctly generates
rewards points, and the inventory system deducts the items from the stock count.

3.1.11 Black-box testing. Contrary to white-box testing, black-box testing involves testing
against a system where the internal code, paths and infrastructure are not visible. Thus, testers
use this method to validate expected outputs against specific inputs. Any time where a QA pro-
fessional doesn’t look into the code before testing can be considered black box. With black-box
testing, the organization can test the software in the same way a customer would experience it.
Black-box testing encompasses a variety of non-functional and functional testing types, de-
pending on the objective of the test.

13
Black box testing example: On a streaming television platform, the tester toggles the search
functionality and executes a search for a specific actor. The tester then verifies that the search
feature returns logical (expected) outputs, including television shows that the actor appeared in,
or suggested titles similar to that actor’s well-known works.

3.1.12 Acceptance testing. The purpose of acceptance testing is purely to ensure that the end
user can achieve the goals set in the business requirements. Rather than focus on functionality
of specific features, acceptance testing involves reviewing the feature-complete application
flow and end-to-end experience. User acceptance testing (UAT) and beta testing, subsets of ac-
ceptance testing, involve end users to conduct their analysis of the finished product. From
there, the organization can evaluate that feedback and make changes.

Acceptance testing example: A software company releases a product that enables its users to
manage big data. Upon release of a new version of the software, a group of that company’s
most significant users conducts user acceptance testing to determine whether the new version
meets their primary needs and how the product can be improved.

3.1.13 Alpha testing. Another subset of acceptance testing, alpha testing uses internal team
members to evaluate the product. These team members should be knowledgeable of the project
but not directly involved in its development or testing. Where some builds might still be some-
what unstable, alpha testing provides an immediate subset of testers to root out major bugs be-
fore the software is seen by external users.

Alpha testing example: In this functional testing example, a casino games provider releases a
new version of its app that includes video poker. The organization compiles a cross-functional
group of internal users that test whether the app functions correctly on their devices and how
the user experience can improve.

3.1.14 Beta testing. After the internal team tests the product and fixes bugs, beta testing occurs
with a select group of end users. Beta testing serves as a soft launch, enabling you to get feed-
back from real users who have no prior knowledge of the app. Beta testing enables you to
gather feedback from unbiased users who may interact with the product differently than you in-
tended, perhaps identifying critical unknown bugs before release to a wide user base.

14
Beta testing example: A restaurant chain releases a new mobile order and pickup system. Be-
fore the company releases the functionality to all of its mobile app users, it tests the app with a
small number of dedicated customers and provides them with rewards for participating.

3.1.14 Production testing. Once the product goes public, it is in a live production environment
where any user can interact with it in any way — you no longer can control everything from
the testing environment to the number of people using the product. Production testing is part of
continuous testing and shift-right testing, which attempts to discover and triage user-reported
defects as quickly as possible. By testing in production, the organization can test beyond the
scripted test cases in a varied environment. With production testing, the organization can con-
firm product functionality and stability.

Production testing example: A fitness equipment manufacturer can monitor user-reported de-
fects and device metrics to make sure its internet-connected treadmills, elliptical and stair-
climbing machines function as they should — upon delivery and continuously.

3. Testing Environment
Testing environment is a setup of software and hardware for the testing teams to execute test
cases. For test environment, key area to set up includes

● System and applications


● Test data
● Database server
● Front end running environment
● Client operating system
● Browser
● Hardware includes Server Operating system
● Network
●Documentation required like reference documents/configuration guides/installation guides/
user manuals
3.3 Recommendation

15
• Admin control for defect management tools can be given to Offshore Test manager for
providing access to the Testing team.

• Each time the onsite Admin need not be contacted for requests whenever they arise, thereby
saving time due to the geographical time zone difference.

3.4 Matrices
 No. of test cases planned vs executed
 No. of test cases passed/failed

 No of defects identified and their Status & Severity

16
 Defects distribution – module wise

3.5 Best Practices

 A repetitive task done manually every time was time-consuming. This task was auto-
mated by creating scripts and run each time, which saved time and resources.
 Smoke test cases were automated and the scripts were run, which ran fast and saved
time.
 Automation scripts were prepared to create new customers, where a lot of records need
to be created for Testing.
 Business-critical scenarios are separately tested on the entire application which is vital
to certify they work fine.
3.6 Criteria

 All test cases should be executed – Yes


 All defects in Critical, Major, Medium severity should be verified and closed – Yes.
 Any open defects in Trivial severity – Action plan prepared with expected dates of
closure.

17
CHAPTER 4
18
PROJECT DESIGN

19
4.1: Application Interface
 login1.jsp:
This is the login page for our system in which user can login by entering his/her registered
email and password generated..

Figure 4.1.1: Login page


 register1.jsp:
If he/she is new to the book store, he/she would have to enter their basic information to
get registered. This form will call the registerCheck servlet. After the successful regis-
tration. An alert would be shown on the page.

20
Figure 4.1.2: Register page
 userHome1.jsp:
Here, the user would have multiple options which a user can use like converting crypto.

Figure 4.1.3: Home page


 post page1.jsp:

21
If the user clicks on a particular button, to create a fresh post to share their business or
there social stuff.

Figure 4.1.4:post page

 voucherpage1.jsp:
If the user clicks on the voucher button then he/she had a option to create a voucher and
he/she had to fill the following details which is shown in figure.

22
Figure 4.1.5: voucher page
 MAP1.jsp:
Here, the user can view their full portfolio. User can access many functionality and use
according to his/her needs.

Figure 4.1.6: Cart page

23
 Redeem page1.jsp:
This page would display the user’s crypto and also having to redeem the coins.

Figure 4.1.7: reedem page


 history1.jsp:
This page would show the information related to the user history and transections done
in past.

24
Figure 4.1.8:history page
 subscriptions:
After the user has purchased his/her crypto he can view there purchase and also the re-
ceipt would be generated on this page.

25
Figure 4.1.9: Subscription
 MAP points.jsp:
Here the user would be able to view their past orders along with some crucial informa-
tion.

Figure 4.1.10:
 wallet.jsp:
Wallet shows the proper details of stored coins and also the points which has been re-
deemed by the user.

26
Figure 4.1.11: wallet page
 admin1.jsp:
This would be the page visible to the admin when he types “admin” in the url bar. Here,
the admin would have the option to sign in. The form would call “adminLogin” servlet.

Figure 4.1.12: Admin login

 adminHome1.jsp:
27
This would be the home page visible to the admin after he/she signs-in. Here, he/she
will have various features such as sending newsletters, adding new book, editing book
information.

Figure 4.1.13: Admin home page


 manager page.jsp:
Here the admin would be able to manage the managers and create agents.

Figure 4.1.14: manager page


 agentpage.jsp:
The admin would be able to add a new agents and also update or change the user de-
tails.
28
Figure 4.1.15: Agent page

TEST CASES
4.1 Deposit Test case

29
4.2 Layer Test case

4.3 dashboard Test case

30
4.4 Withdraw test case

4.2: UML Diagrams


 Use case diagram:

31
Figure 4.2.1: Use case diagram

 Class diagram:

32
Figure 4.2.2: Class diagram

 Entity-relationship diagram:

Figure 4.2.3: Entity-relationship diagram

33
 State diagram:

Figure 4.2.4: State diagram


 Deployment diagram:

34
Figure 4.2.5: Deployment diagram

CHAPTER 5

35
SUMMARY AND CONCLUSION

5.1 Summary:
Online shopping is the process of buying goods and services from merchants who sell on the
Internet. Since the emergence of the World Wide Web, merchants have sought to sell their
books to people who surf the Internet. Shoppers can visit web stores from the comfort of their
homes and shop as they sit in front of the computer. Consumers buy a variety of items from
online stores. In fact, people can purchase just about anything from companies that provide
their books online. Books, clothing, household appliances, toys, hardware, software, and health
insurance are just some of the hundreds of books consumers can buy from an online store.
Many people choose to conduct shopping online because of the convenience.

The main objective of the Online Book Store is to manage the details of books, customers,
wishlists, carts, orders and bills. The online book store allows users to search and purchase a
book online based on genre. The selected books are displayed in a tabular format and the user
36
can order their books online. Using this website, the users can purchase a book online instead
of going out to a book store and wasting time. Many other options are also provided, like carts,
wishlists, and recommendations.

The entire solution will provide a hassle free and user-friendly platform to find and order books
online. It includes an order management system wherein user session can be maintained along
with order history, book recommendations, cart management along with adding the preferred
products to the wish list. This web application manages book store functionalities using both
front-end and back-end based on Java MVC framework. It has a user-friendly interface with
strong and dynamic MySQL database connectivity. It is a fully functional order enricher mod-
ule implemented via servlets and JSPs.
It's a scalable, dynamic, responsive and fully functional platform that reduces human efforts
and operates online to provide shopping features in a user-focused manner.

The purpose of the project is to build an application program to reduce the manual work for
managing the books, customers, wishlists, carts, orders and bills. It tracks all the details about
the orders, and bills. Online book store gives an interface to the user to make it user friendly
and to provide variety of features wherein the user can get the invoice, can track the orders, can
a create wishlist, can manage the orders, and can enquire about the orders. It also provides the
feature to have store administrator, who can send newsletters to the subscribers. It is a user
friendly application, scope of which can be further extended as per the usage.

5.2 Conclusion:
The switch from written books being from bookstores to being ordered online or even just digi-
tal copies has had profound effects on the industry including bookstores and libraries and the
general people of the world. The positives include easy access for everyone and cheaper books
along with saving natural resources leading to reduction of paper usage hence providing user
friendly, fully functional platform for purchasing books and saving human efforts utmost. On-
line bookstore also saves efforts of the buyer by delivering books at the mentioned address of
the user hence saving time and efforts along with eye catching discounts and offers for better
sales of the books.

37

You might also like