0% found this document useful (0 votes)
46 views71 pages

Cloud FinalReport

This project report describes the development of a cloud-based billing system. The system allows users to manage inventory, customers, and generate bills. It was developed by three students to fulfill their Bachelor of Technology degree requirements. The system was designed using use case diagrams and data flow diagrams. Modules for user management, inventory management, customer management, and bill management were implemented. The system was deployed on the cloud using Platform as a Service to allow for scalability and overcome local failures. Testing of individual modules and integration was performed to ensure proper functionality.

Uploaded by

G Ashwinn Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views71 pages

Cloud FinalReport

This project report describes the development of a cloud-based billing system. The system allows users to manage inventory, customers, and generate bills. It was developed by three students to fulfill their Bachelor of Technology degree requirements. The system was designed using use case diagrams and data flow diagrams. Modules for user management, inventory management, customer management, and bill management were implemented. The system was deployed on the cloud using Platform as a Service to allow for scalability and overcome local failures. Testing of individual modules and integration was performed to ensure proper functionality.

Uploaded by

G Ashwinn Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 71

CLOUD BASED BILLING SYSTEM (CLOUD BILLS)

A PROJECT REPORT

Submitted by

ARUL SELVAN K (211613205012)


ARUN KUMAR D (211613205013)
KARTHICK S P (211613205030)

in partial fulfilment for the award of the degree

of

BACHELOR OF TECHNOLOGY
in

INFORMATION TECHNOLOGY

RAJALAKSHMI ENGINEERING COLLEGE, THANDALAM

ANNA UNIVERSITY: CHENNAI - 600 025

APRIL 2017
ANNA UNIVERSITY:CHENNAI 600025

BONAFIDE CERTIFICATE

Certified that this project report “CLOUD BASED BILLING SYSTEM


(CLOUD BILLS)” is the bonafide work of “ARUL SELVAN K
(211613205012), ARUN KUMAR D (211613205013), KARTHICK S P
(211613205030)”, who carried out the project work under my supervision.

SIGNATURE SIGNATURE

Dr. S. Poonkuzhali Mr. R. Chithambaramani

HEAD OF THE DEPARTMENT SUPERVISOR

Professor Assistant Professor

Department of Information Technology Department of Information Technology

Rajalakshmi Engineering College Rajalakshmi Engineering College

Thandalam, Chennai – 602105. Thandalam, Chennai – 602105.

This project report is submitted for viva voce examination to be held on …………

INTERNAL EXAMINER EXTERNAL EXAMINER

ii
ACKNOWLEDGEMENT

We thank God Almighty for the successful completion of the project.


Sincere thanks to our chairman Mr. S. Mehanathan B.E, F.I.E for his sincere
endeavor in educating us in his premier institution.
We would like to express our deep gratitude to our beloved chairperson
Dr. (Mrs). Thangam Mehanathan, Ph.D., for her enthusiastic motivation which
inspired us a lot in completing this project.
We are grateful to our Principal, Dr. S. N. Murugesan, Rajalakshmi
Engineering College, for providing us an excellent environment to carry out our
course successfully.
We are deeply indebted to our beloved Head of the Department,
Dr. S. Poonkuzhali, Department of Information Technology, who molded us
both technically and morally for achieving greater success in life.
We express our thanks to our project coordinator Dr. S. Baghavathi Priya,
Professor, Department of Information Technology, for her valuable suggestions
at every stage of our project. We thank our project reviewer Mrs. R. Anto Arockia
Rosaline Associate Professor and Mrs. M. Mehfooza Assistant Professor for
their invaluable advice.

We record our sincere thanks to our guide Mr. R. Chithambaramani,


Assistant Professor, Department of Information Technology, for being
instrumental in the completion of our project with his exemplary guidance.

We thank all the staff members of our department for their valuable support
and assistance at various stages of our project development.

iii
TABLE OF CONTENTS

iv
CHAPTER NO. TITLE PAGE NO.

ACKNOWLEDGEMENT iii

ABSTRACT x

LIST OF FIGURES xi

LIST OF TABLES xii

1. INTRODUCTION 1

1.1 General 1

1.2 Cloud Deployment Models 2

1.3 Cloud Service Models 4

2. LITERATURE SURVEY 6

2.1 Overview Of Existing Systems 6

2.1.1 Cloud based online retail management 6

2.1.2 Smart trolley :A smart shopping 6


experience using android and cloud

2.1.3 Smart shopping- An android based 7


shopping application

2.1.4 Research on the development of a new 7


shop application using android
2.1.5 Automated billing system using li-fi 8

v
(light fidelity)technology

2.1.6 Supporting multi data stores applications 8


in cloud environments

2.2 Existing System And Its Limitation 9

3. PROBLEM FORMULATION 10

3.1 Motivation For Proposed System 10

3.2 Main Objective 10

3.3 Specific Objective 10

3.4 Platform Requirements 11

3.4.1 Software Requirements 11

3.4.2 Hardware Requirements 11

4. SYSTEM DESIGN AND SYSTEM ANALYSIS 12

4.1 System Architecture 12

4.1.1 System Architecture Description 13

4.2 System Design 14

4.2.1 Use Case Diagram 14

4.2.2 Data Flow Diagrams 15

4.2.2.1 Context Level DFD 15

vi
4.2.2.2 DFD Level 0 16

4.2.2.3 DFD Level 1 17

5. FUNCTIONAL DESCRIPTION 19

5.1 User Management 19

5.1.1 Register 19

5.1.2 Login 19

5.1.3 Change Password 20

5.14 Authorization 20

5.2 Inventory Management 20

5.2.1 Add stock 20

5.2.2 Update Stock 21

5.2.3 Review Stock 21

5.2.4 Remove Stock 21

5.3 Customer Management 21

5.3.1 Add Customer 22

5.3.2 View/Edit Customer Details 22

5.4 Bill Management 22

5.4.1 Generate Bill 22

vii
5.4.2 Select Customer Type 23

5.4.3 Print Bill 23

6. SYSTEM IMPLEMENTATION AND TESTING 24

6.1 Methodology 24

6.1.1 Platform as a Service-Deployment 25

6.2 Module Implementation 27

6.2.1 User Management 27

6.2.1.1 Login 27

6.2.1.2 Register 28

6.2.1.3 Change Password 29

6.2.1.4 Authorize 30

6.2.2 Inventory Management 31

6.2.2.1 Add Stock 31

6.2.2.2 Update Stock 32

6.2.2.3 Remove Stock 33

6.2.2.4 Review Stock 34

6.2.3 Customer Management 35

viii
6.2.3.1 Add Customer 35

6.2.3.2 View/Edit Customer 36

6.2.4 Bill Management 37

6.2.4.1 Generate Bill 37

6.2.4.2 Print Bill 38

6.3 Table Structure 39

6.3.1 User Table 39

6.3.2 Customer Table 40

6.3.3 Stock Table 40

6.3.4 Bill Table 40

6.3.5 Bill Number Table 41

6.4 Testing 41

6.4.1 Unit Testing 41

6.4.2 Integration Testing 42

6.4.3 Test Cases 42

7. CONCLUSION AND FUTURE ENHANCEMENTS 46

7.1 Conclusion 46

ix
7.2 Future Enhancements 46

REFERENCES 47

APPENDIX 48

ABSTRACT

x
Wider acceptance of the Internet and increasing comfort of the urban

population to transact on it, is disrupting the traditional channels of delivery of the

smallest of goods or services to the customer. Retail management and billing

system have been changed to suit the user needs. A Retail system consists of

inventory management, customer management and Billing system. Slow evolution

towards the E-Billing has been seen in recent years. Our intended objective of the

project is to develop a Billing system that can be accessed via Internet by all kinds

of Vendors. Our Software is developed and deployed at the Cloud. So, it can be

vastly scalable. With the help of Internet in systems users can get instant access to

our application and get their billing done. This Cloud platform is what

differentiates our software from others. Also, it overcomes the local failure. We

want to give full freedom for the shopkeepers so that they select their desired

Billing design and its particulars etc. This system can also be effectively used by

small scale vendors since it is cloud based and supports multilingual. Inventory

management of all our customers can be done which distinguishes our software

from other.

LIST OF FIGURES
Figure No. Figure Name Page No.

xi
4.1 Architecture diagram 12
4.2.1 Use Case Diagram 14
4.2.2.1 Context Level DFD 15
4.2.2.2 DFD Level 0 16
4.2.2.3.1 DFD for User Management 17
4.2.2.3.2 DFD for Inventory Management 17
4.2.2.3.3 DFD for Customer Management 18
4.2.2.3.4 DFD for Bill Management 18
6.2.1 Screenshot of Login page 27
6.2.2 Screenshot of Register page 28
6.2.3 Screenshot of Change Password Page 29
6.2.4 Screenshot of Authorize Page 30
6.2.5 Screenshot of Add Stock page 31
6.2.6 Screenshot of Update Stock page 32
6.2.7 Screenshot of Remove Stock page 33
6.2.8 Screenshot of Remove Stock page execution 33
6.2.9 Screenshot of Review Stock page 34
6.2.10 Screenshot of Review Stock page execution 34
6.2.11 Screenshot of Add Customer page 35
6.2.12 Screenshot of View Customer page 36
6.2.13 Screenshot of View Customer page execution 36
6.2.14 Screenshot of Generate Bill page 37
6.2.15 Screenshot of Print Bill page 38
6.2.16 Screenshot of Print Bill page output 39

LIST OF TABLES

xii
Table No. Table Name Page No.
6.3.1 User Table 39
6.3.2 Customer Table 40
6.3.3 Inventory Table 40
6.3.4 Bill Table 40
6.3.5 Bill Number Table 41

xiii
CHAPTER 1
INTRODUCTION
1.1 General

From past 2 decades, use of Computers has greatly increased, that has led to
ease of carrying out day to day activities. Nowadays Internet has taken over the
entire world. Business and financial transactions can now be done easily and
securely, anywhere and anytime. Using Internet, connections can be established
with any devices almost anywhere in the world and can share necessary
information amongst them. The daunting tasks faced in daily lives can now be
accomplished with the help of Internet.

Traditional shopping is a tedious and time consuming job. There is still


difficulty in actually going to shops, hand picking products to get the feel of their
quality and features that cannot be experienced online. Customers feel free to carry
out purchases directly going to shops. On the other hand Vendors feel some sort of
difficulty in billing through hand written papers. The project aims at removing
flaws of Billing that bridges the gap between physical and virtual world.

In traditional shopping, the customer has to wait in long queues at the cash
counter. The cashier scans barcode for every individual product and generate the
bills. This consumes lot of time and energy of both the shopper as well as cashier.
To overcome this flaw, the customer himself can add to cart while making
purchase, retrieve essential details of all products from shop’s database and
generate bill himself. This bill can be sent to the cashier’s computer using web
service. Thus, the user can make quick payment at the counter and leave the shop
early.

1
Cloud Computing is a general term used to describe a new class of network
based computing that takes place over the Internet, basically, a step on from Utility
Computing a collection/group of integrated and networked hardware, software and
Internet infrastructure (called a platform). Using the Internet for communication
and transport provides hardware, software and networking services to clients. In
addition, the platform provides on demand services, that are always on, anywhere,
anytime and anyplace. Pay for use and as needed, elastic scale up and down in
capacity and functionalities. The hardware and software services are available to
the general public, enterprises, corporations and businesses markets.

This Software is developed and deployed at the Cloud. So it can be vastly


scalable. With the help of Internet in systems users can get instant access to our
application and get their billing done. This Cloud platform is what differentiates
our software from others. Also, it overcomes the local failure. Cost Effective
system since it is cloud based users can pay what they opt for. Vendors can
approach and select their billing templates. Vendors can directly add all the
available products with the units so that each and every item gets added to the
vendor DB and there by generation of Item ID for all the items that are added to
the database. Vendors can possibly at any time they can modify the product details
and rates at any time.

Users of this Billing system can be provided with the login. Using this, users
can give control of designing the particulars such as Item lists, rates, quantity,
certificates of bills. Also, user can be prompted to ask the Language in which they
want the bill gets printed. This language selection process makes the system easier
for the small-scale vendors. At any time, users can change the Item details, add
new items, remove existing items.

1.2 Cloud Deployment Models

2
Cloud computing comes in three forms: public clouds, private clouds, and
hybrids clouds. Depending on the type of data you're working with, you'll want to
compare public, private, and hybrid clouds in terms of the different levels of
security and management required

1.2.1 Public Clouds

A public cloud is basically the internet. Service providers use the internet to
make resources, such as applications (also known as Software-as-a-service) and
storage, available to the general public, or on a ‘public cloud. Examples of public
clouds include Amazon Elastic Compute Cloud (EC2), IBM’s Blue Cloud, Sun
Cloud, Google AppEngine and Windows Azure Services Platform.

For users, these types of clouds will provide the best economies of scale, are
inexpensive to set-up because hardware, application and bandwidth costs are
covered by the provider. It’s a pay-per-usage model and the only costs incurred
are based on the capacity that is used.

There are some limitations, however; the public cloud may not be the right
fit for every organization. The model can limit configuration, security, and SLA
specificity, making it less-than-ideal for services using sensitive data that is subject
to compliancy regulations.

1.2.2 Private Clouds

Private clouds are data center architectures owned by a single company that
provides flexibility, scalability, provisioning, automation and monitoring. The
goal of a private cloud is not sell “as-a-service” offerings to external customers but
instead to gain the benefits of cloud architecture without giving up the control of
maintaining your own data center.

Private clouds can be expensive with typically modest economies of scale.


This is usually not an option for the average Small-to-Medium sized business and

3
is most typically put to use by large enterprises. Private clouds are driven by
concerns around security and compliance, and keeping assets within the firewall.

1.2.3 Hybrid Clouds

By using a Hybrid approach, companies can maintain control of an


internally managed private cloud while relying on the public cloud as needed. For
instance, during peak periods individual applications, or portions of applications
can be migrated to the Public Cloud. This will also be beneficial during
predictable outages: hurricane warnings, scheduled maintenance windows, rolling
brown/blackouts.

The ability to maintain an off-premise disaster recovery site for most


organizations is impossible due to cost. While there are lower cost solutions and
alternatives the lower down the spectrum an organization gets, the capability to
recover data quickly reduces. Cloud based Disaster Recovery (DR)/Business
Continuity (BC) services allow organizations to contract failover out to a Managed
Services Provider that maintains multi-tenant infrastructure for DR/BC, and
specializes in getting business back online quickly.

1.3 Cloud Service Models

1.3.1 Infrastructure as a Service (IaaS)

This model puts together infrastructures demanded by users—namely


servers, storage, networks, and the data center fabric. The user can deploy and
run on multiple VMs running guest OSes on specific applications. The user
does not manage or control the underlying cloud infrastructure, but can specify
when to request and release the needed resources.

1.3.2 Platform as a Service (PaaS)

This model enables the user to deploy user-built applications onto a


virtualized cloud platform. PaaS includes middleware, databases, development
4
tools, and some runtime support such as Web 2.0 and Java. The platform
includes both hardware and software integrated with specific programming
interfaces. The provider supplies the API and software tools (e.g., Java, Python,
Web 2.0, .NET). The user is freed from managing the cloud infrastructure.

1.3.3 Software as a Service (SaaS)

This refers to browser-initiated application software over thousands of


paid cloud customers. The SaaS model applies to business processes, industry
applications, consumer relationship management (CRM), enterprise resources
planning (ERP), human resources (HR), and collaborative applications. On the
customer side, there is no upfront investment in servers or software licensing.
On the provider side, costs are rather low, compared with conventional hosting
of user applications

5
CHAPTER 2
LITERATURE SURVEY

2.1Overview of the existing system


2.1.1 Cloud based online retail management
In 2016, Pooja N Vengurlekar etc al, [1] proposed an idea to create
such a Retail Management Framework which will be a pure platform that
will be used locally and will benefit the local vendors and give the ease of
operation for both customers and the vendors by not getting into logistics
and payment related transactions. This paper was proposed an idea to give
the ease of operation for both customers and the vendors by not getting into
logistics and payment related transactions. This system only supports retail
shops and also it does not provide any effective customer management.

2.1.2 Smart trolley :A smart shopping experience using android and


cloud

In 2016, J. D. Jadhav etc al, [2] proposed automatic billing system


using Android application to avoid standing in queue at billing counter. In
this system trolley is attached with an RFID reader and an android display
which is connected through Bluetooth. The product is scanned through the
RFID reader, and the product purchasing information gets stored in the
database corresponding to the unique id generated by the server for the
trolley. The total amount will be displayed to the user. After purchasing, the
customer will pay the bill using the android application on their smart

6
phone. This system is only android supportable and not vendor friendly
since it lakh vendor side customization.

2.1.3 Smart shopping- An android based shopping application

In 2015, Adarsh Borkar,etc al,[3] provides methods to change the


quantity of product/s purchased and edit the list. Along with this the
customer would be informed about the on-going offers in the store. Payment
can be according to customer convenience. Android based application which
provides users to easily facilitate billing systems but it is not supported for
different vendors. In this, the user will scan the item which he wants to
purchase with the help of scanner provided by this app. After scanning of the
item a web service will get called which will create a connection with the
database of the shop. As the connection is established, the user is now
synched with the database and information related to that item is provided to
him. In this whole procedure the overall time of scanning of individual items
is saved and thus reducing the time of the shopping. Again an android only
supportable application, It does not provide customer management and stock
management.

2.1.4 Research on the development of a new shop application using


android
In 2014, Subhashree Samal etc al, [4] proposed a new mobile Shop
Application practiced for an Android Smartphones, meant for the sales
persons of big retail stores. In this Android application, data is stored using
SQLite which is a type of embedded database and is stored within a single
file on a disk. This paper describes how the customer can buy the product
much faster without standing in a queue for billing in front of billing

7
counter. This application will be used by the sales person available in the
shop and they will be roaming here and there in the shop. This application is
standalone and if the customer’s mobile gets damaged, all data’s are lost.

2.1.5 Automated billing system using li-fi (light fidelity)technology

In 2016, T.P.RANI al., [5] proposed a paper which states that In


large super markets, customers feel uncomfortable to stand in long queue for
billing the purchased products. This will get even worse at the time of
festival or seasonal sale. This paper provides a great solution to all these
problems using Li-Fi technology. Li-Fi is a new emerging technology in
trend which uses light waves to transfer data. In this paper, we propose an
automatic billing system which is not only time effective but also reduces
human effort. This system uses Li-Fi technology to transfer data quickly.
The free accessible android application is deployed in mobile using which
we get the product details and the payment is processed in the mobile itself.
For security, the products are verified in the gate section by checking the
products in the trolley. The main objective of this paper is to avoid queues in
supermarkets and malls. It only supports Large scale supermarkets hence,
not applicable for local and small scale vendors

2.1.6 Supporting multi data stores applications in cloud environments

In 2013, Joana margarida caldas da silva penim [6] a review of the


articles and business reports related to consumers’ grocery shopping
decision making process, in both offline and online retail channels. The
intent was to acquire a general overview of grocery shopping, in what
pertains to this dissertation and subsequent research questions, and as such
the focus relies mostly on the decisional phase and influencing pre-
decisional phase of the grocery shopper decision making process. Based on
8
the outcome of the literature review performed, a conceptual framework that
guided the design and performance of the empirical studies, aiming at
providing answers to the proposed research questions, is also presented.

2.2 Existing system and its limitation:

Many Supermarkets have been using the billing system for a decade. It is
also improved many times according to requirements of sellers and customers.
It does the same work that is calculating the bill, gives it to the customer and
maintain proper database. They are accurate in calculation and printing, they
also generate records. A new concept is also added in the billing system is that
they also maintain relationships with the customers who purchase more
products from the store regularly. It also shows the overall profit and profit on a
particular product and give repots which items are required and which have
cross their expiry date.

Existing Systems are either offline programs that are installed on computers
separately or android applications. This software need to be maintained
regularly and if there is a bug or problem they need the provider to fix them
which takes time. If some damage happens to the system then all the customer
data are lost which is a great drawback. The Existing systems are focused
mainly on large supermarkets and large scale shops. It doesn’t provide support
for medium and especially small scale shops.

9
CHAPTER 3
PROBLEM FORMULATION

3.1 Motivation for proposed system:

With the introduction of cloud, pay per use software’s are mostly used. An
online cloud system need not be maintained by the users. Small scale shops
cannot maintain good computers, by using an online system calculations and
processing are done by online systems. Existing systems are too complex for
small scale shops so they must be made easy. With the available system, there
is no multilingual support which created a difficulty for small scale shops. Cost
effective system need to developed, instead of developing an application for
each kind of stores generic templates are created which makes easy adaptation
of software. Customizable and inventory management support.

3.2 Main Objective

The main objective is to develop a modernized cloud based billing system


which can be easily used not only by large scale vendors but also medium and
small scale vendors. It is also focused on customer and inventory management.

3.3 Specific Objective

1. Generate new bills effortlessly.

2. Support multiple languages.

3. Maintain stock and customers easily.

4. Support small scale and large scale business billing.

10
5. Provide the service anywhere using cloud.

3.4 Platform Requirements

3.4.1 Hardware Requirements

1. Hard Disk :1GB


2. Ram :1GB
3. A reliable Internet connection.
4. Cloud Server(Google App Engine)

3.4.2 Software Requirements

1. Operating System : Windows 7,8,10, linux.


2. Front end Language : HTML5, CSS3, AngularJS.
3. Backend Language : Java – JDK1.8
4. IDE : Net Beans 8.2

11
CHAPTER 4
SYSTEM ANALYSIS AND DESIGN

4.1 System Architecture

Fig 2.1: Architecture Diagram

12
4.1.1 System Architecture Description

Through the user interface end users interact directly with the system. They
can access the application modules and perform various actions like bill
generation, customer management, inventory management etc.. Once the user
triggers the particular module, which resides inside the clod environment gets
called through web service description language and invoked from remote place.
All the customer generated data gets stored inside the cloud database.

user interacts with the application through the help of the browser, once the
user successfully sign in into the application, he can access the different modules
of the application.

in the inventory, all the user products along with all the required details gets
displayed. User can able to add or remove products to their inventory by using the
options available in the menu of inventory module. All the data gets separately
stored in their database. N different users have their own stock details in separate
table and it is accessed in secure manner.

in the customer management, user can easily add his customers to


effectively serve them. Every time billing is done, customer id is asked so that
points gets added to the customer. From the purchase history effective discounts or
offer intimation is easily done. Separate table is maintained for each user of
application to avoid conflicts.

billing is can be done easily by entering product known details along with
quantity and it can be easily manipulated at any time before printing. All the bills

13
are stored in database through which sales profit and statistics can be shown to the
user using data analytics.

4.2 System Design

4.2.1 Use Case Diagram

Fig 4.2.1 Use case Diagram

14
4.2.2 Data Flow Diagrams:

4.2.2.1 Context Level DFD:

A context level DFD is the most basic form of DFD. It aims to show how
the entire system works at a glance. There is only one process in the system and all
the data flows either into or out of this process. Context level DFD's demonstrates
the interactions between the process and external entities.

Fig 4.2.2.1: Context Level DFD for Cloud Bills

15
4.2.2.2 DFD Level 0:

The Level 0 DFD depicts the overall process and overall workflow of the
system. All the user and their projected workflow, all the actions are depicted
along with the key modules of the system.

16
Fig 4.2.2.2: Level 0 DFD for Cloud Bills

17
4.2.2.3 DFD Level 1

2
3
4
4.3
4.2.2.3.1 User Management

Fig 4.2.2.3.1 DFD for User Management

4.2.2.3.2 Inventory Management

18
Fig 4.2.2.3.2 DFD for Inventory Management

4.2.2.3.3 Customer Management

Fig 4.2.2.3.3 DFD for Customer Management

4.2.2.3.4 Bill Management

19
Fig 4.2.2.3.4 DFD for Bill Management

CHAPTER 5

FUNCTIONAL DESCRIPTION

5.1 USER MANAGEMENT

This module is intended to manage different users and their details. Users
include application users and customers of the application users. With the help of
the register page all types of users can get registers and can access the application
based on their levels.

5.1.1 Register

Users can register and get access to application via the help of register
module. Register page requires various details of users include name, mobile
number, mail id, shop name, location, address and so on. Once the user enters
20
all the required details, those data are validated and on successful validation
user gets added to the database.

5.1.2 Login

After registration whenever user wants to access the application, this


login page will help them. In other words, login page will serve as an entry
point for the user to access the application. Login details include username and
password which are entered by user and validated against the database for
security purpose, on successful matching user can access the application. On the
other hand if authentication error occurs the users are intimated via mail.

5.1.3 Change Password

Incase if a user forgets his password, he can easily change it by clicking


forgot password option. They will be redirected to password change page and
there they can change their passwords in a secure manner. User can also change
their password at any time via this option.

5.1.4 Authorization

The store proprietor can give permissions to the other users for
accessing the remaining modules. Users without authorization for a particular
module cannot access these modules. For example, if cashier is given
permission to only bill management then he cannot access customer or
inventory management module.

5.2 INVENTORY MANAGEMENT

21
All the user product details, rates, discount, tax, stock available are all
handled in this module. In this, user can maintain and manipulate their inventory
with help of three sub modules.

5.2.1 Add stock

The add stock module is used to enter new products to the cloud billing
system. While adding a stock or product we need to enter the id, name, cost,
available stock. The id is used to uniquely identify the product and so it must
not be same for two products. The add stock can only be accessed by the admin
other users are restricted from accessing the add stock module.

5.2.2 Update Stock

The edit stock module is used to manage the stock or edit the product
details using the id of the product or the name of the product. It can be used to
edit the name of the product or the price of the product or the available stock of
the product. The edit stock module can also be used to entirely remove a
product or item form the cloud based billing system. This module can only be
accessed by the admin and cannot be accessed by other users.

5.2.3 Review Stock

Users can view all their available product list, details along with quantity
in this module. It is also possible to view products based on the various
category. From the view point if they want to update any details the can easily
perform update operations. View list can be in different sorted orders like

22
ascending or descending based on product names, brands, price, recently added
items and so on.

5.2.4 Remove Stock

With remove stock module, users can remove certain products they don’t
sell any more easily. Once the remove option is done, the item is put inside
trash for 30 days after which it is removed permanently.

5.3 CUSTOMER MANAGEMENT

This module is used to add or edit the customer details in the cloud billing
system. The manage customer info module can also be used to entirely remove a
customer form the system. This module can only be accessed by an admin and by a
manager.

5.3.1 Add Customer

This module can be used to add new customers of the store to the system.
The customer details include the customer name, address, balance, customer id,
etc. The customer details can be accessed during billing process. Discounts are
also available for the regular customers.

5.3.2 View/Edit Customer

The manager and the store proprietor can view and edit the details of the
customer. The other users cannot access this module. The customer details can
be edited or they can be entirely removed.

5.4 BILL MANAGEMENT

5.4.1 Generate Bill

23
In generate bill module the user can create a new bill for the customer. In
this module, the users can add the products to the bill by entering either the id
of the product or the name of the product. Then the details of the product like
the price are added to the bill. The user need to specify the quantity of the
products. The cost of the product is automatically calculated and displayed for
each product. After all the products are entered the total quantity and total cost
is displayed. Optionally the users can also enter the amount given by the
customer and the remaining amount is calculated by the system and displayed.
Customer details can be added by entering the name or phone number of the
customer. Then the bill can be generated for the customer.

5.4.2 Select Customer Type

The cashier can select the type of customer- retail or wholesale etc. The
price is adjusted for different type of users and discounts are applied for regular
customers. This module is not mandatory if the customer wishes not to be
entered.

5.4.3 Print bill

In print bill module, the users can print the bill added in the generate bill
module or by using the id of the bill generated earlier or by using the customer
name or customer id to list their generated bills and choose from them. The Bill
contains the details of the products, their quantity, their individual cost and the
total cost. It also contains the information about the store and the name of the
customer for whom the bill is generated.

24
CHAPTER 6
SYSTEM IMPLEMENTATION AND TESTING

6.1 METHODOLOGY

Existing billing systems which are only simple standalone programs, that
run on a computer and require more computer resources. In case of any software
failure or any modification is required the user requires the developer to perform
the necessary action. Customers cannot generate their own bills. The systems that
are available now do not have multilingual support which can be hard for small
scale vendors.

Even though many retail billing systems are used only in large supermarkets
and malls, small scale vendors do not use these systems because of high price,
maintenance cost, etc. We overcome these limitations by using cloud technology

25
which is an online utility tool. Once we deploy our system in the cloud it can be
accessed anywhere with an internet connection which is largely scalable.

Our system is multilingual, so small scale vendors can also use our system.
It will easily reach out to them. The users only need basic computer knowledge and
an internet connection are only required, no other extra hardware support is
needed. First the user needs to register in our system and once account is created
they can easily add the items and their details like price, quantity, units, etc.. are
available in their store to our repository. Then they can easily customize the bill
layout, etc. They can make changes to their items. When generating a bill the
inventory is automatically managed by the system. It also provides customer
management.

6.1.1 Platform as a Service-Deployment

Google App Engine is a powerful platform that lets you build and run
applications on Google’s infrastructure — whether you need to build a multi-tiered
web application from scratch or host a static website. Here's a step-by-step guide to
hosting your website on Google App Engine.

6.1.1.1 Creating a Google Cloud Platform project:

To use Google's tools for your own site or app, you need to create a new
project on Google's Cloud Platform. This requires having a Google account.

1. Go to the Google Cloud Platform Console and select Select a project >
Create an empty project.
2. Enter a name for the project, and make a note of your project (application)
ID somewhere safe (you can edit it if you like.)

26
3. If you've not created a project before, you'll need to select whether you
want to receive email updates or not, agree to the Terms of Service, then
you should be able to press the Create button to create your project.
4. We'll need a sample website to publish. If you've not got one to use,
download and unzip this sample application.
5. Have a look at the sample application's structure — the static folder
contains your website content and app.yaml is your application
configuration file.
 Your website must go inside the static folder, and its landing page

must be called index.html, but apart from that it can take whatever
form you like.
 Your app.yaml file needs to be edited, but don't worry — it's a very

simple file. You don't need to change anything in it except for


the application field, the value of which should be changed
from your-project-id to your actual real project ID that you saved
earlier (you can also do this via the Google App Engine Launcher,
as we'll see later.)

6.1.1.2 Installing the necessary tools:

The tool we'll be using — Google App Engine SDK — can be used with
various different coding environments

Make sure Java is installed on your computer.

1. Download and install the original App Engine SDK for Python.

6.1.1.3 Publishing your app:

Now we've got our project made, sample app files collected together and
tools installed, let's publish our app.

27
1. Open the GoogleAppEngineLauncher application. It may ask you if you
want to make command symlinks. This is a good idea, so click yes.

2. Click File > Add Existing Application > Browse, select your sample app's
root folder, then select Add to add it to the launcher.
3. Select the sample app and click the Run button then the Browse button to
test your app locally.
4. If you're happy with the result, you are now ready to deploy it. If you've not
already added your project ID to your app.yaml configuration file, click
the Edit button now — this will open up the app.yaml file in your default
text editor, at which point you can edit it appropriately (change your-project-
id to your actual real project ID) then save and close it.
5. Your real project ID should now be listed in the Name column in the
launcher app.
6. Now press the Deploy button to deploy it. A web browser window should
open, and you'll be taken few a few authentication steps in the Google
services, such as choosing your Google account. Eventually you'll get a
success message.

6.2 MODULE IMPLEMENTATION

6.2.1 User Management


6.2.1.1 Login

The Login page can be used to sign into the system if the user already has an
account in the system. The Users need to enter the shop name, username, password
correctly in order to proceed in to the system.

28
Fig 3.2.1: Screenshot of Login page

6.2.1.2 Register page

The Register page is used to create and account in the system. In order to use
the system, the user needs to first register in the system. The User needs to enter
the shop name, username, password, email, phone number. The Email or phone
number can be used to retrieve a forgotten password.

29
Fig 3.2.2: Screenshot of Register Page

6.2.1.3 Change Password

The Change Password page can be used to change your existing password to
a different one. First the user needs to enter the current password and then enter the

30
new password and confirm it. Then the password will be updated

Fig 3.2.3: Screenshot of Change Password Page

6.2.1.4 Authorize

31
This module can only be accessed by an administrator. The admin can give
or remove permissions to other users to access the other modules.

Fig 3.2.4: Screenshot of Authorize Page

6.2.2 INVENTORY MANAGEMENT:

32
6.2.2.1: Add Stock

The Authorized users can add new products to the inventory using this page.
The Product Id and the product name must be unique for every product. The
Different prices- retail, wholesale and m.r.p are entered. On Clicking Submit the
product is added to the database

Fig 3.2.5: Screenshot of Add Stock page

6.2.2.2: Update Stock

33
The Update stock module can be used to update the stock of the product or
the prices of the products. The User need to enter the product id to get the current
details of the product and after changing the desired values the update button must
be clicked.

Fig 3.2.6: Screenshot of Update Stock page

6.2.2.3: Remove Stock

34
The Remove Stock module is used to remove a stock or product from the
inventory. The Product Id of the product which is to be deleted is entered and when
remove stock is clicked if the product exists it is removed.

Fig 3.2.7: Screenshot of Remove Stock page

Fig 3.2.8: Screenshot of Remove Stock page execution

35
6.2.2.4: Review Stock

Review Stock page can display the whole inventory or just a part of the
inventory based on the category.

Fig 3.2.9: Screenshot of Review Stock page

Fig 3.2.10: Screenshot of Review Stock page execution

36
6.2.3 CUSTOMER MANAGEMENT

6.2.3.1 Add Customer

New Customers can be added using this module. The authorized users can
enter the customer details like Customer Id, customer name, phone number, email
id, address. The different customers can be identified by their id or phone number.

Fig 3.2.11: Screenshot of Add Customer page

37
6.2.3.2 View Customer

This module is used to view customer details for editing them or can view
all the customers in the system.

Fig 3.2.12: Screenshot of View Customer page

Fig 3.2.13: Screenshot of View Customer page execution

6.2.4 BILL MANAGEMENT


38
6.2.4.1 Generate Bill

The Billing process is carried on the generate bill page. The Users can enter
the product name or product id and the units the customer is buying and should
click on add button to add it to the bill. The Rate is automatically calculated and
displayed. After entering the products click on finish to save the bill.

Fig 3.2.14: Screenshot of Generate Bill page

6.2.4.2 Print Bill

39
The Generated Bills can be printed using this module. The Bill is selected by
the bill number and the bill is displayed. After that the print button is clicked to
print the bill. The User can print or save the bills as pdf.

Fig 3.2.15: Screenshot of Print Bill page

Fig 3.2.16: Screenshot of Print Bill page executed

40
Fig 3.2.17: Screenshot of Print Bill page output

6.3 Table Structure

6.3.1 User table

Field Type Null Key Default Extra


user_name varchar(25) NO UNI NULL
password varchar(25) NO NULL
shop_name varchar(25) NO NULL
Email varchar(25) NO UNI NULL
phone_no varchar(10) NO NULL
stock_auth Tinyint(1) NO NULL
cust_auth Tinyint(1) NO NULL
bill_auth Tinyint(1) NO NULL

41
6.3.2 Customer Table

Field Type Null Key Defaul Extra


t
customer_id varchar(10) NO UNI NULL
customer_name varchar(25) NO UNI NULL
Phone varchar(10) NO UNI NULL
Email varchar(25) NO UNI NULL
Balance varchar(10) NO NULL
Address varchar(50) NO NULL

6.3.3 Stock Table

Field Type Null Key Default Extra


product_id varchar(25) YES UNI NULL
product_nam varchar(25) YES UNI NULL
e
Units varchar(10) YES NULL
Quantity varchar(10) YES NULL
price_retail varchar(25) YES NULL
price_whole varchar(25) YES NULL
Mrp varchar(25) YES NULL
Category varchar(25) YES NULL

6.3.4 Bill Table

Field Type Null Key Default Extra

42
bill_no varchar(10) YES UNI NULL
customer_i varchar(10) YES NULL
d
6.3.5 Bill Number table

Field Type Null Key Default Extra


product_id varchar(25) YES UNI NULL
product_nam varchar(25) YES UNI NULL
e
Units varchar(10) YES NULL
Quantity varchar(10) YES NULL
Price varchar(10) YES NULL
Rate varchar(10) YES NULL

6.4 Testing

Software testing can be stated as the process of validating and verifying that
a computer program/application/product:

 Meets the requirements that guided its design and development,


 Works as expected,
 Can be implemented with the same characteristics,
 Satisfies the needs of stakeholders.
The primary purpose of testing is to detect software failures so that defects
may be discovered and corrected.
There are lots of testing techniques involved. Some of them are Unit testing
and Integration Testing.

43
6.4.1 Unit Testing

Unit Testing, also known as component testing, refers to tests that verify the
functionality of a specific section of code, usually at the function level. In an
object-oriented environment, this is usually at the class level, and the minimal unit
tests include the constructors and destructors. Unit is the smallest testable part of
an application. Unit tests are often written and run by the software developers to
ensure that code meets its design and behaves as intended.

These types of tests are usually written by developers as they work on code
(white-box style), to ensure that the specific function is working as expected.

6.4.2 Integration Testing

Integration testing is the phase in software testing in which individual


software modules are combined and tested as a group. It occurs after unit testing
and before validation testing.

Integration testing takes as its input modules that have been unit tested,
groups them in larger aggregates, applies tests defined in an integration test plan to
those aggregates, and delivers as its output the integrated system ready for system
testing.

6.4.3 Test Cases

TEST DESCRIPTION ACTION EXPECTED ACTUAL STATUS


CASE RESULT RESULT
ID
TC_01 Checking the Clicking An error An error
functionality of the login message with message with

44
login page button with “Enter Valid “Enter Valid
empty Details“ will Details“ is
fields be displayed displayed
PASS

TC_01 Clicking The user will The user is


the login be navigated navigated to
button with to the home the home
username page page
and
password
Clicking An error An error
the register message with message with
button with “Enter all “Enter all
TC_02 Checking the empty valid details“ valid details“
functionality of fields will be is displayed PASS

Registration Page displayed


Clicking A message A message
the register with with
button with "successfully "successfully
Valid registered" registered" is
details will be displayed
displayed
Checking Clicking A message A message
functionality of add button with with
TC_03
Add Stock as with valid "successfully "successfully
well as add details of Added" will Added" is

45
customer page stock be displayed displayed PASS

TC_03 Clicking An error An error


the add message with message with
button “* fields “* fields
without should not be should not be
filling empty” will empty” is
details be displayed displayed
Checking the Clicking An error An error
functionality of the update message with message with
Update Stock button with “fields should “fields should
details as well as either not be empty” not be empty”
Update customer empty field will be is displayed PASS
page. or with old displayed
details
TC_04 Clicking A message A message
the update with with
button with "Successfully "Successfully
the valid Updated" will Updated" is
details be displayed displayed and
and the details the details is
will be displayed in
displayed in review page
review page
TC_05 Checking the Clicking An error An error
functionality of the message with message with
Remove Product Remove “Invalid “Invalid

46
as well as button with details” will details” is
Remove customer Invalid be displayed displayed
PASS
page details
TC_05 Clicking A message A message
the with with
Remove "Successfully "Successfully
button with Removed" Removed" is
Valid will be displayed
details displayed
Checking the Clicking An error An error
functionality of the ‘add message with message with
the Bill page Item To "Fields should "Fields should
Bill’ button not be empty" not be empty"
with empty will be will is
fields displayed displayed
TC_06 Clicking Entered Item Entered item PASS
the ‘add will gets is added to
Item To added to bill Bill
Bill’ button
with valid
entry
Clicking Item will be Item is
‘X’ in Bill removed from removed from
Items the Bill the Bill

47
Clicking Generated Generated
Print Bill will be Bill is printed
Button printed

CHAPTER 7

CONCLUSION AND FUTURE ENHANCEMENTS

7.1 Conclusion

The objective of this system is to provide a hassle-free experience for the


users while creating bills or managing inventory. The system will benefit all types
of business including but not limited to the small-scale vendors. The user interface
of the system is simple so that everyone, even those without prior computer
knowledge can use the system. The system is multilingual and is available in more
than one language. Hence the regional vendors and shop owners can utilize this to
create bills in their own language. The system is deployed on cloud and hence the
users need not maintain the system which is maintained by the cloud server. The
system provides modules to manage the users, customers, inventory and bills. The
users just need to enter data and the system takes take of the rest. The inventory
system is updated after every purchase. The future releases will focus on purchase
management and invoice billing management.

7.2Future Enhancements

Stock Prediction using generated datasets with the help of Big data analytics
and Customer based Ordering and Offers based on history of purchase and
prediction of their future purchase and their Invoice Management.

48
CHAPTER 8

BIBLIOGRAPHY

REFERENCES

[1] Adarsh Borkar, Madhura Ansingkar, Monali Khobragade, Pooja Nashikkar, Arti Raut
“Smart Shopping- An Android Based Shopping Application”, International Journal of Advanced
Research in Computer Engineering & Technology (IJARCET), Volume 4 Issue 3, March 2015.

[2] Subhashree Samal, Swarna Prabha Jena,” Research on the Development of a New Shop
Application Using Android”, International Journal of Advanced Computer Research. Publisher
ISSN (print): 2249-7277 ISSN (online): 2277-7970 Volume-4 Number-1 Issue-14 March-2014.

[3] Pooja N Vengurlekar, Vivek S Kulkarni,Piyusha R Kulkarni Saket Z Jadhav,” Cloud based
online retail management framework: a different aspect” , Imperial Journal of Interdisciplinary
Research (IJIR), Publisher ISSN : 2454-1362 vol.2, Issue-1 2016.

[4] J. D. Jadhav Shital Gaddime Kiran Hiware Neeta Khadtsare Tanya, “Smart Trolley: A Fast
And Smart Shopping Experience Using Android And Cloud”, International Journal of Innovative
Research and Advanced Studies (IJIRAS), Publisher ISSN: ISSN: 2394-4404 Volume 3 Issue
11, October 2016.

[5] Joana margarida caldas da silva penim,”Online Grocery Shopping: An exploratory study of
consumer decision making processes”, Católica Lisbon School of Business & Economics March
2013.

[6] “SMART SHOPPING TROLLEY USING RFID” by Komal Ambekar, Vinayak Dhole
International Journal of Advanced Research in Computer Engineerig & Technology (IJARCET)
Volume 4 Issue 10, October 2015.

49
[7 Dr.Gagandeep Nagra, Dr.R.Gopal, “An study of Factors Affecting on Online Shopping
Behavior of Consumer”,International journal of scientific and research publications, Publisher
ISSN: ISSN:2250-3153, Volume3,issue 6,June 2013

APPENDIX

Development Code for billing snippet:

<!doctype html>

<html lang="en" xmlns="http://www.w3.org/1999/html">

<head>

<meta charset="utf-8">

<link rel="stylesheet" href="../style.css">

<link rel="stylesheet" type="text/css" href="../newcss.css">

<title>Online Billing Software | Create, Manage Bills Online</title>

<%

if ((session.getAttribute("userid") == null) || (session.getAttribute("userid") ==


"")) {%>

<center>Not Logged in</center>

<%

response.sendRedirect("../User_manage/sign_in.jsp");

%>

<body id="index">
50
<div id="body-wrapper">

<div class="contain-to-grid">

<nav class="top-bar" data-topbar="" role="navigation">

<ul class="title-area">

<li class="left">

<h1><a href="../home.jsp"><img src="../cloudbills.png" alt="CLOUD


BILLS" height="50" ></a></h1>

</li>

<li class="toggle-topbar menu-icon"><a


href="#"><span>Menu</span></a></li>

</ul>

<section class="top-bar-section">

<!-- Right Nav Section -->

<ul class="right">

<li>

<div class="dp">

<a href="#" class="dropbtn">Users</a>

<div class="dp-content">

<a href="../User_manage/add_permissions.jsp">Add
Permissions</a>

<a href="../User_manage/change_pass.jsp"> Change


Password</a>

51
</div>

<li>

<div class="dp">

<a href="#" class="dropbtn">Stock</a>

<div class="dp-content">

<a href="../Stock_manage/add_stock.jsp">Add Stock</a>

<a href="../Stock_manage/update_stock.jsp">Update Stock</a>

<a href="../Stock_manage/remove_stock.jsp">Remove
Stock</a>

<a href="../Stock_manage/review_stock.jsp">Review
Stock</a>

</div>

</div>

</li>

<li>

<div class="dp">

<a href="#" class="dropbtn">Customer</a>

<div class="dp-content">

<a href="../Customer_manage/add_customer.jsp">Add
Customers</a>

52
<a href="../Customer_manage/view_customer.jsp">View
Customers</a>

</div>

</div>

</li>

<li>

<div class="dp">

<a href="#" class="dropbtn">Bill</a>

<div class="dp-content">

<a href="../Bill_manage/generate_bill.jsp">Generate Bill</a>

<a href="../Bill_manage/print_bill.jsp">Print Bill</a>

</div>

</div>

</li>

<li class="has-form">

<a href="../User_manage/logout.jsp" class="button secondary


radius">Logout</a>

</li>

</ul>

</section>

</nav>

</div>

53
<%@page import="java.sql.DriverManager"%>

<%@page import="java.sql.ResultSet"%>

<%@page import="java.sql.Statement"%>

<%@page import="java.sql.Connection"%>

<form action="generate_bill.jsp" method="post">

<table align="center" width="100%" border="1">

<tr align="center">

<th colspan="3" class="hide_all"> Product Name <input type="text" value=""


id="proname" name="proname" required=""></th>

<th colspan="3" class="hide_all"> Units<input type="number" value=""


id="units" name="units" required=""></th>

<th class="hide_all"><button type="submit">Add</submit></th>

</tr>

<tr font-weight: bold>

<th>Product ID</th>

<th>Product Name</th>

<th>Units</th>

<th>Quantity</th>

<th>Price</th>

<th>Rate</th>

</tr>

54
<%

Class.forName("com.mysql.jdbc.Driver");

Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/cloud","root", "root");

Statement st = con.createStatement();

Statement st1 = con.createStatement();

Statement st2 = con.createStatement();

Statement st3 = con.createStatement();

ResultSet rs,rs1;

st.executeUpdate("create table if not exists bill1 (product_id


varchar(25),product_name varchar(25),units varchar(10),quantity varchar(10),price
varchar(10),rate varchar(10))");

String proname ="";

String proid="";

String qty="";

String price="";

int units=0,total=0,rate=0,mrp=0;

if(request.getParameter("proname")!=null)

proname = request.getParameter("proname");

55
units= Integer.parseInt(request.getParameter("units"));

rs = st1.executeQuery("select * from stock where


product_name='"+proname+"'");

while(rs.next())

mrp=Integer.parseInt(rs.getString("price_retail"));

proid=rs.getString("product_id");

qty=rs.getString("quantity");

price=rs.getString("price_retail");

rate=units*mrp;

st2.executeUpdate("insert into bill1


values('"+proid+"','"+proname+"','"+units+"','"+qty+"','"+price+"','"+rate+"')");

rs1=st3.executeQuery("select * from bill1");

while(rs1.next())

String rate1=rs1.getString("rate");

%>

<tr align="center">

56
<td><%=rs1.getString("product_id") %></td>

<td><%=rs1.getString("product_name") %></td>

<td><%=rs1.getString("units") %></td>

<td><%=rs1.getString("quantity") %></td>

<td><%=rs1.getString("price") %></td>

<td><%=rate1 %></td>

</tr>

<%

total=total+ Integer.parseInt(rate1);

%>

</table>

<button type="button">Finish</button>

</form>

</body>

</html>

57
58

You might also like