0% found this document useful (0 votes)
23 views72 pages

Inventory Management System Thesis

The document is a thesis on an Inventory Management System submitted by students for their Bachelor of Technology degree in Computer Science and Engineering. It outlines the project's objectives, existing system drawbacks, proposed features, and the technologies used, including HTML, CSS, Java, and MySQL. The system aims to automate inventory management, enhance efficiency, and reduce errors through a user-friendly web-based application.

Uploaded by

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

Inventory Management System Thesis

The document is a thesis on an Inventory Management System submitted by students for their Bachelor of Technology degree in Computer Science and Engineering. It outlines the project's objectives, existing system drawbacks, proposed features, and the technologies used, including HTML, CSS, Java, and MySQL. The system aims to automate inventory management, enhance efficiency, and reduce errors through a user-friendly web-based application.

Uploaded by

anjalikura2003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

INVENTORY MANAGEMENT SYSTEM

A Thesis
Submitted in the partial fulfilment of the
requirements for the award of the degree of
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE & ENGINEERING

BY
K. ANJALI 21281A0552
K. KAVYA SRI 21281A0504
MD. FAYAAZ SAMAD 21281A0508
G. VARUN REDDY 21281A0503
PROJECT GUIDE
Mr. PRASHANTH KUMAR DEVARAKONDA
(Assistant Professor)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


KAMALA INSTITUTE OF TECHNOLOGY & SCIENCE
(UGC AUTONOMOUS)
Approved by AICTE, New Delhi, Affiliated to JNTU, Hyderabad,T.G,
Accredited by NBA (CSE, ECE & EEE) and NAAC with A++
Singapur, Huzuzrabad, Karimnagar, Telengana-505468
2024-2025
INVENTORY MANAGEMENT SYSTEM
A Thesis
Submitted in the partial fulfilment of the
requirements for the award of the degree of
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE & ENGINEERING

BY
K. ANJALI 21281A0552
K. KAVYA SRI 21281A0504
MD. FAYAAZ SAMAD 21281A0508
G. VARUN REDDY 21281A0503
PROJECT GUIDE
Mr. PRASHANTH KUMAR DEVARAKONDA
(Assistant Professor)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


KAMALA INSTITUTE OF TECHNOLOGY & SCIENCE
(UGC AUTONOMOUS)
Approved by AICTE, New Delhi, Affiliated to JNTU, Hyderabad,T.G,
Accredited by NBA (CSE, ECE & EEE) and NAAC with A++
Singapur, Huzuzrabad, Karimnagar, Telengana-505468
2024-2025
KAMALA INSTITUTE OF TECHNOLOGY & SCIENCE, SINGAPUR
(UGC AUTONOMOUS)
Sponsored by KAMALA EDUCATION SOCIETY, Approved by AICTE, New Delhi and Affiliated to JNTU-Hyderabad, T.G.

Accredited by NBA (CSE, ECE &EEE) and NAAC with A++


HUZURABAD, KARIMNAGAR, TELANGANA, INDIA- 505468

Department of Computer Science & Engineering

CERTIFICATE

This is to certify that [Link] (21281A0552), [Link] (21281A0504), MD.


FAYAAZ SAMAD (21281A0508), G. VARUN REDDY (21281A0503) of the [Link]
ComputerScience & Engineering have satisfactorily completed the dissertation work for Major
Project Work entitled “INVENTORY MANAGEMENT SYSTEM” towards the partial
fulfillment of [Link] degree in the academic year 2024-2025.

Project Guide Head of the Department

Principal External Examiner


INDEX
TITLE PAGE NO
ACKNOWLEDGEMENT i
ABSTRACT ii
LIST OF FIGURES iii
LIST OF TABLES vi
Chapter 1: Introduction 1
1.1 About Project 1
1.2 Existing System with Drawbacks 1
1.3 Proposed System with Features 2
Chapter 2: Literature Survey 4
Chapter 3: Analysis 6
3.1 Hardware and Software Requirements 6
3.2 Functional Requirements 6
3.3 Non-Functional Requirements 7
3.4 Module Description 8
Chapter 4: Design 9
4.1 Block Diagram 9
4.2 Data Flow Diagram 9
4.3 ER Diagram 13
4.4 UML Diagrams 15
4.4.1 Use Case Diagram 16
4.4.2 Class Diagram 17
4.4.3 Sequence Diagram 18
4.4.4 Collaboration Diagram 21
4.4.5 Activity Diagram 23
4.5 Data Dictionary 25
Chapter 5: Implementation 29
5.1 Technology Used 29
5.2 Frontend Design 32
Chapter 6: Testing 39
6.1 Testing 39
6.2 Testing Strategy 43
6.3 Black Box Testing 43
6.4 White Box Testing 45
6.5 Database Testing 46
6.6 Performance Testing 47
6.7 Test Results 47
Chapter 7: Results 48
Chapter 8: Conclusion 59
Chapter 9: Future Scope and Enhancements 60
Bibliography 61
ACKNOWLEDGEMENTS

The success of any course depends mainly on the teachers who teach us. Only good teaching
can interpret the syllabus and procedure desirable changes and competent citizens. This project
was a team effort and many people whose names do not appear on the cover also deserve
credit. First, we thank God almighty for his manifold mercies in carrying out our project
successfully.

We heart fully thank our Director [Link] and our Principal Dr. K. ESWARAIAH
and management for providing all the facilities required for completing this project work.

We sincerely thank our Head of the Department, and Professor of Computer Science &
Engineering, Dr. Major. RAVINDRA BABU KALLAM, for supporting us throughout the
completion of the project work.

We sincerely thank our guide Mr. PRASHANTH KUMAR DEVARAKONDA, Assistant


Professor in CSE for the valuable guidance and constant encouragement at each stage of this
project.

We would like to thank our project coordinator Mr. J. PAVAN KUMAR, Assistant Professor
in CSE for his valuable guidance and constant encouragement at each stage of this project.

We thank all other teaching and non-teaching staff of Kamala Institute of Technology &
Science For supporting us in every stage of our Industrial Oriented Mini Project, entitled
as “INVENTORY MANAGEMENT SYSTEM”.

We thank our Parents and Friends for their moral support throughout the project work that
helped to our will.

[Link] 21281A0552

K. KAVYASRI 21281A0504

MD. FAYAAZ SAMAD 21281A0508

G. VARUN REDDY 21281A0503

i
ABSTRACT

An Inventory Management System (IMS) is a web-based application designed to simplify and


automate the process of managing inventory, tracking stock levels, and maintaining supplier
relationships for businesses. Traditional methods of inventory management are time-consuming
and prone to errors, making it difficult for businesses to operate efficiently. This system
addresses these challenges by providing a centralized and user-friendly platform to monitor
inventory in real time, manage product data, and ensure timely stock replenishment.

The IMS is developed using HTML, CSS, and JavaScript for the frontend, which provides a
responsive and interactive user interface, enabling smooth navigation and a seamless user
experience. The backend is powered by Java, using frameworks such as JSP/Servlets, which
handle business logic, server-side operations, and communication with the database through
RESTful APIs. The application uses MySQL as the database to securely store and retrieve data
such as product details, stock information, supplier records, and user credentials. This
combination of technologies ensures the system is scalable, robust, and secure.

The system includes three key modules: the Admin module, the Supplier module, and the User
module. The Admin module provides full control over the system, allowing the admin users to
manage products, monitor stock levels, update inventory, and oversee supplier details. Admin
users can also generate reports to analyze inventory performance and make data-driven
decisions. The Supplier module allows suppliers to view product requirements, manage supply
orders, and update delivery statuses, ensuring a smooth flow of stock to the business. The User
module allows regular users, such as employees or customers, to interact with the system in a
limited capacity. These users can view product information, check stock availability, and place
orders, but with restricted access to more sensitive features like inventory management or report
generation. By facilitating effective communication between Admins, Suppliers, and Users, the
system ensures inventory is well-maintained, orders are fulfilled accurately, and operational
disruptions are minimized.

The Inventory Management System provides businesses with a powerful solution to optimize
their inventory processes, reduce human errors, and improve operational efficiency. Leveraging
Java Full Stack technologies and MySQL, the system ensures real-time data management and
offers a reliable, scalable platform for businesses to manage their inventory seamlessly.

ii
LIST OF FIGURES

TITLE PAGE NO

4.1 Block Diagram 9

4.2.1 DFD Diagram Symbols 10

4.2.2 Context level DFD 11

[Link] Top level DFD for Admin 12

[Link] Top level DFD for Supplier 12

[Link] Top level DFD for User 13

4.3 Entity Relationship Diagram 14

[Link] Use Case Diagram for Admin 16

[Link] Use Case Diagram for Supplier 16

[Link] Use Case Diagram for User 17

4.4.2 Class Diagram 18

[Link] Sequence Diagram for Admin 19

[Link] Sequence Diagram for Supplier 20

[Link] Sequence Diagram for User 21

[Link] Collaboration Diagram for admin 22

[Link] Collaboration Diagram for Supplier 22

[Link] Collaboration Diagram for User 23

[Link] Activity Diagram for Admin 23

[Link] Activity Diagram for Supplier 24


iii
[Link] Activity Diagram for User 24

5.2.1 User Registration Page 32

5.2.2 User Registration Failed Pop-up Message 33

5.2.3 User Registration Successful Pop-up Message 33

5.2.4 User Login Page 34

5.2.5 User Login Successful Pop-up Message 34

5.2.6 User Home Page 35

5.2.7 Supplier Login Page 35

5.2.8 Supplier Login Successful Pop-up Message 36

5.2.9 Supplieer Dashboard Page 36

5.2.10 Admin Login Page 37

5.2.11 Admin Login Successful Pop-up Message 37

5.2.12 Admin Home Page 38

6.1.1 All fields are empty 39

6.1.2 Showing to enter email field 40

6.1.3 Showing to enter phone number field 40

6.1.4 Showing to enter password field 41

6.1.5 Showing to select a item in role field 41

6.1.6 Pop-up message showing Registration Successful 42

6.3.1 The user has logged in successfully 44

6.3.2 On clicking ok button, redirecting to visitors home page 44

6.4 The login has failed because of the invalid credentials entered 46

6.5 Details stored correctly in Bookings table 46

6.6 Performance Testing 47

iv
7.1 Screenshot of User Registration Page 48

7.2 Screenshot of User Login Page 48

7.3 Screenshot of User Home Page 49

7.4 Screenshot of Wishlist Page 49

7.5 Screenshot of Cart Page 50

7.6 Screenshot of Profile 50

7.7 Screenshot of Payment Page 51

7.8 Screenshot of Payment Success Page 51

7.9 Screenshot of Orders Page 52

7.10 Screenshot of Feedback Pass 52

7.11 Screenshot of Update profile Page 53

7.12 Screenshot of Supplier Login Page 53

7.13 Screenshot of Supplier Dashboard Page 54

7.14 Screenshot of Mange Products Page 54

7.15 Screenshot of Manage Orders Page 55

7.16 Screenshot of Supplier Feedbacks Page 55

7.17 Screenshot of View Products Page 56

7.18 Screenshot of Admin Login Page 56

7.19 Screenshot of Admin Home Page 57

7.20 Screenshot of Manage Suppliers Page 57

7.21 Screenshot of Sales and Report Page 58

7.22 Screenshot of Admin Feedbacks Page 58

v
LIST OF TABLES

TITLE PAGE NO

4.5.1 Admin table 25

4.5.2 Supplier table 26

4.5.3 Users table 26

4.5.4 Products table 26

4.5.5 Orders table 27

4.5.6 Feddback table 27

4.5.7 Cart Table 27

4.5.8 Categories Table 27

4.5.9 Wishlist Table 28

6.1.7 Test Cases 42

vi
CHAPTER 1

INTRODUCTION

1.1 About the Project

The Inventory Management System is a comprehensive, open-source software solution designed to


streamline inventory processes for organizations of all sizes. Built using modern technologies, the
system provides an efficient, user-friendly platform to manage inventory operations with accuracy
and [Link] project addresses common challenges faced by traditional inventory tracking methods,
such as manual errors, inefficiencies, and lack of real-time visibility. By offering a centralized,
automated solution, it ensures effective management of stock levels, purchase orders, and inventory
movements.

The project Inventory Management System is a complete web based application. An inventory
management system is the combination of technology (hardware and software) and processes
and procedures that oversee the monitoring and maintenance of stocked products, whether those
products are company assets, raw materials and supplies, or finished products ready to be sent to
vendors or end consumers. Inventory Management System plays an important role because it reduces
the stress, monitoring of products, making balance sheets and many more which was done manually.
Simply Inventory Management System overtook the manual things and also it optimizes the cost and
time constraint. This application is based on web application and develop with procedural php,
MySQL database, jquery, datatables plugins, and bootstrap. This application provides the users to
manage brands, category, product, orders, and report.

DRAWBACKS OF EXISTING SYSYTEM

• The system doesn’t have strong security features like two-factor authentication,
making it easier for hackers to access.

• User roles aren’t well-managed, so unauthorized users might access sensitive


parts of the system.

• Manual data entry for products and inventory can lead to mistakes.

• Inventory updates are not real-time, causing delays and problems like running out
of stock or overstocking.

1
• There’s no way to track how reliable suppliers are, which can lead to delays or
poor-quality supplies.

• Purchase order approvals are slow because they’re not automated, wasting time
and effort.

• Different parts of the system, like sales and inventory, don’t work well together,
causing confusion.

• Reports are basic, don’t update in real time, and can’t be customized for specific
needs.

• The system sends too many irrelevant alerts, making it easy to miss important
ones.

1.2 PROPOSED SYSTEM WITH FEATURES

This website provides the facility of storing the data and changing it if necessary. Data can be
retrived easily. This reduces the manual paperwork, and also reduces sharing and distributing time.

FEATURES

• Users, including admins and suppliers, will have a secure registration and login process with
features like two-factor authentication and role-based access control.
• Product management will include tools to automatically update and optimize product details,
reducing errors and improving efficiency.
• Inventory tracking will work in real time, showing exact stock levels and movements instantly
to avoid running out or overstocking items.
• Supplier management will include performance tracking, helping businesses evaluate supplier
reliability, delivery speed, and quality.
• Purchase order management will automate creating, approving, and tracking orders, making
the process faster and more accurate.
• Sales management will integrate with inventory to ensure accurate order fulfillment, support
multiple payment options, and track customer preferences.
• Reporting will generate real-time, customizable reports with visual dashboards for better
understanding of sales, stock levels, and trends.

2
• Smart alerts will notify users instantly about critical updates like low stock, order status, or
expirations while reducing irrelevant notifications.
• The system will integrate all modules, ensuring smooth communication between sales,
inventory, and supplier functions to avoid data mismatches.
• Scalability will ensure the system can grow with the business, handling more products,
customers, and suppliers seamlessly.

3
CHAPTER 2

LITERATURE SURVEY

An inventory management system (IMS) is a vital tool for businesses to manage stock levels, supplier
relationships, and sales operations. Over time, these systems have advanced, incorporating new
technologies to enhance efficiency and minimize errors. This survey explores existing IMS features,
their shortcomings, and the improvements proposed for modern solutions.

Most IMS applications offer standard features, including user management, product tracking, supplier
coordination, sales integration, reporting, and alert mechanisms. The user management feature allows
employees, admins, and suppliers to register, log in, and access specific functionalities based on
assigned roles. These roles ensure that sensitive information is accessible only to authorized users.
Product management involves organizing and updating product details, while inventory tracking
monitors stock levels and movements, a crucial aspect for avoiding shortages or overstocking.
Supplier management focuses on building strong relationships with suppliers, ensuring timely
deliveries, and tracking agreements. Advanced systems also evaluate supplier performance to
enhance supply chain efficiency.

Purchase order management simplifies the procurement process by automating the creation, approval,
and tracking of orders. Sales management integrates customer orders with inventory data to
streamline order fulfillment and payment processing. Reporting tools generate insights into key
metrics such as sales trends, inventory levels, and supplier performance, while alerts notify users
about critical updates like low stock levels, delayed shipments, or product expirations.

Despite these features, many existing systems face significant limitations. Security remains a concern,
with many lacking advanced measures like two-factor authentication or encryption, leaving them
vulnerable to breaches. Role-based access is often inadequate, allowing unauthorized users to access
sensitive areas of the system. Manual data entry in product and inventory management introduces
errors, which can disrupt workflows and impact accuracy. Real-time inventory updates are missing
in some systems, causing delays that lead to inefficient decision-making and potential stock issues.

Supplier management tools often fail to measure supplier reliability or provide performance insights,
limiting their ability to support strategic decisions. Purchase order workflows are not always
automated, resulting in unnecessary delays and inefficiencies. Sales and inventory modules may not
be fully integrated, leading to mismatched data or order errors. Reporting tools are frequently static
and lack customization, making it difficult for businesses to extract actionable insights tailored to

4
their needs. Alert systems can overwhelm users with irrelevant notifications, causing important
updates to be missed.

To address these shortcomings, modern IMS solutions focus on adopting advanced technologies.
Enhanced security features, such as two-factor authentication and encryption, safeguard user data and
ensure system integrity. Role-based access controls are clearly defined to prevent unauthorized
access. Automation tools, such as barcode scanners and RFID integration, reduce manual input errors
in product and inventory management. Real-time inventory tracking ensures instant updates on stock
levels, allowing businesses to make informed decisions quickly.

Supplier management now includes performance evaluation tools to assess reliability, delivery
timeliness, and product quality, helping businesses optimize their supply chain. Automated workflows
for purchase order management improve efficiency by streamlining the approval and tracking
process. Integrated modules ensure seamless communication between sales, inventory, and supplier
functions, eliminating data inconsistencies. Reporting tools provide real-time, customizable insights
with visual dashboards, making decision-making more effective. Smart alerts prioritize important
notifications, minimizing distractions and ensuring critical updates are addressed promptly.

Several researchers have explored the development and implementation of inventory management
systems. Deshmukh and Tak [1] designed a CRUD-based system for tracking inventory transactions
efficiently. Munyaka and Yadavalli [2] provided a systematic review of inventory management
models highlighting the importance of aligning strategies with demand characteristics.

5
CHAPTER 3

ANALYSIS

The goal of the system analysis is to determine where the problem is and attempt to fix it. This step
involves breaking down the system into different pieces to analyse the situation. Analysing project
goals and attempts to engage users are carried out so that definite requirements can be defined.

3.1 Hardware and Software requirements

Hardware Requirements: The following are the requirements which we have used in our project.

• Processor needed : i3 or above


• RAM : 2 GB or more
• Hard disk : 128 GB or more
• Keyboard : Standard Keyboard
• Mouse : Two or Three Button Mouse
• System type : 32-bit or 64 bit

Software Requirements: The following are software requirements. Technology are specified by the
client.

• Operating System : Windows 7, 64 bit or more


• Language : Java
• Front-End : HTML, CSS, JavaScript
• Back-End : Java Servlets, JSP
• Database : MySQL
• Web Server : XAMPP

3.2 FUNCTIONAL REQUIREMENT AND NON – FUNCTIONAL REQUIREMENTS

Functional Requirements

Functional Requirements are associated with specific functions, tasks or behaviours of the system.
The functional requirements address the quality characteristic of functionality while the other quality
characteristics are concerned with various kinds of non-functional requirements. A task-based
functional requirements statement is a useful skeleton upon which to construct a complete
requirements statement.

6
The following are the fuctional requirements of our project:

• The system must allow users, admins, and suppliers to register, log in, and manage their
profiles securely using authentication features.
• Role-based access control must ensure that users can only access the parts of the system
relevant to their roles (e.g., admin, supplier, or staff).
• The system must provide tools for managing products, including adding, updating, and
categorizing products in the inventory.
• The system must integrate all modules, ensuring smooth data flow between inventory, sales,
supplier management, and reporting to avoid data inconsistencies.
• A user-friendly interface must make it simple for users to navigate, perform tasks, and
understand the system’s functionalities without extensive training.
• Scalability must be supported, allowing the system to handle a growing number of products,
users, and suppliers as the business expands.

Non-Funtional Requirements

Non-functional requirements are requirements that specify criteria that can be used to judge the
operation of a system, rather than specific behaviours. This should be contrasted with functional
requirements that specify specific behaviour or functions.

Following are the non-functional requirements

• Consistency: The website provides consistent user interface design to users. The design of
the screen are standardised and consistent that makes the user feel comfortable to use it.
• Availability: The content is available to all the users who visit the webiste. Any one can
access the website to know the events taking place in the location.
• Security: Administrators can only perform administrative tasks on pages they are priviliged
to access. Users will not be allowed to access the administrative pages. This site provides
password access control to avoid unauthorized admins to login.
• Reliability: The website provides an effective method to maintain the back-end to store all
the details securely. All details are managed by this website efficiently.
• Size: The performance of the project depends on the size of the project. We put lots of effort
in reducing lines of the code. In this project the storage space is utilized efficiently.

7
• Scalability: Scalable software can remain stable while adapting to changes, upgrades,
overhauls and resource reduction. Scalability is an attribute of a tool or a system to increase
its capacity and functionalities based on user’s demand.

3.2 Module Description

The modules used in this website are:

• User Management
This module helps users like admins, staff, and suppliers to log in, register, and manage their
profiles. It ensures only authorized users can access specific parts of the system, keeping it
secure.
• Product Management
This module is used to add, update, or delete product details like names, categories, prices,
and quantities. It helps in organizing products so that they are easy to find and manage.
• Inventory Tracking
This module monitors stock levels in real-time. It shows how much stock is available, alerts
users when stock is low, and tracks when and where products are moved or used.
• Supplier Management
This module keeps a record of supplier information, such as contact details and delivery
schedules. It helps evaluate suppliers’ reliability and ensures that orders are delivered on time.
• Purchase Order Management
This module handles creating, approving, and tracking purchase orders. It makes it easier to
buy stock when needed and keeps records of all orders placed.
• Sales Management
This module tracks customer orders, processes payments, and updates inventory after a sale.
It ensures that orders are fulfilled quickly and accurately.
• Reporting
This module generates reports about sales trends, inventory levels, and supplier performance.
It helps businesses understand what’s happening and make better decisions.

8
CHAPTER 4

DESIGN

4.1 Block Diagram

The block diagram is typically used for a higher level, less detailed description aimed more at
understanding the overall concepts and less at understanding the detilas of implementation. Admin
can maintain the events. The user can view the events based on their intrest. The following figure
represents the block diagram.

Figure 4.1 Block Diagram

4.2 Data flow diagrams

A data flow diagram is graphical tool used to describe and analyze movement of data through
a system. These are the central tool and the basis from which the other components are developed. The
transformation of data from input to output, through processed, may be described logically and

9
independently of physical components associated with the system. This is known as the logical data
flow diagrams.

The physical data flow diagrams show the actual implements and movement of data between
people, departments and workstations. Each component in a DFD is labeled with a descriptive name.
Process is further identified with a number that will be used for identification purpose. Each process
in lower-level diagrams can be broken down into a more detailed DFD in the next level. The top-
level diagram is often called a “context diagram”.

4.2.1 DFD Symbols:

In the DFD, there are four symbols:

1. Square defines a source (originator) or destination of system data.


2. An arrow identifies data flow. It is the pipeline through which the information [Link] move
in a specific direction from an origin to a destination.
3. A circle or a bubble represents a process that transforms incoming data flow into outgoing data
flow.
4. An Open Rectangle is a data store, data at rest or a temporary repository of data.

Figure 4.2.1 DFD Symbols

Constructing A DFD:

Several rules of thumb are used in drawing DFD’S:

• Process should be named and numbered for an easy interface. Each name should be
representative of the process.
• The direction of flow is from top to bottom and from left to right. Data traditionally flow from
source to the destination although they may flow back to the source. One way to indicate this is

10
to draw long flow line back to a source.
• An alternative way is to repeat the source symbol as a destination. Since it is used more thanonce
in the DFD it is marked with a short diagonal.
• The names of data stores and destinations are written in capital letters. Process and dataflow
names have the first letter of each work capitalized.

4.2.2 Context level DFD

A Context level Data flow diagram created using select structured systems analysis and design
method (SSADM). This level shows the overall context of the system and its operating environment
and shows the whole system as just one process. It does not usually show data stores, unless they
are owned by external systems, e.g. are accessed by but not maintained by this system, however,
these are often shown as external entities. The Context level DFD is shown in fig.4.2.1

Figure 4.2.2 Context level Data Flow Diagram (DFD)

The Context Level Data Flow Diagram show the data flow from the website to the database and to
the system.

4.2.3 Top level DFD

A data flow diagram is that which can be used to indicate the clear progress of a business venture. In
the process of coming up with a data flow diagram, the level one provides an overview of the major
functional areas of the undertaking. After presenting the values for most important fields of
discussion, it gives room for level two to be drawn.

11
Figure [Link] Top level Data Flow Diagram(DFD) for Admin

Figure [Link] Top level Data Flow Diagram(DFD) for Supplier

12
Figure 4.2.3 Top level Data Flow Diagram(DFD) for User

4.3 ER Diagram

An Entity-Relationship Diagram (ER diagram or ERD) is a visual representation used to model the
data and relationships within a database or information system. ER diagrams are widely used in
database design and serve as a blueprint for database developers and administrators to create and
maintain databases[4]. They help in understanding the structure of the data and how different entities
(things or objects) are related to each other. By visualizing entities, attributes, and relationships, ER
diagrams simplify complex database structures, making them easier to design and analyze. They also
play a critical role in ensuring data consistency and integrity throughout the database life cycle.

Elements in ER diagram:

There are three basic elements in an ER Diagram:

• Entity
• Attribute
• Relationship

There are more elements which are based on the main elements. They are weak entities, multi valued
attributes, derived attributes, weak relationships and recursive relationships Cardinality is one of the
notations used in ER diagrams.

Entity: An entity can be a person, place, event or object that is relevant to a given system. They are
represented by a rectangle and named using nouns.

13
Weak Entity: A weak entity is an entity that depends on the existence of another entity. It can
bedefined as an entity that cannot be identified by its own attributes.

Attribute: An attribute is a property, or characteristic of an entity, relationship, or another attribute.

Multi value Attribute: If an attribute can have more than one value it is called a multi valued
Attribute.

Derived Attribute: An attribute derived from another attribute.

Relationship: A relationship describes how entities interact.

Cardinality: Cardinality specifies how many instances of an entity relate to one instance of another
entity. Cardinality specifies the maximum number of relationships.

Entities and their attributes

The following figure 4.3 shows ER Diagram.

Fig 4.3 ER Diagram

14
The above diagram outlines a database structure for a sales system. It showcases how various
elements within the system, such as administrators, customers, products, orders, and suppliers, are
interconnected. For instance, the diagram reveals that administrators oversee users, users place orders,
and suppliers furnish products.

4.4 UML Diagrams

The Unified Modelling Language (UML) is a standard language for specifying, visualising.
constructing and documenting the software system and its components. The UML focuses on the
conceptual and physical representation of the system. It captures the decisions and understandings
about the systems that must be constructed. Structural models represent the framework for the system
and this framework is the place where all other components exist. So the class diagram, component
diagram and deployment diagrams are the part of structural modelling.

They all represent the elements and the mechanism to assemble them. But the structural model never
describes the dynamic behaviour of the system. A Behavioural model describes the interaction in the
system. It represents the interaction among the structural diagrams. Behavioural modelling shows the
dynamic nature of the system. Architectural model represents the overall framework of the system. It
contains both structural and behavioural elements of the system. Architectural model can be defined
as the blueprint of the entire system. Package diagram comes under architectural modelling

The Unified Modeling Language encompasses a number of models

• Use Case Diagram


• Class Diagram
• Sequence Diagram
• Collaboration Diagram
• State chart Diagram
• Activity Diagram
• Component Diagram
• Deployment Diagram

4.4.1 Use Case Diagram

Use case diagrams are one of the five diagrams in the UML for modelling the dynamic aspects of the
systems (activity diagrams, sequence diagram, state chart diagram, collaboration diagram are the four
other kinds of diagrams in the UML for modelling the dynamic aspects of systems). Use case
diagrams are central to modelling the behaviour of the system, a sub-system, or a class. Each one
shows a set of use cases and actors and relations.

15
The key points are:

• The main purpose is to show the interaction between the use cases and the actor
• To represent the system requirement from the user's perspective
• Use cases are the functions that are to be performed in the module

Figure [Link] Use Case Diagram for Admin

The above fig [Link] illustrates the various functionalities accessible to an administrator within a
system. These functions encompass user management, sales management, inventory management,
purchase order management, report viewing, alert management, feedback viewing, and login/logout
capabilities.

Figure [Link] Use Case Diagram for Supplier

16
The fig [Link] depicts the various functionalities available to a supplier within a system. These
include profile management, product updates, order confirmation, alert notifications, report viewing,
feedback reviews, and login/logout capabilities.

Figure [Link] Use Case Diagram for User

The fig [Link] illustrates the functionalities available to a user within a system. These include profile
management, product viewing, order placement and tracking, order history viewing, notification
viewing, feedback providing, and login/logout capabilities.

4.4.2 Class Diagram

A "Class Diagram" shows a set of classes, interfaces and collaborations and their relationships. These
diagrams are the most common diagrams in modelling object-oriented systems. The class diagram is
a static diagram. It represents the static view of an application. Class diagram is not only used for
visualising, describing and documenting different aspects of a system but also for constructing
executable code of the software application. The class diagram describes the attributes and operations
of a class and also the constraints imposed on the system. The class diagrams are widely used in the
modelling of object-oriented systems because they are the only UML diagrams which can be mapped
directly with object-oriented languages.

17
Figure 4.4.2 Class Diagram

The class diagram illustrates the entities (Admin, Supplier, User, Product, Order, Feedback, Database)
and their relationships in a sales management system. Entities have functionalities like managing
users, placing orders, viewing products, and providing feedback, while the database stores and
manages all data.

4.4.3 Sequence Diagram

Sequence diagram is an interaction diagram which focuses on the time ordering of messages. It shows
a set of objects and messages exchanged between these objects. This diagram illustrates the dynamic
view of the system.

The key points are:

1. The main purpose is to represent the logical flow of data with respect to a process
2. A sequence diagram displays the objects and not the class

18
Figure [Link] Sequence Diagram for admin

The sequence diagram models the interactions between an Admin, Website, and Database. The Admin
triggers actions such as login, managing entities (suppliers, users, products), viewing inventory and
orders, and accessing reports. The Website validates data and provides confirmations. The Database
stores and retrieves data as requested by the Admin through the Website.

19
Figure [Link] Sequence Diagram for Supplier

The sequence diagram illustrates the interactions between a Supplier, Website, and Database. The
Supplier initiates actions like login, viewing/updating profile, managing product details,
viewing/confirming orders, viewing reports, and viewing feedback. The Website validates data and
sends confirmations, while the Database stores and retrieves data.

20
Figure [Link] Sequence Diagram for User

The sequence diagram models the interactions between a User, Website, and Database. The User
initiates actions like registration, login, viewing profile, viewing products, placing orders, tracking
orders, viewing order history, giving feedback, and logging out. The Website validates data and sends
confirmations, while the Database stores and retrieves data.

4.4.4 Collaboration Diagram

A collaboration diagram is an interaction diagram that emphasises the structural organisation of the
objects that send and receive messages. It is also called a communication diagram. Collaboration
diagrams are isomorphic, meaning that you can take one and transform it into the other. Collaboration
diagrams convey the same information as sequence diagrams, but they focus on object roles instead
of times that messages are sent. In the sequence diagram, objectroles are the vertices and messages
are the connecting links. The object-role rectangles are labelled with either class or object names (or
both).

21
Figure: [Link] Collaboration Diagram for Admin

The sequence diagram models the interactions between an Admin, Website, and Database. The Admin
initiates actions like login, managing users, suppliers, products, viewing sales, viewing inventory,
view orders/reports/feedbacks and logging out. The Website validates data and sends confirmations,
while the Database stores and retrieves data.

Figure: [Link] Collaboration Diagram for Supplier

The collaboration diagram models the interactions between a Supplier, Website, and Database. The
Supplier initiates actions like login, viewing/updating profile, managing product details,
viewing/confirming orders, viewing reports, and viewing feedback. The Website validates data and
sends confirmations, while the Database stores and retrieves data.

22
Figure: [Link] Collaboration Diagram for User

The collaboration diagram models the interactions between a User, Website, and Database. The User
initiates actions like registration, login, viewing/updating profiles, viewing/ordering products,
tracking orders, viewing order history, and logging out. The Website validates data and sends
confirmations, while the Database stores and retrieves data.

4.4.5 Activity Diagram

An activity diagram shows the flow from activity to activity within a system; it emphasises the flow
of control among objects.

Figure: [Link] Activity Diagram for Admin

23
The activity diagram depicts the workflow of an admin within a system. It starts with login, checks
for successful authentication, and then allows access to various management functions like user
management, supplier management, inventory management, sales management, order management,
viewing reports and feedbacks, and finally logging out.

Figure [Link] Activity Diagram for Supplier

The activity diagram illustrates the workflow for a supplier within a system. It begins with login and
verifies success. Upon successful login, the supplier can access various functionalities such as
viewing/updating profile, adding/updating product details, confirming purchased orders, viewing
reports, viewing notifications, and viewing feedback. The process concludes with logout.

Figure [Link] Activity Diagram for User

24
The activity diagram depicts the workflow for a user within a system. It begins with registration
followed by login. Upon successful login, the user can access various functionalities such as
viewing/updating profile, viewing/ordering products, tracking orders, viewing order history, viewing
notifications, and giving feedback. The process concludes with logout.

4.5 Data Dictionary

A data dictionary, or Metadata Repository, as defined in the IBM Dictionary of Computing,


is a "centralized repository of information about data such as meaning, relationships to other data,
origin, usage, and format. The term can have one of several closely related meanings pertaining to
databases and database management systems (DBMS).

● A document describing a database or collection of databases.

● An integral component of a DBMS that is required to determine its structure.

● A piece of middle ware that extends or supplants the native data dictionary of a DBMS.

The terms data dictionary and data repository indicate a more general software utility than a
catalogue[2]. A catalogue is closely coupled with the DBMS software. It provides the information
stored in it to the user and the DBA, but it is mainly accessed by the various software modules of the
DBMS itself, such as DDL and DML compilers, the query optimizer, the transaction processor, report
generators, and the constraint enforcer. On the other hand, a data dictionary is a data structure that
stores metadata, i.e., (structured) data about information.

If a data dictionary system is used only by the designers, users, and administrators and not by
the DBMS Software, it is called a passive data dictionary. Otherwise, it is called an active data
dictionary or data dictionary. When a passive data dictionary is updated, it is done so manually and
independently from any changes to a DBMS (database) structure. With an active data dictionary, the
dictionary is updated first and changes occur in the DBMS automatically as a result.

4.5.1 Database Tables:

Table Name: admin

Table Description: It stores information about admins.

Table 4.5.1 Admin Table

25
Table Name: supplier

Table Description: It stores information about suppliers.

Table 4.5.2 Supplier Table

Table Name: user

Table Description: It stores information about users.

Table 4.5.3 Users Table

Table Name: product

Table Description: It stores details about different products.

Table 4.5.4 Product Table

Table Name: orders

Table Description: It stores visitors details of an order.

26
Table 4.5.5 Orders Table

Table Name: feedback

Table Description: It stores the feedbacks.


Table 4.5.6 Feedback Table

Table Name: cart

Table Description: It stores the details of items stored in the cart.


Table 4.5.7 Cart Table

Table Name: categories

Table Description: It stores the details of different categories of products.


Table 4.5.8 Categories Table

27
Table Name: wishlist

Table Description: It stores the details of products added to the wishlist.


Table 4.5.9 Wishlist Table

28
CHAPTER 5

IMPLEMENTATION

5.1 Technology Used

5.1.1 HTML

L (HyperText Markup Language) is the standard markup language used to create and structure
content on the web. It forms the backbone of all websites by organizing text, images, links, and other
elements into a readable and navigable format for web browsers. HTML uses a series of tags enclosed
in angle brackets (e.g., <html>, <head>, <body>, <p>) to define different parts of a webpage. These
tags tell the browser how to display content, such as headings, paragraphs, lists, tables, and forms.

HTML works in conjunction with other web technologies like CSS (Cascading Style Sheets)
for styling and JavaScript for interactivity. It is designed to be simple and readable, making it
beginner-friendly for those learning web development. Over time, HTML has evolved through
versions, with HTML5 being the latest standard, offering new features like audio and video
embedding, semantic elements (like <article> and <section>), and improved support for modern
devices and applications. Overall, HTML is essential for building the structure and content of any
website or web application.

Features of HTML:

✓ It is a very easy and simple language. It can be easily understood and modified.
✓ It is very easy to make an effective presentation with HTML because it has a lot of formatting
tags.
✓ It is a markup language, so it provides a flexible way to design web pages along with the text[1].
It facilitates programmers to add a link on the web pages (by html anchor tag), so it enhances
the interest of browsing of the user.
✓ It is platform-independent because it can be displayed on any platform like Windows, Linux,and
Macintosh, etc.
✓ It facilitates the programmer to add Graphics, Videos, and Sound to the web pages which makes
it more attractive and interactive.

5.1.2 Cascading Style Sheets (CSS):

Cascading Style Sheets, fondly referred to as CSS, is a simple design language intended to
simplify the process of making web pages [Link] Style Sheets, fondly referred to as

29
CSS, is a simply designed language intended to simplify the process of making web pages
presentable[1]. CSS allows you to apply styles to web pages. More importantly, CSS enables you to
do this independent of the HTML that makes up each web page.

It describes how a web page should look: it prescribes colors, fonts, spacing, and much [Link]
short, you can make your website look however you [Link] lets developers and designers define
how it behaves, including how elements are positioned in the [Link] html uses tags, CSS uses
rulesets. CSS is easy to learn and understand, but it providespowerful control over the presentation of
an HTML document.

5.5.3 JavaScript:

JavaScript is considered to be one of the most famous scripting languages of all time.
JavaScript, by definition, is a Scripting Language of the World Wide Web[1]. The main usage of
JavaScript is to add various Web functionalities, Web form validations, browser detections, creation
of cookies, and so on. JavaScript is one of the most popular scripting languages and that is why it is
supported by almost all web browsers available today like Firefox.

We used the browser Opera or Internet Explorer. It is considered to be one of the most
powerful scripting languages in use today. It is often used for the development of client-side web
development. It is used to make web pages more interactive and dynamic. It is a lightweight
programming language and it is embedded directly into the HTML code.

Advantages:

✓ An interpreted language.
✓ Embedded within HTML.
✓ The minimal syntax is easy to learn.
✓ Performance sign for simple, small programs.

5.1.4 Java

Java is a high-level, object-oriented programming language developed by Sun Microsystems


(now owned by Oracle Corporation). It was designed to have a "write once, run anywhere" capability,
meaning that code written in Java can run on any device that has a Java Virtual Machine (JVM),
regardless of the underlying hardware or operating system. Java is widely used for building desktop
applications, web applications, enterprise software, mobile apps (especially Android), and large-scale
systems.

Java follows the principles of object-oriented programming, including concepts like classes,
objects, inheritance, and polymorphism. It has a rich standard library and supports multithreading,
30
networking, and security features, making it suitable for complex and secure applications. Thanks to
its platform independence, strong community support, and powerful development tools (like Eclipse
and IntelliJ IDEA), Java remains one of the most popular and reliable programming languages in the
world.

Features of Java:

• Platform Independent: Java code is compiled into byte code, which can be run on any device
that has a Java Virtual Machine (JVM), making it platform-independent.

• Object-Oriented: Java uses object-oriented programming principles like inheritance,


encapsulation, and polymorphism, making code modular, flexible, and easy to maintain.

• Secure: Java has built-in security features like byte code verification, sandboxing, and a robust
security API, which help create virus-free and tamper-free systems.

• Robust: Java emphasizes early error checking, exception handling, and memory management
(with automatic garbage collection), making it reliable and less prone to crashes.

• Multithreaded: Java supports multithreading, allowing developers to write programs that can
perform multiple tasks simultaneously, which improves performance in certain applications.

• Distributed: Java has networking features built-in, making it easy to work with distributed
computing environments and develop applications that can communicate over a network.

• Dynamic and Extensible: Java programs can dynamically load classes, libraries, and methods
at runtime, allowing more flexible and modular programming.

• Rich API and Tools: Java provides a vast standard library and a wide range of tools (e.g.,
Eclipse, IntelliJ IDEA, NetBeans) to support application development and debugging.

5.5.5 MYSQL

MySQL is an open-source relational database management system (RDBMS) that is widely


used to store, manage, and retrieve data for web and software applications. It is based on Structured
Query Language (SQL), which is the standard language for interacting with relational databases.
MySQL organizes data into tables consisting of rows and columns, making it easy to manage large
amounts of structured data.

Developed originally by MySQL AB and now owned by Oracle Corporation, MySQL is


known for its speed, reliability, and ease of use. It supports features like data integrity, indexing,
transactions, stored procedures, and user access control. MySQL is commonly used with web
technologies like PHP, Java, and Python, and it powers many popular applications and platforms such
as WordPress, Facebook, and Twitter. It is also the default database system used in the LAMP stack

31
(Linux, Apache, MySQL, PHP/Perl/Python), making it a popular choice for web developers and
enterprises alike.

Use cases of MySQL:

✓ Web Applications: Store and manage user profiles, content, and transactions (e.g., e-commerce
sites).
✓ Content Management Systems: Powers platforms like WordPress to manage posts, pages, and
user data.
✓ Customer Relationship Management (CRM): Keeps track of customer information and
interactions.
✓ Data Warehousing: Stores large volumes of data for analysis and reporting.
✓ Logging Systems: Records logs and events for monitoring and debugging applications.

5.2 Frontend Design:

5.2.1 User Registration Page

The Figure 5.2.1 represents the registration page. This page is for the new user who wants to
use the website. They have to first register with their details and on clicking the register button the
person enters into login page.

Figure 5.2.1 User Registration Page

32
5.2.2 User Registration Failed Pop-up Message

The Figure 5.2.2 represents the user registration failed pop-up message when user attempts
to register with duplicate [Link] clicking "OK", register page is displayed to retry.

Figure 5.2.2 User Registration Failed Pop-up Messag

5.2.3 User Registration Successful Pop-up Message

The Figure 5.2.3 represents the user registration successful page. This message appears after
a user has successfully entered their details into the registration form. Upon clicking "OK", the user
will be redirected to the login page.

Figure 5.2.3 User Registration Successful Pop-up Message

33
5.2.4 User Login Page

The Figure 5.2.4 represents the user login page. Here the user enters his/her login credentials.
On clicking the login button user will enter into the visitor home page.

Figure 5.2.4 User Login Page

5.2.5 User Login Successful Pop-up Message

The Figure 5.2.5 represents the user login successful pop-up message. Upon entering the
correct credentials, the user receives this "User Login successful!" message, and clicking "OK" will
redirect them to the visitor home page.

Figure 5.2.5 User Login Successful Pop-up Message

34
5.2.6 User Home Page

The Figure 5.2.6 is a home page of an inventory management website where users can view
different products, place new orders, view their past orders, and manage their profile. The site also
highlights exclusive offers like flash sales and features popular items.

Figure 5.2.6 User Home Page

5.2.7 Supplier Login Page

The Figure 5.2.7 represents the manager login page. Here the supplier enters his/her login
credentials. On clicking the login button user will enter into the supplier dashboard.

Figure 5.2.7 Supplier Login Page

35
5.2.8 Supplier Login Successful Pop-up Message

The Figure 5.2.8 represents the supplier login successful pop-up message. Upon entering the
correct credentials, the manager receives this "Supplier Login successful!" message, and clicking
"OK" will redirect them to the Supplier dashboard page.

Figure 5.2.8 Supplier Login Successful Pop-up Message

5.2.9 Supplier Dashboard Page

The Figure 5.2.9 represents the manager dashboard page. Each Supplier can manage orders
which includes updating booking status to users, view orders, add products, view products and view
feedback's from the users.

Figure 5.2.9 Supplier Dashboard Page


36
5.2.10 Admin Login Page

The Figure 5.2.10 represents the admin login page. Here the admin enters his/her login
credentials. On clicking the login button user will enter into the admin home page.

Figure 5.2.10 Admin Login Page

5.2.11 Admin Login Successful Pop-up Message

The Figure 5.2.11 represents the admin login successful pop-up message. Upon entering the
correct credentials, the admin receives this "Admin Login successful!" message, and clicking "OK"
will redirect them to the admin home page.

Figure 5.2.11 Admin Login Successful Pop-up Message

37
5.2.12 Admin Home Page

The Figure 5.2.12 represents the admin home page. Admin can log in, add/delete managers,
view reports & analytics and view feedbacks.

Figure 5.2.12 Admin Home Page

38
CHAPTER 6

TESTING
Introduction:

It is the process of testing the functionality and it is the process of executing a program with the intent
of finding an error. A good test case is one that has a high probability of finding an undiscovered
error[3]. Software testing is the process of testing the functionality and correctness of software by
running it. A successful test is one that uncovers an undiscovered error. Software testing is usually
performed for one of two reasons.

• Defect Detection.

• Reliability Estimation.
Verification: Verification is the process to make sure that product satisfies the conditions imposed at
the tester of the development phase. In other words, to make sure the product behaves the way we
want it to.

Validation: Validation is the process to make sure the product satisfies the specified requirements at
the end of the development phase. In other words, to make sure the product is built as per customer
requirements.

6.1 Testing

User Registration Page

The Figure 6.1.1 shows attempting registration form by leaving username and other fields
empty. The expected output is to show “Please fill out this filed”.

Figure 6.1.1 All fields are empty


39
The Figure 6.1.2 shows attempting registration form by entering username and leaving other
fields empty. The expected output is to show “Please fill out this filed”.

Figure 6.1.2 Showing to enter email field

The Figure 6.1.3 shows attempting registration form by entering username, email and leaving
other fields empty. The expected output is to show “Please fill out this filed”.

Figure 6.1.3 Showing to enter phone number field

The Figure 6.1.4 shows attempting registration form by entering username, email, phone
number and leaving other fields empty. The expected output is to show “Please fill out this filed”.

40
Figure 6.1.4 Showing to enter password field

The Figure 6.1.5 shows attempting registration form by entering username, email, phone
number, password and leaving role field empty. The expected output is to show “Please select an item
in the list”.

Figure 6.1.5 Showing to select a item in role field

The Figure 6.1.6 shows attempting registration form by entering all fields. The expected
output is to show pop-up message as “Registration Successfull! You can now log in”.

41
Figure 6.1.6 Pop-up message showing Registration Successful

Table 6.1.7 Test Cases

Test No Data Input Expected Actual Output Pass/Fail


Output

1 All fields are empty Please fill out Please fill out Pass
this filed this filed

2 Entering username and Please fill out Please fill out Pass
leaving other fields empty this filed this filed

3 Entering username, email Please fill out Please fill out Pass
and leaving other fields this filed this filed
empty

4 Entering username, email , Please fill out Please fill out Pass
phone number and leaving this filed this filed
other fields empty

5 Entering username, email, Please select an Please select an Pass


phone number, password item in the list item in the list
and leaving role field
empty

6 Entering all fields Registration Registration Pass


Successful! Successful!

42
6.2 Test Strategy

Field-testing is performed manually and functional testing is written in detail.

Test Objectives:
1. All field entries must work properly.
2. Pages must be activated from the identified link.
3. The entry screen, messages and responses must not be delayed.

Features to be tested:

1. Verify that entries are in correct format


2. No duplicate entries should be allowed.
3. All links should take the user to the correct page.

6.3 Black Box Testing:

The base of the black box testing strategy lies in the selection of appropriate data as per
functionality and testing it against the functional specifications in order to check for normal and
abnormal behavior of the system[3]. This method is typically used for functional testing, including
testing interfaces, user interactions, and overall system behavior.

Now a days, it is becoming to route the testing work to a third party as the developer of the
system knows too much of the internal logic and coding of the system which makes it unfit to rest
application by the developer.

Advantages of Black Box Testing

✓ Used to verify contradictions in actual system and specifications.


✓ Test cases can be designed as soon as the functional specifications are complete.
✓ Well suited and No need of technical knowledge.
✓ Efficient for large code segments.
✓ There is no need for the tester to have detailed functional knowledge of the system.
✓ It ensures that the system works according to user requirements and real-world scenarios.

43
Disadvantages of Black Box Testing

– The test input needs to be from a large sample space.


– Chances of having unidentified paths during this testing.
– Test cases are challenging to design without having clear functional specifications.
– It is a high probability of repeating tests already performed by the programmer.
– There are chances of having unidentified paths during the testing process.
– It may miss certain defects related to code structure, algorithms, or hidden logic that require
knowledge of internal implementation.

Figure 6.3.1 The user has logged in successfully

Figure 6.3.2 On clicking ok button, redirecting to visitors home page

44
6.4 White Box Testing

White box testing requires access to the source code. Though it can be performed any time in
the life cycle after the code is developed, it is a good practice to perform white box testing during the
unit testing phase[3]. This method involves scrutinizing the internal structure and design of a system.
Testers use their knowledge of the internal workings to design test cases that verify internal logic,
data flow, and control flow paths within the code. In the context of database design, this includes
testing the flow of specific inputs through the code, the expected output, and the functionality of
conditional loops.

A crucial aspect of white box testing is its ability to identify hidden errors, dead code, and
security vulnerabilities that might be missed by black box testing. Techniques like statement
coverage, branch coverage, and path coverage are employed to ensure that all parts of the code are
exercised, leading to more robust and reliable software. This meticulous examination at the code level
is vital for building a strong foundation for the entire software system.

• Guarantee that all independent paths have been executed.

• Executed all logical decisions on their true and false sides.

• Executed all loops at their boundaries and within their operational bounds.

• Executed internal data structures to ensure their validity.

Advantages of White Box Testing

✓ Testing can commence even before the GUI is ready.


✓ Code optimization by finding hidden errors.
✓ White box test cases can be easily automated.
✓ It can provide stability and usability of the test cases.

Disadvantages of White Box Testing

– White box testing can be quite complex and expensive.


– It identifies errors in the hidden code and thus makes the debugging process swift.
– It is time-consuming, bigger programming applications take the time to test fully.
– Requires testers to have indepth knowledge of the code, which may not always be feasible.

45
Figure 6.4 The login has failed because of the invalid credentials entered

6.5 Database Testing

This test involves testing whether the values entered through the form gets stored and
saved in the database correctly or not.

The below Figure 6.5.1 shows that Order details are stored correctly in the database.

Figure 6.5.1 Details stored correctly in Orders table

46
6.6 Performance Testing

The performance of the application can be tested through this test. Since the number of codes is
less, performance is good. The Figure 6.6 shows the performance testing of the code.

Figure 6.6 Performance Testing

6.7 Test Results

Test cases are done on every page on this website. All the test cases are passed successfully.
No defects were encountered.

47
CHAPTER 7

RESULTS
The results screenshots are as follows:
User Registration Page:
The below Figure 7.1 represents the user registration form which is to be filled by the users
to get login credentials if they don’t have any.

Figure 7.1 Screenshot of User Registration Page

User Login Page:


The below Figure 7.2 represents the user login page.

Figure 7.2 Screenshot of User Login Page


48
User Home Page:

The Figure 7.3 represents the visitor home page. Users can view and update their personal
profiles, different products, place new orders, view their past orders. The site also highlights exclusive
offers like flash sales and features popular items.

Figure 7.3 Screenshot of User Home Page

Wishlist Page:

The Figure 7.4 represents the wishlist page where users can add the products to wishlist and
view product details by clicking the view product.

Figure 7.4 Screenshot of Wishlist Page

49
Cart Page:
The Figure 7.5 represents the Cart page where user can view the products added to the cart
and they can proceed to checkout.

Figure 7.5 Screenshot of Cart Page

Profile Page:
The Figure 7.6 represents the Profile page where the users can view their details and edit their
profile. Users can update this information by clicking the "Edit Profile" button.

Figure 7.6 Screenshot of Profile

50
Payment Page:

The Figure 7.7 represents the payment page, displaying a QR code for UPI payment along with
booking details. The user is prompted to scan the QR code using a UPI app or click "Pay Now" to
complete the transaction.

Figure 7.7 Screenshot of Payment Page

Payment Success Page:


The Figure 7.8 represents the payment success page. It informs the users that their payment
has been processed and their pass confirmed. Users can then choose to view orders.

Figure 7.8 Screenshot of Payment Success Page

51
Orders Page:
The Figure 7.9 represents orders page, displaying all bookings of a user. Each booking shows
details like order id, placed on and status of the order.

Figure 7.9 Screenshot of Orders Page

Feedback Page:

The Figure 7.10 represents feedback page. It allows users to submit their feedback about the
[Link] can then detail their feedback in a description box .

Figure 7.10 Screenshot of Feedback Page

52
Update Profile Page:
The Figure 7.11 represents update profile page, allowing users to modify their personal
information such as Name, Email, Mobile, Address. Users can either update their details using the
"Update" button or discard changes by clicking "Cancel" to retain their existing profile information.

Figure 7.11 Screenshot of Update Profile Page

Supplier Login Page:


The Figure 7.12 represents the manager login page, which allows suppliers to authenticate
themself to gain access to the application’s personalized features.

Figure 7.12 Screenshot of Supplier Login Page

53
Supplier Dashboard Page:

The Figure 7.13 represents the manager dashboard page. Each Supplier can manage orders
which includes updating booking status to users, view orders, add products, view products and
viewfeedback's from the users.

Figure 7.13 Supplier Dashboard Page

Manage Products Page:


The Figure 7.14 represents manage products page where the supplier adds the products based
on the category, and upload product image, mention cost of the product, and quantity of the product.

Figure 7.14 Screenshot of Manage Products Page

54
Manage Orders Page:
The Figure 7.15 represents the manage orders page where the supplier can update the order
status of the user orders.

Figure 7.15 Screenshot of Manage orders Page

Supplier Feedbacks Page:


The Figure 7.16 represents manager feedbacks page where suppliers can view feedback of the
product given by user.

Figure 7.16 Screenshot of Supplier Feedbacks Page

55
View Products Page:
The Figure 7.17 represents the view products page where supplier can view already existing
products and can increase the quantity of the products by clicking edit.

Figure 7.17 Screenshot of View Products Page

Admin Login Page:


The Figure 7.18 represents the admin login page, allowing admins to log in with their
credentials. Upon successful login, the system will redirect them to the admin homepage, granting
access to various features.

Figure 7.18 Screenshot of Admin Login Page

56
Admin Home Page:
The Figure 7.19 represents the admin home page. Admin can log in, delete supplier view
reports & analytics and review feedbacks.

Figure 7.19 Screenshot of Admin Home Page

Manage Suppliers Page:


The Figure 7.20 manage suppliers page, which provides admins with comprehensive control
over suppliers accounts..
Furthermore, administrators can perform delete operations to remove suppliers from the
system as needed.

Figure 7.20 Screenshot of Manage Suppliers Page

57
Sales And Report Page:

The Figure 7.21 represents report & analytics page. It provides admins with a comprehensive
overview of system performance through various reports. It shows the orders of different suppliers.
The page also includes a detailed supplier report with total number of orders and pending
status and also number of orders of a supplier and it also shows total revenue generated in the system
overall.

Figure 7.21 Screenshot of Sales and Report Page

Admin Feedbacks Page:

The Figure 7.22 represents the admin feedbacks page where admin can review all the user
submitted feedbacks. The page helps admins quickly view user experience about the products.

Figure 7.22 Screenshot of Admin Feedbacks Page

58
CHAPTER 8

CONCLUSION

The Inventory Management System is a useful tool that helps businesses keep track of their products,
suppliers, and orders in an easy and organized way. It makes sure that stock levels are correct, supplier
information is up to date, and orders are managed well. This helps reduce mistakes that can happen
when managing inventory by hand.

The system has important features like supplier login, sorting products into categories, tracking
orders, and showing sales reports. These features give users full control over their inventory. It also
shows real-time information about stock and order status, helping businesses avoid running out of
products or having too many. It can send alerts when stock is low, so businesses know when to order
more.

The reports and charts help managers understand sales patterns, how suppliers are performing, and
how orders are being handled. This information helps them make better decisions to improve buying
and managing products.

The system keeps business data safe with secure login and limited access. It is easy to use, so people
do not need much training to start using it. The design is flexible, so new features like barcode
scanning or mobile access can be added later.

In short, the Inventory Management System makes work easier and faster, reduces mistakes, and
helps businesses work better with their suppliers. It saves time and money, keeps customers happy by
making sure products are always available, and helps businesses stay competitive.

59
CHAPTER 9
FUTURE SCOPE AND ENCHANCEMENTS

The Inventory Management System we have developed is helpful and efficient, but there are many
ways it can be improved and expanded in the future. Here are some ideas for future scope and
enhancements:

• Barcode and QR Code Integration: Adding barcode or QR code scanning will speed up
the process of adding, updating, and checking products in the inventory. It will reduce errors
and save time during stock management.
• Cloud-Based System: Moving the system to the cloud will allow multiple users to access it
from different locations. It will also improve data security and make backups easier.
• AI and Machine Learning: Using AI can help predict future inventory needs based on past
data and market trends, which will reduce waste and improve stock availability.
• Third-party API Integration: Enable integration with third-party services such as Google
Calendar, Maps, or CRM systems for better scheduling and analytics.
• Chatbot for Support: Integrate an AI-based chatbot to assist visitors with bookings, location
details, and general FAQs. This will offer instant support, reduce manual workload, and
enhance user experience with real-time assistance.

60
BIBILOGRAPHY

JOURNALS:
[1] Deshmukh, S., & Tak, S. (2022). Inventory Management System. International Journal of
Scientific Research & Engineering Trends, 8(1), 150–153. Retrieved from
[Link]
[2] Munyaka, J. B., & Yadavalli, V. S. S. (2022). Inventory Management Concepts and
Implementations: A Systematic Review. South African Journal of Industrial Engineering,
33(3), 15–28. [Link]

TEXT BOOKS:

[1] Robbins, J. N. (2018). Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript,
and Web Graphics. 5th Edition. O'Reilly Media. ISBN-10: 1491960205, ISBN13: 978-
1491960202.
[2] Jacobson, I., Rumbaugh, J., & Booch, G. (2005). Unified Modelling Language. 2nd Edition.
Addison-Wesley. ISBN-10: 032171895X, ISBN-13: 978-0321267979.
[3] Teorey, T. J., Lightstone, S. S., & Nadeau, T. (2010). Database Modelling and Design. 5th
Edition. Morgan Kaufmann. ISBN-10: 0123820200, ISBN-13: 978-0123820204.
[4] Larman, C. (2004). Applying UML and Patterns: An Introduction to Object-Oriented Analysis
and Design. 3rd Edition. Prentice Hall. ISBN-10: 0131489062, ISBN-13: 9780131489066.
[5] Database Design using Entity-Relationship Diagrams, by Richard Earp; Second Edition,
April 16, 2007; Auerbach Publications; ISBN-10: 1439861765.
[6] Pusuluri, N. (2008). Software Testing Concepts and Tools. 2nd Edition. Dreamtech Press.
ISBN-10: 8177227122, ISBN-13: 978-8177227123.
[7] Schildt, H. (2014). Java: The Complete Reference. 9th Edition. McGraw-Hill Education.
ISBN-10: 0071808558, ISBN-13: 978-0071808552.
[8] Schwartz, B., Zaitsev, P., Tkachenko, V., Botros, S., & Tinley, J. (2021). High Performance
MySQL. 4th Edition. O'Reilly Media. ISBN-10: 1492080516, ISBN-13: 9781492080510.

61

You might also like