0% found this document useful (0 votes)
26 views131 pages

MCA Mini Project Record (2) - 1

Uploaded by

Bilton Varghese
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)
26 views131 pages

MCA Mini Project Record (2) - 1

Uploaded by

Bilton Varghese
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/ 131

A

P
r
o
j
e
c
t

R
e
p
o
r
t

O
n

“HONEY PORTAL”

Submitted to the
Department of Computer Science

In partial fulfillment of the

MASTER OF COMPUTER APPLICATIONS


Under the guidance
of Mr. Jismon
Augustine

Project Done by

SHEENA CHACKO (Reg


No:233242210981)

DEPARTMENT OF COMPUTER SCIENCE

DECEMBER 2023
BONAFIDE CERTIFICATE

Certified that the Project Work entitled

“HONEY PORTAL”

is a bonafide work done by


Sheena Chacko (Reg No:
233242210981)

In partial fulfillment of the requirement for the Award of

MASTER OF COMPUTER APPLICATIONS

Degree From

Mahatma Gandhi University,


Kottayam (2022-2024)

Mr. Gibin George Mr. Jismon Augustine


Head of Department Project Guide

Submitted for the Viva-Voice Examination held


on……………………………

External Examiner1 External


Examiner2
(Name & Signature) (Name &
Signature)
CERTIFICATE

This is to certify that the project entitled “HONEY PORTAL” has been
successfully carried out by SHEENA CHACKO (Reg.No:
233242210981)
in partial fulfillment of the Course Master of Computer Applications.

Date: Head Of the Department

Mr. Jibin George


CERTIFICATE

This is to certify that the project entitled “HONEY PORTAL” has been
successfully carried out by SHEENA CHACKO (Reg. No: 233242210981)
in
partial fulfillment of the course Master of Computer Applications under my
guidance.

Date: Mr. Jismon Augustine

Project Guide
DECLARATION

I, SHEENA CHACKO, hereby declare that the project work entitled “HONEY
PORTAL” is an authenticated work carried out by us at SANTHISOFT
TECHNOLOGIES, under the guidance of MS. ROSLIN THOMAS for the partial
fulfillment of the course MASTER OF COMPUTER APPLICATIONS. This work
has not been submitted for similar purpose anywhere else except to SANTHIGIRI
COLLEGE OF COMPUTER SCIENCES.

We understand that detection of any such copying is liable to be punished in any way the
college deems fit.

SHEENA CHACKO (Reg. No: 233242210981) Signature


Date:
Place:
ACKNOWLEDGEMENT

A project is not complete if one fails to acknowledge all who have been instrumental
in the successful completion of the project. If words were to be the symbol of
undiluted feelings and token of gratitude, then let the words play the heralding role of
expressing my gratitude.

First of all, we thank the “God Almighty” for his immense grace and blessings in my
life and at each stage of this project.

We express our sincere and profound gratitude to Fr. Prof. Dr. Baby Joseph CMI,
Principal, Santhigiri College of Computer Sciences, Vazhithala for providing all the
facilities during the period of the project.

We extend our gratitude to Mr. Gibin George, Head of the Department of Computer
Science, Department of Computer Science, who is a constant source of inspiration
and whose advice helped us to complete this project successfully.

We express our deep sense of gratitude to our project guide, Mr. Gibin George,
Assistant Professor, Department of Computer Science, for his profound guidance for
the successful completion of this project.

With great enthusiasm we express our gratitude to all the faculty members of
Department of Computer Science for their timely help and support.

Finally, we express our deep appreciation to all my friends and family members for
the moral support and encouragement they have given to complete this project
successfully.
TABLE OF CONTENTS

1. Introduction….................................................................................................................1

1.1 Introduction...............................................................................................................1

1.2 Problem Statement....................................................................................................2

1.3 Scope and Relevance of the Project..........................................................................2

1.4 Objectives.................................................................................................................3

2. System Analysis..............................................................................................................4

2.1 Introduction...............................................................................................................4

2.2 Existing System........................................................................................................4

2.2.1 Limitation of Existing System.........................................................................5

2.3 Proposed System.......................................................................................................5

2.3.1 Advantages of the Proposed System............................................................6

2.4 Feasibility Study…...................................................................................................7

2.4.1 Technical Feasibility….................................................................................7

2.4.2 Operational Feasibility…..............................................................................8

2.4.3 Economic Feasibility…................................................................................9

2.5 Software Engineering Paradigm Applied…..........................................................10

3. System Design…..........................................................................................................12

3.1 Introduction….........................................................................................................12

3.2 Database Design…..................................................................................................13

3.2.1 Entity Relationship Model.............................................................................22

3.3 Process Design Dataflow Diagrams........................................................................25

3.4 Object Oriented Design – UML Diagrams.............................................................27

3.4.1 Activity Diagram........................................................................................27


3.4.2 Sequence Diagram......................................................................................29

3.4.3 Use Case Diagram.......................................................................................31

3.5 Input Design…........................................................................................................32

3.6 Output Design….....................................................................................................33

4. System Environment.....................................................................................................35

4.1 Introduction….........................................................................................................35
4.2 Software Requirement Specification…...................................................................35

4.3 Hardware Requirement Specification….................................................................37

4.4 Tools, Platforms......................................................................................................38

4.4.1 Front End Tool............................................................................................38

4.4.1.1 Laravel…..............................................................................................38

4.4.2 Back End Tool............................................................................................39

4.4.2.1 Node.js..................................................................................................39

4.4.2.2 MySQL.................................................................................................40

4.4.3 Visual Studio Code.....................................................................................42

4.4.4 Operating System........................................................................................44

5. System Implementation.................................................................................................44

5.1 Introduction….........................................................................................................44

5.2 Coding….................................................................................................................47

5.2.1 Sample Codes.............................................................................................49

5.2.2 Code Validation & Optimization…............................................................49

6. System Testing…..........................................................................................................54

6.1 Introduction….........................................................................................................54

6.2 Unit Testing…........................................................................................................54

6.3 Integration Testing…..............................................................................................55


6.4 System Testing…....................................................................................................56

6.4.1 Test Plan &Test Case.....................................................................................56

7. System Maintenance.....................................................................................................58

7.1 Introduction.............................................................................................................58

7.2 Maintenance............................................................................................................58

8. Future Enhancement and Further Development...........................................................60

8.1 Introduction….........................................................................................................60

8.2 Merits of the System...............................................................................................60

8.3 Limitation of the System.........................................................................................61

8.4 Future Enhancement of the System........................................................................61

9. Conclusion....................................................................................................................62

10. Bibliography…..............................................................................................................63
11. Appendix…...................................................................................................................64

11.1 Coding…...............................................................................................................64

11.2 Screenshots............................................................................................................80

12. Glossary…....................................................................................................................94
ABSTRACT
The project entitled “Honey Portal” aims to streamline the sale and management of honey
products by offering a centralized platform for managing customer orders, product listings, and
payments. The portal bridges the gap between honey producers and customers, providing a user-
friendly interface that ensures efficient transactions and smooth operations.

In many regions, honey producers face challenges in managing sales, stock, and customer
relationships. The Honey Portal addresses these issues by providing a platform that allows
administrators to manage products, track orders, and process payments with ease. Customers
benefit from a simple and intuitive experience for browsing products, placing orders, and making
payments.

Our portal simplifies the workflow for both admins and customers. Admins can manage products,
locations, and bookings, while customers can browse products, make bookings, and track orders
through the portal. The system's well-structured database ensures secure and efficient
management of key operations like product listings, customer information, and payments.
Online Book Store

CHAPTER 1 INTRODUCTION
1.1 INTRODUCTION

The Honey Portal is a comprehensive web-based application designed to facilitate the streamlined
management and purchasing of honey products, benefiting two main stakeholders: the Admin and
the Customer. This system provides an organized platform for administrators to manage product
listings, customer information, booking requests, and payments, while customers gain access to a
secure and user-friendly interface to browse products, place orders, and make payments.

The application’s database is structured with seven core tables, each serving a unique purpose to
support the platform's functionality. The Login table stores secure login credentials for both the
admin and customer users, ensuring access control across the system. The district table, which
includes fields for district ID and name, provides a static dataset to aid in reporting and tracking
purposes based on geographical regions. Complementing this, the Location table, which includes
location ID, name, and associated district ID (selectable via dropdown), allows customers to be
mapped to specific locations within a district, aiding in precise customer management.
Product information is stored in the Product table, which includes essential details such as product
ID, name, pricing, batch code, expiry date, and images. This allows customers to view each honey
product in detail, supporting informed purchase decisions. The Customer table holds
comprehensive customer data, such as customer ID, name, location, email, contact number, and
login details (username and password), creating a personalized experience for users. The Booking
table captures detailed information about customer orders, recording request ID, customer ID,
product ID, quantity, booking date, status, and amount due for the booking. This structure
facilitates tracking of each booking request from order placement to fulfillment. Lastly, the
Payment table records payment transactions for each booking, storing payment ID, linked request
ID, date, amount paid, and payment status, ensuring smooth tracking and confirmation of
payments within the system.
This structured setup enables the Honey Portal to function efficiently, providing a well-organized
and seamless experience for customers while granting the admin user the tools necessary for
effective management and reporting. This system is instrumental in optimizing the operational
workflow, from customer booking to product payment and delivery, enhancing customer
satisfaction and operational transparency.

Department of Computer Science 1


Online Book Store

1.2 PROBLEM STATEMENT

The honey industry faces significant challenges in managing product sales, customer interactions,
booking requests, and payment processing due to a lack of centralized digital systems. Many
honey producers and distributors, especially those working on a smaller scale, rely on manual
record-keeping methods or disconnected tools, resulting in operational inefficiencies, errors in
tracking, and difficulties in managing real-time customer transactions and product availability.
This fragmented approach not only slows down daily operations but also hinders the ability to
respond to customer inquiries promptly and accurately. As customer bases grow, the absence of
an integrated system becomes increasingly problematic, leading to missed sales opportunities,
discrepancies in order status updates, and limited visibility into payment history.

One specific challenge is the difficulty in maintaining accurate product information, including
batch codes, expiry dates, and inventory levels. Without a streamlined process, it becomes time-
consuming for administrators to monitor stock levels and ensure that products meet safety and
quality standards before reaching customers. Moreover, generating accurate reports based on
regional demand or product performance is complex without centralized data, making it difficult
for management to make informed business decisions.
On the customer side, the lack of a unified platform leads to a frustrating experience in browsing
available honey products, placing orders, and tracking payments. Customers are often unable to
view product images, track orders from placement through to delivery, or monitor payment status
seamlessly. This creates barriers to a smooth shopping experience, potentially reducing customer
satisfaction and brand loyalty.
The Honey Portal addresses these issues by providing a centralized, user-friendly platform that
consolidates product management, booking requests, and secure payment processing. This system
simplifies and enhances both customer and administrative experiences. Customers gain access to
a seamless shopping interface, where they can browse products, place orders, and track payments
without hassle. For administrators, the Honey Portal offers powerful tools to manage inventory,
monitor sales and order statuses, generate detailed reports, and facilitate smooth communication
with customers. This platform is designed to address the honey industry’s unique challenges,
creating a cohesive system that enhances operational efficiency, data accuracy, and customer
satisfaction.

Department of Computer Science 2


Online Book Store

1.3 SCOPE AND RELEVANCE OF THE PROJECT

The Scope of the Honey Portal project encompasses the development of a comprehensive web-
based platform that facilitates the management and sale of honey products. The system is
designed to meet the needs of two primary user groups: the admin, responsible for managing the
system, products, and customer interactions, and the Customer, who can browse honey products,
place orders, and make payments. Key functionalities of the Honey Portal include product catalog
management, order booking, payment processing, and report generation. This system integrates
essential tables for storing user data, product details, booking information, payment history, and
geographical identifiers (districts and locations). Through a structured database and intuitive
interface, the Honey Portal is intended to streamline processes, reduce administrative burden, and
improve customer experience.

The relevance of this project lies in its potential to transform how honey products are sold and
managed, particularly for small and mid-sized honey distributors who may lack access to efficient
digital solutions. By centralizing inventory management, order processing, and payment tracking,
the Honey Portal simplifies and automates tasks that are typically labor-intensive, reducing the
likelihood of errors and ensuring up-to-date records. For customers, the Honey Portal offers a
convenient, organized platform to explore products, make secure purchases, and stay informed on
the status of their orders. This functionality is especially valuable as the demand for honey and
honey-based products grows, driven by the popularity of natural and health-oriented products.

Furthermore, the Honey Portal’s reporting features allow for insights into product demand by
region, helping distributors and producers understand customer preferences and manage their
stock accordingly. By providing actionable data, the Honey Portal supports informed business
decisions, contributing to greater efficiency, customer satisfaction, and business growth. In
essence, this project addresses critical operational challenges, adds value to both customers and
administrators, and positions businesses in the honey industry to meet evolving market demands
through digital innovation.

Department of Computer Science 3


Online Book Store

1.4 OBJECTIVES

1. User Authentication and Role Management: -


- Secure login for admins to manage data and generate reports.
- Allow customers to create accounts, log in, view products, and place bookings.

2. Product Management: -
- Enable admins to add, edit, and delete product details (e.g., name, price, quantity, batch code,
expiry date, image).
- Display updated product details, availability, and pricing for customers.

3. Booking and Order Processing: -


- Allow customers to browse products and place bookings with selected quantity.
- Manage and track bookings, with order status updates (e.g., pending, confirmed, shipped).

4. Payment Tracking and Management: -


- Record customer payments for bookings, with accurate tracking of payment date, amount, and
status.
- Link payments to bookings for simplified tracking and reporting.

5. Report Generation: -
- Generate reports based on district and location for customer distribution analysis.
- Create sales and booking reports to assist with inventory management and demand analysis.

6. User-Friendly Interface: -
- Develop a responsive and user-friendly interface for both customer and admin portals.
- Ensure ease of navigation for customers to view products, make bookings, and process
payments.

7. Data Security and Integrity: -


- Protect sensitive data (e.g., passwords, contact information) through encryption.

Department of Computer Science 4


Online Book Store

- Implement data validation for bookings, payments, and product availability to maintain data
integrity.

Department of Computer Science 5


Online Book Store

CHAPTER 2 SYSTEM ANALYSIS

2.1 INTRODUCTION

Software Engineering is the analysis, design, construction, verification and


management of technical or social entities. To engineer software accurately, a
software engineering process must be defined. System analysis is a detailed study of
the various operations performed by the system and their relationship within and
module of the system. It is a structured method for solving the problems related to the
development of a new system. The detailed investigation of the present system is the
focal point of system analysis. This phase involves the study of the parent system and
the identification of system objectives. Information has to be collected from all
people who are affected by or who use the system. During analysis, data are collected
on the variable files, decision points and transactions handled by the present system.
The main aim of the system is to provide efficient and user-friendly automation. So,
the system analysis process should be performed with extreme precision so that an
accurate picture of the existing system, its disadvantages, and the requirements of the
new system can be obtained. System analysis involves gathering the necessary
information and using the structured tool for analysis. This includes the studying
existing system and its drawback, designing a new system, and conducting a cost-
benefit analysis. System analysis is a problem-solving activity that requires intensive
communication between the system users and system developers. The system is
studied to the minute detail and analyzed. The system is viewed as a whole and the
inputs to the system are identified. The outputs from the organization are traced
through various phases of processing of inputs.

Department of Computer Science 6


Online Book Store

2.2 EXISTING SYSTEM

In the current "Honey Portal" system, the goal is to facilitate efficient interactions between
stakeholders, primarily the admin and the customer, around honey product booking and
management. The admin can log in to oversee operations, manage products, handle customer
information, and review booking and payment statuses, while customers can browse honey
products, make bookings, and process payments.

The system's backend comprises seven key tables designed to structure data effectively. The
Login table securely handles authentication for both admins and customers using unique login
IDs and passwords. For administrative reporting and filtering purposes, the district table stores
static data, including district IDs and district names, which are foundational in organizing reports
based on geographical locations.
Further refining the geographical organization, the Location table links specific locations to
districts. It contains a location ID, location name, and district ID (as a dropdown from the district
table). This setup allows a structured approach to associating customers with specific areas,
facilitating targeted marketing and detailed regional sales analysis.

The Product table is pivotal for inventory management. It includes key attributes such as product
ID, product name, amount, quantity, batch code, expiry date, and image. These fields allow
customers to view detailed product information, enabling the admin to manage stock levels,
pricing, and product details effectively. This product catalog serves as the foundation for
customer bookings.
The Customer table holds essential customer data, including customer ID, customer name,
location, email, contact details, username, and password. This table supports user account
management, providing a seamless and secure user experience. It ensures that each customer has
an account associated with unique credentials, enhancing both security and customer data
tracking.

To manage orders, the Booking table captures booking details such as request ID, customer ID,
product ID, quantity, date, status, and amount. Each booking request is associated with specific
customers and products, allowing the system to monitor order fulfillment status. This table plays

Department of Computer Science 7


Online Book Store

a critical role in tracking requests and ensuring that customers receive their products on time, with
status updates for processing, pending, or completed bookings.

Lastly, the Payment table records transactional details for each booking request, including
payment ID, request ID, date, amount, and status. It provides an audit trail of payments, allowing
customers and admins to view completed and pending transactions. This ensures accountability
and transparency, enabling seamless tracking of financial transactions related to each booking.
The feedback table has been successfully added to the project. It includes fields to uniquely
identify each feedback entry (feedbackid), capture the date the feedback was provided (date),
reference the customer who submitted it (customerid), and store the feedback content itself
(feedback). This setup enables efficient tracking and management of customer feedback within
the system.

In summary, this system provides an integrated approach to managing honey product bookings
and payments, with comprehensive tables to store and structure essential data, enhancing both
administrative oversight and customer convenience.

Department of Computer Science 8


Online Book Store

2.3 PROPOSED SYSTEM


The proposed Honey Portal aims to overcome the limitations of the existing system by
introducing a more dynamic, scalable, and user-friendly experience for both the admin and
customer. Key improvements include enhanced access control, real-time data management,
advanced reporting, and an integrated payment solution. The proposed system leverages advanced
functionalities that can support a growing customer base and provide deeper insights for business
decisions.
Advantages of the Proposed System

Here are some of the advantages of the proposed system:

 Improved User Role Management and Security: - The system enhances access
control and ensures users only access functions relevant to their
responsibilities.
 Enhanced Data Accuracy and Real-Time Updates

 Automated Payment Status Updates: =streamline transaction tracking, improving data


accuracy and simplifying order processing.

 High speed and accuracy.

 Better Customer Engagement with Notifications and Alerts Good user interface

 Personalized Shopping Experience Listing of items

 Scalable Architecture for Growth

 Detailed Customer Profiles and CRM Features

 Enhanced System Workflow and Efficiency.

 Data Privacy and Compliance

Department of Computer Science 9


Online Book Store

2.4 FEASIBILITY STUDY


A feasibility study for the proposed "Honey Portal" system evaluates the technical, operational,
economic, and schedule aspects to determine if the system upgrade is achievable, sustainable, and
beneficial. Here is a breakdown of each feasibility aspect:

1. Technical Feasibility
The technical feasibility of the "Honey Portal" system involves assessing whether the current
technology and resources can support the proposed enhancements.
 Technology and Infrastructure: The system requires a modern tech stack, including a
relational database (e.g., MySQL, PostgreSQL) to manage structured data, along with a
web-based frontend and backend (e.g., using frameworks like Laravel, Django, or
Express.js). Additionally, an integration with payment gateways (such as Stripe or PayPal)
is necessary for seamless financial transactions. Existing cloud infrastructure (e.g., AWS,
Azure) could be leveraged to ensure scalability and data security.
 Skills and Expertise: The project requires developers with expertise in web development,
database management, and cybersecurity to implement the system efficiently. Available
IT resources and third-party support for payment integrations can ensure technical
challenges are manageable.
Recommending the Hardware Part:-

Sl no. Hardware used Specification


1. Monitor LCD !5” screen (HP)
2. Keyboard Intex Wired
3. Mouse Intex Wired
4. Hard drive 40GB (gigabyte) hard drive
5. Ram 512 MB (megabyte)
6. Processor Pentium 3,665MHZ
(megahertz)
7. Graphics: On board graphics card,8MB
(Megabyte of memory)
8. System type 1GHZ (gigahertz)32-bit(x86)

Department of Computer Science 1


0
Online Book Store

2. Economic Feasibility
Economic feasibility assesses the costs associated with developing, deploying, and maintaining
the "Honey Portal" and compares them with the anticipated benefits.
 Development Costs: The initial costs will cover design, development, and testing,
particularly for implementing the advanced reporting, location-based filtering, and
payment integrations.
 Operational Costs: Ongoing costs include hosting, maintenance, and occasional updates
for security and new feature integration.
 Benefits: Expected returns include increased efficiency, reduced manual workload,
improved customer satisfaction, and potential revenue growth due to better product and
customer insights. With improved reporting, the admin can make data-informed decisions
that optimize stock management, minimize waste, and increase sales.

3. Operational Feasibility
Operational feasibility assesses whether the proposed system aligns with the business needs and
how well it will be adopted by users.
 Admin Operations: The admin can easily manage customers, products, bookings, and
payments through an intuitive dashboard. The proposed advanced reporting features will
allow admins to generate location-based and time-based reports, providing critical insights
for decision-making.
 Customer Experience: The system offers customers an improved, seamless experience
for browsing products, booking items, and making payments. This, in turn, enhances
customer satisfaction and loyalty.
 Stakeholder Acceptance: Both admin and customer stakeholders are expected to
welcome the enhancements as they directly improve their experience and operational
efficiency. Training and user guides can facilitate smooth adoption.

4. Schedule Feasibility
Schedule feasibility evaluates if the project can be completed within a reasonable timeframe and
with available resources.
 Project Timeline: Based on the scope, the estimated timeline for design, development,
testing, and deployment is around 1 to 2 months, assuming a team of skilled developers. A
Department of Computer Science 1
1
Online Book Store

phased implementation could allow the core system (e.g., customer booking and
payments) to go live earlier, with reporting features introduced in subsequent phases.
 Resource Availability: Assuming resources such as developers, designers, and testers are
readily available, and minimal delays occur, the project can stay on schedule.
Aspect Feasibility Remarks
Technical Yes Required technology,
infrastructure, and expertise
are available.
Economic Yes Expected benefits, including
better operational efficiency
and customer satisfaction,
justify costs.
Operational Yes Enhancements align well with
business needs and user
requirements, supporting
efficient operations.
Schedule Yes A 1–2 month timeline is
realistic for development,
testing, and phased
deployment.

Final Conclusion
The proposed "Honey Portal" system is feasible from a technical, economic, operational, and
schedule perspective. Given these factors, implementing the proposed system upgrades is
recommended to enhance business efficiency, customer satisfaction, and data-driven decision-
making.

Department of Computer Science 1


2
Online Book Store

2.5 SOFTWARE ENGINEERING PARADIGM APPLIED

One of the basic notions of the software development process is SDLC models which stand
for Software Development Life Cycle models. SDLC – is a continuous process, which
starts from the moment, when it’s made a decision to launch the project, and it ends at the
moment of its full removal from the exploitation. Software development life cycle (SDLC)
is a framework that defines the steps involved in the development of software. It covers the
detailed plan for building, deploying, and maintaining the software. SDLC defines the
complete cycle of development i.e., all the tasks involved in gathering a requirement for the
maintenance of a Product. Some of the common SDLC models are Waterfall Model, V-
Shaped Model, Prototype Model, Spiral Model, Iterative Incremental Model, Big Bang
Model, and Agile Model. We used Agile Model for our Project. Agile Model is a
combination of the Iterative and incremental model. This model focuses more on flexibility
while developing a product rather than on the requirement. In the agile methodology after
every development iteration, the client is able to see the result and understand if he is
satisfied with it or he is not. Extreme programming is one of the practical uses of the agile
model. The basis of this model consists of short meetings where we can review our project.
In Agile, a product is broken into small incremental builds. It is not developed as a
complete product in one go. At the end of each sprint, the project guide verifies the product
and after his approval, it is finalized. Client feedback is taken for improvement and his
suggestions and enhancement are worked on in the next sprint. Testing is done in each
sprint to minimize the risk of any failures.

Phases of Agile Model


are the phases in the Agile model are as follows:
1. Requirements gathering
2. Design the requirements
3. Construction/ iteration
4. Testing/ Quality assurance
5. Deployment
6. Feedback

Department of Computer Science 13


Honey Portal

1. Requirements gathering: In this phase, you must define the requirements. You
should explain business opportunities and plan the time and effort needed to build
the project. Based on this information, you can evaluate technical and
economic feasibility.

2. Design the requirements: When you have identified the project, work with
stakeholders to define requirements. You can use the user flow diagram or the
high- level UML diagram to show the work of new features and show how it will
apply to your existing system.

3. Construction/ iteration: When the team defines the requirements, the work
begins. Designers and developers start working on their project, which aims to
deploy a working product. The product will undergo various stages of
improvement, so it includes simple, minimal functionality.

4. Quality assurance: It is the process or actions organizations take to make sure a


project's outcomes meet the agreed-upon requirements. Project managers define
these actions using a quality management plan. Organizations often use quality
assurance to track compliance and maintain consistent project outcomes over time.

5. Deployment: In this phase, the team issues a product for the user's work environment.

6. Feedback: After releasing the product, the last step is feedback. In this, the team
receives feedback about the product and works through the feedback.

Advantages of Agile Model:


 It allows more flexibility to adapt to the changes.
 The new feature can be added easily.
 Customer satisfaction as the feedback and suggestions are taken at every stage.
 Risks are minimized thanks to the flexible change process.

Disadvantages:
 Lack of documentation.
 If a customer is not clear about how exactly they want the product to be, then
the project would fail.
 With all the corrections and changes there is possibility that the project
will exceed expected time.

Department of Computer Science 14


Honey Portal

Conclusion
The Incremental Model with Agile methodology is ideal for the "Honey Portal" project due to its
flexibility, customer-focused approach, and risk management capabilities. This approach will
enable the development team to deliver a robust, adaptable, and user-friendly system that can
grow with the business and continually enhance the honey product booking experience.

Department of Computer Science 15


Honey Portal

CHAPTER 3 SYSTEM DESIGN

3.1 INTRODUCTION

A system architecture or systems architecture is the conceptual model that defines


the structure, behavior, and more views of a system. An architecture description is a
formal description and representation of a system, organized in a way that supports
reasoning about the structures of the system, System architecture can comprise
system components, the externally visible properties of those components, the
relationships (e.g. the behavior) between them. It can provide a plan from which
products can be procured, and systems developed, that will work together to
implement the overall system. There have been efforts to formalize languages to
describe system architecture; collectively these are called architecture description
languages (ADLs). The system architecture can best be thought of as a set of
representations of an existing (or to be created) system. It is used to convey the
informational content of the elements comprising a system, the relationships among
those elements, and the rules governing those relationships. The architectural
components and set of relationships between these components that architecture
describes may consist of hardware, software, documentation, facilities, manual
procedures, or roles played by organizations or people. The system architecture is
primarily concerned with the internal interfaces among the system's components or
subsystems, and the interface between the system and its external environment,
especially the user. The structural design reduces complexity, facilitates change, and
result in easier implementation by encouraging parallel development of different
parts of the system. The procedural design transforms structural elements of
program architecture into a procedural description of software components. The
architectural design considers architecture as the most important functional
requirement. The system is based on the three-tier architecture. The first level is the
user interface (presentation logic), which displays controls, receives, and validates
user input. The second level is the business layer (business logic) where the
application-specific logic takes place. The third level is the data layer where the
application information is stored in files or databases.
It contains logic about retrieving and updating data. The important feature about the

Department of Computer Science 16


Honey Portal

three-tier design is that information only travels from one level to an adjacent level.

3.2 DATABASE DESIGN


A database is a collection of interrelated data stored with minimum redundancy
to serve many users quickly and efficiently. The general objective is to make
information access easy,quick, inexpensive and flexible for the users. The
general theme behind a database is to integrate all information. Database design
is recognized as a standard of management information system and is available
virtually for every computer system.
In database design several specific objectives are considered:

• Ease of learning and use

• Controlled redundancy

• Data independence

• More information at low cost

• Accuracy and integrity

A database is an integrated collection of data and provides centralized access to


the data. Usually, the centralized data managing the software is called RDBMS.
The main significant difference between RDBMS and other DBMS is the
separation of data as seen by the program and data has in direct access to stores
device. This is the difference between logical and physical data.

Table Structure

Table is a collection of complete details about a particular subject. These data


are saved in rows and Columns. Hence, rows are called RECORDS and
Columns of each row are called FIELDS. Data is stored in tables, which is
available in the backend.

The items and data, which are entered in the input, form id directly stored in this
table using linking of database. We can link more than one table to input forms.
We can collect the details from the different tables to display on the output.

There are 7 tables in our project. They are,

Department of Computer Science 17


Honey Portal

• logins

• districts

• locations

• products

• customers

• bookings

• payments

• feedbacks

Table No: 1

Table Name: logins

Description: Stores user credentials and roles for secure login.

Primary Key: loginid

Foreign key: Nill

Table 3.1 logins

Column Data Type Constraints Description

PRIMARY KEY, Unique ID for each


loginid INT
AUTO_INCREMENT login

username VARCHAR (50) NOT NULL, UNIQUE Username for login

password VARCHAR (255) NOT NULL Encrypted password

Table No: 2

Department of Computer Science 18


Honey Portal

Table Name: districts

Description: Stores information about districts for location-based reporting.

Primary Key: districtid

Foreign key: Nill

Table 3.2 districts

Data
Column Constraints Description
Type
PRIMARY KEY,
districtid INT AUTO_INCREMEN Unique ID for each district
T
district NOT NULL,
VARCHAR(100) Name of the district
name UNIQUE

Table No: 3

Table Name: locations

Description: Stores details about each honey product.

Primary Key: locationid

Foreign key: districtid

Table 3.4 locations


Column Data Constraints Description
Type
locationid INT PRIMARY KEY, Unique
AUTO_INCREMENT Identifier

Department of Computer Science 19


Honey Portal

location VARCHAR (100) NOT NULL Name of the


name location
districtid INT FOREIGN KEY REFERENCES Links to the
district(districtid) ON DELETE District
CASCADE table

Table No: 4

Table Name: products

Description: Stores honey products with details like price, stock quantity, batch information,
and expiry.

Primary Key: productid

Foreign key: Nill

Table 3.5 products

Column Data Type Constraints Description


productid INT PRIMARY KEY, Unique identifier
AUTO_INCREMENT
productname VARCHAR (100) NOT NULL
Name of the honey
product
amount DOUBLE (10, 2) DECIMAL (10, 2) DECIMAL (10, 2)
quantity VARCHAR(50) NOT NULL Quantity in stock
batchcode DOUBLE (8,2) NOT NULL Unique identifier for
batch
expirydate DATE Expiration date of
product
image VARCHAR (255) Path or URL to
product image

Department of Computer Science 20


Honey Portal

Table No: 5

Table Name: customers

Description: Contains customer profile information.

Primary Key: customerid

Foreign key: locationid

Table 3.6 customers

Column Data Type


Constraints Description
customerid INT PRIMARY KEY Unique identifier for
each customer.
Customer name VARCHAR (100) NOT NULL Name of the customer
locationid INT FOREIGN KEY References
location.locationid for
customer’s location.
email VARCHAR (100) NOT NULL, Email address of the
UNIQUE customer, unique to
avoid duplicates.
contact VARCHAR (15) NOT NULL Customer’s contact
number.
username VARCHAR (50) NOT NULL, Username for
UNIQUE customer login,
unique across users.
password VARCHAR (255) NOT NULL Password for customer
login.

Department of Computer Science 21


Honey Portal

Table No: 6

Table Name: bookings

Description: This table records customer bookings, tracking requests for product purchases.

Primary Key: requestid

Foreign key: productid, customerid

Table 3.6 bookings

Column Data Type Constraints Description


requestid INT PRIMARY KEY Unique identifier for
each booking.
customerid INT FOREIGN KEY References customer.
Customerid, linking
the booking to a
customer
productid INT FOREIGN KEY References product.
Productid, linking the
booking to a product.
quantity VARCHAR(255) NOT NULL Quantity of the
product requested.
date DATE NOT NULL Date the booking
request was made.
status VARCHAR (255) DEFAULT 'Pending' Status of the booking
(e.g., Pending,
Approved,
Cancelled).
amount DOUBLE (10, 2) NOT NULL Total amount for the
booking (quantity x
product amount).

Department of Computer Science 22


Honey Portal

Table No: 7

Table Name: payments

Description: This table manages payments made by customers for their bookings.

Primary Key: paymentid

Foreign key: requestid

Table 3.7 payments


Column Datatype Constraints DESCRIPTION

paymentid INT Primary Key Unique identifier for each


payment.
requestid INT Foreign Key References booking.
Request id, linking the
payment to a booking.
date DATE Not Null This field is used to store the
current date of the payment a
book.
amount DOUBLE (10, 2) Not Null It is used to store the total
amount for users
status VARCHAR (255) DEFAULT 'Paid' It is used to store
payment status

Table No: 8

Table Name: feedbacks

Description: This table Provide clear, concise insights on strengths and areas for
improvement to guide future performance.

Department of Computer Science 23


Honey Portal

Primary Key: feedbackid

Foreign key: customerid


Table 3.8 feedbacks

Column Datatype Constraints DESCRIPTION

feedbackid INT Primary Key Unique identifier for


each feedback entry.

feedback VARCHAR(50) Not Null The feedback


content provided by
the customer.

date DATE Not Null The date the


feedback was
submitted.

customerid INT Foreign Key ID of the customer


providing feedback.

Department of Computer Science 24


Honey Portal

3.2.1 ENTITY-RELATIONSHIP MODEL

ER model stands for an Entity-Relationship model. It is a high-level data model.


This model is used to define the data elements and relationship for a specified
system. It develops a conceptual design for the database. It also develops a very
simple and easy to design view of data. In ER modelling, the database structure
is portrayed as a diagram called an entity relationship diagram. An entity–
relationship model (or ER model) describes interrelated things of interest in a
specific domain of knowledge. A basic ER model is composed of entity types
and specifies relationships that can exist between entities. In software
engineering, an ER model is commonly formed to represent things a business
needs to remember to perform business processes. Consequently, the ER model
becomes an abstract data model, that defines a data or information structure
which can be implemented in a database, typically a relational database.
Admin

Department of Computer Science 25


Honey Portal

Fig 3.1 ER diagram for Admin

Customer

Department of Computer Science 26


Honey Portal

Fig 3.2 ER diagram for Customer

3.3 PROCESS DESIGN –DATAFLOW DIAGRAMS


Data Flow Diagram is a network that describes the flow of data and processes that
change, or transforms, data throughout the system. This network is constructed by

Department of Computer Science 27


Honey Portal
using a set of symbols that do not imply a physical implementation. It is a graphical
tool for structured analysis of the system requirements. DFD models a system by
using external entities from which data flows to a process, which transforms the data
and creates, output-data-flows which go to other processes or external entities or
files. Data in files may also flow to processes as inputs.

There are various symbols used in a DFD. Bubbles represent the processes. Named
arrows indicate the data flow. External entities are represented by rectangles.
Entities supplying data are known as sources and those that consume data are called
sinks. Data are stored in a datastore by a process in the system. Each component in
a DFD is labeled with a descriptive name. Process names are further identified with
a number. The Data Flow Diagram shows the logical flow of a system and defines
the boundaries of the system. For a candidate system, it describes the input (source),
outputs (destination), database (files), and procedures (data flow), all in a format
that meets the user’s requirements. The main merit of DFD is that it can provide an
overview of system requirements, what data a system would process, what
transformations of data are done, what files are used, and where the results flow.
This network is constructed by using a set of symbols that do not imply a physical
implementation. It is a graphical tool for structured analysis of the system
requirements. DFD models a system by using external entities from which data
flows to a process, which transforms the data and creates, output- data-flows which
go to other processes or external entities or files. External entities are represented by
rectangles. Entities supplying data are known as sources and those that consume
data are called sinks. Data are stored in a data store by a process in the system. It is
a graphical tool for structured analysis of the system requirements. DFD models a
system by using external entities from which data flows to a process, which
transforms the data and creates, output-data-flows which go to other processes or
external entities or files. Data in files may also flow to processes as inputs.

Department of Computer Science 28


Honey Portal

Rules for constructing a Data Flow Diagram

1. Arrows should not cross each other

2. Squares, circles, and files must bear names.

3. Decomposed data flow squares and circles can have same time

4. Choose meaningful names for data flow

5. Draw all data flows around the outside of the diagram.

Each component in a DFD is labelled with a descriptive name. Process names


are further identified with a number. Context level DFD is drawn first. Then the
process is decomposed into several elementary levels and is represented in the
order of importance. A DFD describes what data flow (logical) rather than how
they are processed, so it does not depend on hardware, software, data structure,
or file organization. A DFD methodology is quite effective; especially when the
required design.

Department of Computer Science 29


Honey Portal

3.4 OBJECT ORIENTED DESIGN – UML DIAGRAMS

3.4.1 Activity Diagram

Activity Diagrams describe how activities are coordinated to provide a service


that can be at different levels of abstraction. Typically, an event needs to be
achieved by some operations, particularly where the operation is intended to
achieve a number of different things that require coordination, or how the events
in a single-use case relate to one another, in particular, use cases where
activities may overlap and require coordination. It is also suitable for modeling a
collection of use cases coordinates to represent business workflows.
Activity diagram of Admin: -

Fig 3.4 Activity Diagram for Admin

Department of Computer Science 30


Honey Portal

Activity diagram of Customer: -

Fig 3.5 Activity Diagram for Customer

3.4.2 Sequence Diagram

Sequence diagrams, commonly used by developers, model the interactions


between objects in a single-use case. They illustrate how the different parts of a
system interact with each other to carry out a function, and the order in which
the interactions occur when a particular use case is executed. In simpler words, a
sequence diagram shows different parts of a system working in a ‘sequence’ to
get something done. The following nodes and edges are typically drawn in a
UML sequence diagram: lifeline, execution specification, message, combined
fragment, interaction use, state invariant, continuation, and destruction

Department of Computer Science 31


Honey Portal

occurrence. Major elements of the sequence diagram are shown below:

Department of Computer Science 32


Honey Portal

Sequence diagram of the admin:

Fig 3.7 Sequence Diagram for Admin

Sequence diagram of the Customer:

Fig 3.8 Sequence Diagram for Customer

Department of Computer Science 33


Honey Portal

3.4.3 Use Case Diagram


The following shows the overall use case diagram of Online Book Store system:

Fig 3.10 Use case Diagram for Online Book Store System

Department of Computer Science 34


Honey Portal

3.5 INPUT DESIGN

The user interface design is very important for any application. The interface
design describes how the software communicates within itself, to the system that
is interpreted with it and with humans who use it. The input design is the process
of converting the user-oriented inputs into the computer-based format. The data
is fed into the system using simple inactive forms. The forms have been supplied
with messages so that the user can enter data without facing any difficulty. The
data are validated wherever requires in the project. This ensures that only the
correct data have been incorporated into the system. The goal of designing input
data is to make automation as easy and free from errors as possible. For
providing a good input design for the application easy data input and selection
features are adopted. The input design requirements such as user-friendliness,
consistent format, and interactive dialogue for giving the right messages and
help for the user at right are also
considered for development for this project. Input Design is a part of the overall
design. The input methods can be broadly classified into batch and online.
Internal controls must be established for monitoring the number of inputs and
for ensuring that the data are valid. The basic steps involved in input design are:
 Review input requirements.

 Decide how the input data flow will be implemented.

 Decide on the source document.

 Prototype on line input screens.

 Design the input screens.

The quality of the system input determines the quality of the system output.
Input specifications describe the way data enter the system for processing. Input
design features can ensure the reliability of the system and produce results from

Department of Computer Science 35


Honey Portal

accurate data. The input design also determines whether the user can interact
efficiently

with the system. In this system several forms are used as input screens for
collecting data from the users. Forms contain textbox, dropdown, button etc. For
entering values text box is used. For

single selection dropdown, dropdown is used. For multiple selections, multiple


dropdowns are used. Validation checking is done for all mandatory fields.
Already Exist Validation is also provided in some forms to avoid repeated
entries. If an attempt to reenter same values, an error message will be displayed.

Department of Computer Science 36


Honey Portal

3.6 OUTPUT DESIGN

Quality output is one, which meets the requirements of the end-user and presents
the information clearly. In any system results of processing are communicated to
the user and to the other system through outputs. In the output design, it is
determined how the information is to be displayed for immediate need. It is the
most important and direct source of information is to the user. Efficient and
intelligent output design improves the system’s relationships with the user and
helps in decision-making. The objective of the output design is to convey the
information of all the past activities, status and to emphasize important events.
The output generally refers to the results and information that is generated
from the system. Outputs from computers are
required primarily to communicate the results of processing to the users. Output
also provides a means of storage by copying the results for later reference in
consultation. There is a chance that some of the end-users will not actually
operate the input data or information through workstations, but will see the
output from the system. Two phases of the output design are:

1. Output Definition

2. Output Specification

Output Definition considers the type of output contents, its frequency, and its
volume, the appropriate output media is determined for output. Once the media
is chosen, the detailed specification of output documents is carried out. The
nature of output required from the proposed system is determined during the
logical design stage. It takes the outline of the output from the logical design and
produces output as specified during the logical design phase. In a project, when
designing the output, the system analyst must accomplish the following:

 Determine the information to present.

 Decide whether to display, print, speak the information and select the

Department of Computer Science 37


Honey Portal
output medium.

 Arrange the information in acceptable format.

 Decide how to distribute the output to the intended receipt.

Thus, by following the above specifications, a high-quality output can be


generated. In this system, an output or response is given to the user after
submission of each form. Output screens are well designed. In most of the
form’s tables are used to display the output information to the user. Reports
values are displayed in a table format.

Department of Computer Science 38


Honey Portal

CHAPTER 4 SYSTEM ENVIRONMENT

4.1 INTRODUCTION

A software development environment (SDE) is the collection of hardware and


software tools a system developer uses to build software systems. When you are
developing software, you probably don’t want your users to see every messy
part of your application creation process. In order to make sure you control what
people see and when they have access to it, development teams use
environments to create “stages” of the app which they consider good for
releasing. Each environment has its own unique purpose. There are different
standards of environments that are used in the industry, although almost every
process starts at the ‘development’ stage and ends with ‘production’. Different
organizations all have their own purposes and policies which dictate when and
how each environment is used.

4.2 SOFTWARE REQUIREMENT SPECIFICATION

In Honey Portal System, there are 2 main Stakeholders. They are:

1. Admin

2. Customer

Features provided to Admin:

1. System should have the facility to log in using username and password.
2. System should have the facility to add districts and locations.
3.The proposed system Admin should have the provision for add/view/update/delete
products.
4. System should have the facility to add and manage products, including images and
expiry dates.
5. System should have the facility to track customer bookings and payments.

Department of Computer Science 39


Honey Portal
6. System should generate location-based and product-based reports.
7. The system should allow admin to view and update order statuses.
8. The system should have the facility for logout.

Department of Computer Science 40


Honey Portal

Features provided to Customer:


1. System should allow customers to log in with their credentials.
2. System should have the facility to browse available honey products.
3. Customers can place bookings by selecting products and quantities.
4. Customers can view order history, booking status and cancel the order.
5. Customers can make secure payments and view payment details.
6. The system should have the facility for logout.

4.3 HARDWARE REQUIREMENT SPECIFICATION

The selection of hardware configuring is a very task related to the software


development, particularly inefficient RAM may affect adversely on the speed
and corresponding on the efficiency of the entire system. The processor should
be powerful to handle all the operations. The hard disk should have sufficient to
solve the database and the application. Hardware used for development:

CPU : Intel Core i7 Processor

Memory : 8 GB

Cache : 6 MB

Hard Disk : 1 TB

Monitor : 15.6” Monitor

Keyboard : Standard PS/2 Keyboard

Mouse : Optical Mouse

Minimum Hardware Required for Implementation: CPU Pentium IV Processor

Memory : 256 MB Above

Cache : 512 KB Above

Hard Disk : 20 GB Above

Department of Computer Science 41


Honey Portal

Monitor : Any

Keyboard : Any

Mouse : Any

4.4 TOOLS, PLATFORMS


This project is built upon the latest technology software.

Front end :Laravel


Back end : PHP
Database : My SQL
Web Server : WAMP Server Development Tools: Visual Studio Code Operating System: Windows 10

4.4.1 Front End Tool

4.4.1.1 Laravel

Laravel is a platform and framework for building single-page client applications


using HTML and TypeScript. Laravel is written in TypeScript. The architecture
of an Laravel application relies on certain fundamental concepts. The basic
building blocks of the Laravel framework are Laravel components that are
organized into Ng Modules. Ng Modules collect related code into functional
sets; an Laravel application is defined by a set of Ng Modules. An application
always has at least a root module that enables bootstrapping, and typically has
many more feature modules.

Modules

In Laravel, each module represents a distinct component or feature dedicated to


a specific part of the application workflow, functionality, or domain. Laravel’s
modules are organized to make it easy to manage and associate related code,
such as controllers, models, and services, within logical, functional units. Every
Laravel application has a root module, typically called the App Module, which
initializes the application and configures the primary structure and services

Department of Computer Science 42


Honey Portal
needed for the application to function. From this root, various functional
modules branch out, each specializing in a set of related tasks.The Controllers
Module handles the business logic and responds to the requests by orchestrating
the necessary models and views. To structure database interactions, the Models
Module organizes data retrieval, manipulation, and relationships between
different parts of the database. Laravel also has a Middleware Module, which
serves as an intermediary, filtering requests to ensure they meet certain criteria
(like authentication) before reaching the core logic. For organizing database
schemas, Laravel uses Migration and Seeding Modules to create and populate
tables efficiently. Caching is managed by the Caching Module, which leverages
caching services to reduce server load and response times. Lastly, Laravel’s
Testing Module is crucial for quality assurance, providing tools to run unit tests
and integration tests that verify application integrity. Each module in Laravel
works independently but cohesively, forming a highly functional ecosystem for
application development.

Department of Computer Science 43


Honey Portal

Components

Every Laravel application has at least one component, the root component that
connects a component hierarchy with the page document object model (DOM).
Each component defines a class that contains application data and logic and is
associated with an HTML template that defines a view to be displayed in a
target environment.

4.4.2 Back End Tool

4.4.2.1 PHP

In Laravel, PHP serves as the foundation for handling backend processes, managing data, and
creating dynamic, server-side functionalities. Laravel is a PHP framework designed to make
coding in PHP simpler and more structured.

Laravel’s routing system, powered by PHP, allows developers to define specific URL patterns
and link them to particular controllers or views, making request handling seamless and
organized. Controllers, which are written in PHP, manage the business logic, processing user
requests, fetching data, and rendering responses to ensure the application behaves as expected.

Laravel also provides the Blade templating engine, a PHP-based tool that simplifies creating
dynamic, data-driven HTML views. Blade’s syntax is more intuitive and clean compared to
raw PHP, allowing developers to inject PHP code, loop through data, and control conditional
rendering in HTML with ease. Laravel’s database handling is facilitated by Eloquent ORM, a
PHP-based system that lets developers interact with databases using models that represent
tables, enabling simple methods for database actions like creating, reading, updating, and
deleting records.

Middleware in Laravel, powered by PHP, intercepts requests and performs actions like user
authentication, ensuring only authorized users access specific parts of the application.
Laravel's authentication system, also written in PHP, allows for flexible customization of
login, registration, and session management, which can be extended to APIs as well. PHP’s
influence is further seen in Laravel’s powerful request validation, ensuring data accuracy and
integrity before processing. Finally, Laravel’s task scheduling and queuing, built with PHP,
allow for the execution of background jobs, like sending emails or generating reports, making

Department of Computer Science 44


Honey Portal
the framework robust for high-performing web applications.

In essence, Laravel uses PHP to structure complex application requirements in a simpler and
more scalable way, improving both productivity and code maintainability for developers.

PHP Features

PHP is a versatile, server-side scripting language with features that make it ideal for web
development and dynamic applications. Here are some of its core features:

1. Open Source and Free


- PHP is free to download and use, making it accessible to developers of all levels. It’s open
source, meaning developers can modify and extend it as needed.

2. Easy to Learn and Use


- PHP has a straightforward syntax similar to C and Java, making it easier for beginners and
efficient for experienced developers to pick up and implement.

3. Cross-Platform Compatibility
- PHP is compatible with multiple operating systems, including Windows, Linux, and macOS,
and can work with various web servers like Apache, NGINX, and IIS.

4. Flexible and Scalable


- PHP supports both procedural and object-oriented programming (OOP), providing flexibility
for projects of different complexities. Its modular nature also makes it scalable for larger projects.

5. Database Integration
- PHP seamlessly integrates with many databases, such as MySQL, PostgreSQL, SQLite, and
others, enabling developers to build data-driven applications easily.

6. Fast Performance
- PHP is efficient at handling server-side processes and can deliver pages and handle requests
quickly, particularly when combined with the latest PHP versions and optimization techniques.

Department of Computer Science 45


Honey Portal
7. Support for Frameworks
- Popular frameworks like Laravel, Symfony, and CodeIgniter are built on PHP, offering ready-
made tools, libraries, and architecture patterns that boost productivity and maintainability.

8. Extensive Library Support


- PHP offers a vast library ecosystem for common tasks such as image processing, file
manipulation, data encryption, and email handling, reducing development time.

9. Built-In Security Features


- PHP includes features to enhance security, such as hashing, input filtering, and encryption,
though it’s essential to implement secure coding practices to prevent vulnerabilities.

10. Community Support


- PHP has an extensive community, meaning a wealth of documentation, tutorials, forums, and
resources are available, making problem-solving easier and quicker.

These features contribute to PHP’s status as a popular, dependable choice for web development,
especially for building interactive, dynamic websites and applications.

4.4.2.2 MySQL

MySQL is the world's most popular open-source database software, with over
100 million copies of its software downloaded or distributed throughout its
history. With its superior speed, reliability, and ease of use, MySQL has become
the preferred choice for Web, Web 2.0, SaaS, ISV, Telecom companies and
forward-thinking corporate IT Managers because it eliminates the major
problems associated with downtime, maintenance and administration for
modern, online applications. Many of the world's largest and fastest-growing
organizations use MySQL to save time and money powering their high-volume
Web sites, critical business systems, and packaged software including industry
leaders such as Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube, Wikipedia,
and Booking.com. The flagship MySQL offering is MySQL Enterprise, a
comprehensive set of production-tested software, proactive monitoring tools,

Department of Computer Science 46


Honey Portal
and premium support services available in an affordable annual subscription.
MySQL is a key part of LAMP (Linux, Apache, MySQL, PHP / Perl /
Python),the fast-growing open-source enterprise software stack. More and more
companies are using

LAMP as an alternative to expensive proprietary software stacks because of its


lower cost and freedom from platform lock-in. MySQL was originally founded
and developed in Sweden by two Swedes and a Finn David Axmark, Allan
Larsson and
Depending on your programming environment, you might enter SQL directly
(for example, to generate reports), embed SQL statements into code written in
another language, or use a language-specific API that hides the SQL syntax.
SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been
evolving since 1986 and several versions exist. In this manual, SQL-92 refers to
the standard released in 1992, SQL:1999 refers to the standard released in 1999,
and SQL:2003‖ refers to the current version of the standard. We use the phrase
the SQL standard‖ to mean the current version of the SQL Standard at any time.
MySQL software is Open Source. Open-Source means that it is possible for
anyone to use and modify the software. Anybody can download the MySQL
software from the Internet and use it without paying anything. If you wish, you
may study the source code and change it to suit your needs. The MySQL
software uses the GPL (GNU General Public License), to define what you

may and may not do with the software in different situations. If you feel
uncomfortable with the GPL need to embed MySQL code into a commercial
application, you can buy a commercially licensed version from us. The MySQL
Database Server is very fast, reliable, scalable, and easy to use. If that is what
you are looking for, you should give it a try. MySQL Server can run comfortably
on a desktop or laptop, alongside your other applications, web servers, and so
on, requiring little or no attention. If you dedicate an entire machine to MySQL,
you can adjust the settings to take advantage of all the memory, CPU power, and
I/O capacity available. MySQL can also scale up to clusters of machines,
networked together. MySQL Server was originally developed to handle large
databases much faster than existing solutions and has been successfully used
inhighly demanding production environments for several years. Although under

Department of Computer Science 47


Honey Portal
constant development, MySQL Server today offers a rich and useful set of
functions. Its connectivity, speed, and security make MySQL Server highly
suited for accessing databases on the Internet. MySQL Server works in
client/server or embedded systems. The MySQL Database Software is a
client/server system that consists of a multithreaded SQL server that supports
different backends, several different client programs and libraries, administrative
tools, and a wide range of application programming interfaces (APIs). We also
provide MySQL Server as an embedded multi-threaded library that you can link
into your application to get a smaller, faster, easier-to-manage standalone
product. A large amount of contributed MySQL software is available. MySQL
Server has a practical set of features developed in close cooperation with our
users. It is very likely that your favorite application or language supports the
MySQL Database Server.

Department of Computer Science 48


Honey Portal

4.4.3 Visual Studio Code

Visual Studio Code, also commonly referred to as VS Code, is a source-code


editor made by Microsoft with the Electron Framework, for Windows, Linux
and macOS. Features include support for debugging, syntax highlighting,
intelligent code completion, snippets, code refactoring, and embedded Git. Users
can change the theme, keyboard shortcuts, preferences, and install extensions
that add additional functionality. In the Stack Overflow 2021 Developer Survey,
Visual Studio Code was ranked the most popular developer environment tool
among 82,000 respondents, with 70% reporting that they use it. Visual

Studio Code is a source-code editor that can be used with a variety of programming
languages, including C, C#, C++, Fortran, Go, Java, JavaScript, Node.js, Python,
Rust. It is based on the Electron framework, which is used to develop Node.js
web applications that run on the Blink layout engine. Visual Studio Code
employs the same editor component (codenamed "Monaco") used in Azure
DevOps (formerly called Visual Studio Online and Visual Studio Team
Services). Out of the box, Visual Studio Code includes basic support for most
common programming languages. This basic support includes syntax
highlighting, bracket matching, code folding, and configurable snippets. Visual
Studio Code also ships with IntelliSense for JavaScript, TypeScript, JSON, CSS,
and HTML, as well as debugging support for Node.js. Support for additional
languages can be provided by freely available extensions on the VS Code
Marketplace. An orange version of the Visual Studio Code logo for the insider’s
version of Visual Studio Code Visual Studio Code Insiders Logo Instead of a
project system, it allows users to open one or more directories, which can then
be saved in workspaces for future reuse. This allows it to operate as a language-
agnostic code editor for any language. It supports many programming languages
and a set of features that differs per language. Unwanted files and folders can be
excluded from the project tree via the settings. Many Visual Studio Code
features are not exposed through menus or the user interface but can be accessed
via the command palette. Visual Studio Code can be extended via extensions,
available through a central repository. This includes additions to the editor and

Department of Computer Science 49


Honey Portal
language support. A notable feature is the ability to create extensions that add
support for new languages, themes, debuggers, time travel

debuggers, perform static code analysis, and add code linters using the Language
Server Protocol. Source control is a built-in feature of Visual Studio Code. It has
a dedicated tab inside of the menu bar where users can access version control
settings and view changes made to the current project. To use the feature, Visual
Studio Code must be linked to any supported version control system (Git,
Apache Subversion, Perforce, etc.). This allows users to create repositories as
well as to make push and pull requests directly from the Visual Studio Code
program. Visual Studio Code includes multiple extensions for FTP, allowing the
software to be used as a free alternative for web development. Code can be
synced between the editor and the server, without downloading any extra
software. Visual Studio Code allows users to set the code page in which the
active document is saved, the newline character, and the programming
language of the active document. This allows it to be used on any platform, in
any locale, and for any given programming language. Visual Studio Code
collects usage data and sends it to Microsoft, although this can be disabled. Due
to the open-source nature of the application, the telemetry code is accessible to
the public, who can see exactly what is collected.

Department of Computer Science 50


Honey Portal

4.4.4 Operating System

Windows 10 also introduced the Microsoft Edge web browser, a virtual desktop
system, a window and desktop management Windows 10 is a series of personal
computer operating systems produced by Microsoft as part of its Windows NT
family of operating systems. It is the successor to Windows 8.1 and was released
to manufacturing on July 15, 2015, and broadly released for retail sale on July
29, 2015. Windows 10 receives new builds on an ongoing basis, which are
available at no additional cost to users, in addition to additional test builds of
Windows 10 which are available to Windows Insiders. Devices in enterprise
environments can receive these updates at a slower pace, or use long-term
support milestones that only receive critical updates, such as security patches,
over their ten-year lifespan of extended support. One of Windows 10's most
notable features is support for universal apps, an expansion of the Metro style
apps first introduced in Windows 8. Universal apps can be designed to run
across multiple Microsoft product families with nearly identical code—
including PCs, tablets, smartphones, embedded systems, Xbox One, Surface
Hub and Mixed Reality. The Windows user interface was revised to handle
transitions between a mouse- oriented interface and a touchscreen-
31Department of Computer Science optimized interface based on available input
devices particularly on 2-in-1 PCs, both interfaces include an updated Start
menu which incorporates elements of Windows 7's traditional Start menu with
the tiles of a feature called Task View, support for fingerprint and face
recognition login, new security features for enterprise environments, and
DirectX 12.Windows 10 received mostly positive reviews upon its original
release in July 2015. Critics praised Microsoft's decision to provide a desktop-
oriented interface in line with previous versions of Windows, contrasting the
tablet-oriented approach of 8, although Windows 10's touch- oriented user
interface mode was criticized for containing regressions upon the touch- oriented
interface of Windows 8. Critics also praised the improvements to Windows 10's
bundled software over Windows 8.1, Xbox Live integration, as well as the
functionality and capabilities

Department of Computer Science 51


Honey Portal

of the Cortana personal assistant and the replacement of Internet Explorer with
Edge. However, media outlets have been critical of changes to operating system
behaviors, including mandatory update installation, privacy concerns over data
collection performed by the OS for Microsoft and its partners and the adware-
like tactics used to promote the operating system on its release. Although
Microsoft's goal to have Windows 10 installed on over a billion devices within
three years of its release had failed, it still had an estimated usage share of 60%
of all the Windows versions on traditional PCs, and thus 47% of traditional PCs
were running Windows 10 by September 2019. Across all platforms (PC,
mobile, tablet and console), 35%of devices run some kind of Windows,
Windows 10 or older.

Department of Computer Science 52


Honey Portal

CHAPTER 5 SYSTEM IMPLEMENTATION

5.1 INTRODUCTION

The “Online Book Store System” is tested as it starts to move into the
implementation phase. Ideally, the system should be completed and fully tested
implementation gets underway but unless a package is being installed this
seldom happens. Normally what happens is that parts of the system which are
required for file set-up are completed first and this process gets underway.
Conversion programs may also have to be available which allows data from
another system to be used in setting up the files. Once this data is set up it must
keep up to date and thus the first use is made of the new system. This may be
followed by a period of parallel running and then a decision is made to drop the
old system. Implementation involved placing the completed and tested system of
hardware and software into the actual work environment of the users. When
systems personnel check out and put new equipment into use, train user
personnel, install the new application, and construct any files of data needed to
use it, we say it is implemented. There are both technical-and people- oriented
activities during this stage. Examples of technical activities include converting
datafiles, replacing old programs with new ones, and scheduling computer
operations. Examples of people-oriented activities include orientation, training,
and support. Implementation includes all those activities that take place to
convert from the old system to the new one. The new system may be totally
new, replacing an external system manual or automated system or it may be a
modification to an external system. The process of putting the developed system
in actual use is called system implementation. This includes all those activities
that take place to convert the old system to a new one. The most crucial stage is
achieving a new successful system and giving confidence in the new system that
it will work efficiently and effectively. The system is implemented only after
thorough checking is done and if it is found working according to the
specifications.

Department of Computer Science 53


Honey Portal

5.2 CODING

5.2.1Sample Codes

Here is the sample code of Online Book Store:

<br>
<br>
<br>
<br>
<br>
<div class="container login-container">
<div class="row" style="padding-left: 238px">
<div class="col-md-6">
<h3 style="text-align: center;">Book Register</h3>
<form [formGroup]='BookRegisterForm' enctype="multipart/form-
data"> Book Name
<div class="form-group">
<input type="text" formControlName="bookname" class="form-control"
placeholder="Enter the Book Name" />
</div>
<div
*ngIf="BookRegisterForm.controls['bookname'].invali
d && (BookRegisterForm.controls['bookname'].dirty ||
BookRegisterForm.controls['bookname'].touched) ||
validationstatus">
<div
*ngIf="BookRegisterForm.controls['bookname'].errors['required']"
style="color: red;">Enter Book
Name </div>
<div *ngIf="BookRegisterForm.controls['bookname'].errors['pattern']"
style="color: red;">Characters
only Allowded </div><br>

Department of Computer Science 54


Honey Portal
</
div>
Publ
ishe
r
<div class="form-group">
<input type="text" formControlName="publisher" class="form-control"
placeholder="Enter the Publisher Name" />
</
div><
br>
Autho
r
<div class="form-group">
<input type="text" formControlName="author" class="form-control"
placeholder="Enter the Author Name" />
</
div><
br>
Editio
n
<div class="form-group">
<input type="text" formControlName="edition" class="form-control"
placeholder="Enter the Edition" />
</div><br>

<label for="Location">Category</label>
<select class="form-control" formControlName="category">

Department of Computer Science 55


Honey Portal

Select Category <option value="">----Select----</option>


<option *ngFor="let data of categorydetails" selected
value="{{data.category_id}}">
{{data.category_name}}</option>
</select>
<br>

Price
<div class="form-group">
<input type="text" formControlName="price" class="form-control"
placeholder="Enter the price" />
</
div><
br>
Stock
<div class="form-group">
<input type="text" formControlName="stock" class="form-control"
placeholder="Enter the stock" />
</div><br>
<div class="field">
<label class="label_field">Image</label>
<input type="file" formControlName="bookimage"
(change)="selectFile($event)"
placeholder="Book Image" />
</div>

<div class="form-group">
<br>
<button type="submit" (click)="OnSubmit()" class="btn btn-danger"
rounded="true">Save
Data</button>
</div>

Department of Computer Science 56


Honey Portal
</form>
</div>
</div>
</div>
<router-outlet></router-outlet>

Here is the screenshot of above display page:

Department of Computer Science 57


Honey Portal

Fig 5.1 Form for Book Registration

5.2.2 Code Validation & Optimization

Software/Code validation is often considered to be overwhelming for some


organizations. With all the requirements and guidance specified in the standards
and regulations, it appears to be a monumental task. However, it is not as
complex as some may think. This tangled web can be simplified so that it is
more easily understood and not just meet regulatory requirements but serve as a
useful business tool as well. While very few software systems are developed in-
house anymore, many of the systems used are configurable to meet your
business needs. The regulations state, that these configured systems must be
validated for their intended use. Depending on the risk and complexity of the
software, different levels of validation rigor should be performed.

Optimization is a program transformation technique, which tries to improve the


code by making it consume fewer resources (i.e. CPU, Memory) and deliver
high speed. In optimization, high-level general programming constructs are
replaced by very efficient low- level programming codes. A code optimizing
process must follow the three rules given below:

Department of Computer Science 58


Honey Portal
• The output code must not, in any way, change the meaning of the program.

• Optimization should increase the speed of the program and if possible, the

Department of Computer Science 59


Honey Portal

programshould demand a smaller number of resources.

• Optimization should itself be fast and should not delay the overall
compiling process.

Admin Login HTML:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>CodePen - A Pen by Mohithpoojary</title>

<link rel='stylesheet' href='https://use.fontawesome.com/releases/v5.2.0/css/all.css'>

<link rel='stylesheet'
href='https://use.fontawesome.com/releases/v5.2.0/css/fontawesome.c
ss'>

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

</head>

<body>

<!-- partial:index.partial.html -->

<div class="container">

<div class="screen">

<div class="screen content">

<form [formGroup]="LoginFormGroup" class="login">

<div class="login field">

<i class="login icon fas fa-user"></i>

<input type="text" formControlName="username" class="login


input" placeholder="User name / Email">
Department of Computer Science 60
Honey Portal
<div

*ngIf="LoginFormGroup.controls['username'].invalid &&
(LoginFormGroup.controls['username'].dirty ||
LoginFormGroup.controls['username'].touched) || validationstatus">

<div *ngIf="LoginFormGroup.controls['username'].errors['required']" style="color:


red;">

Please Enter Your Username</div>

</div>

</div>

<div class="login field">

<i class="login icon fas fa-lock"></i>

Department of Computer Science 61


Honey Portal

<input type="password" formControlName="password" class="login input"


placeholder="Password">

<div

*ngIf="LoginFormGroup.controls['password'].invali
d && (LoginFormGroup.controls['password'].dirty
||LoginFormGroup.controls['password'].touched) || validationstatus">

<div *ngIf="LoginFormGroup.controls['password'].errors['required']" style="color:


red;">

Please Enter Your Password</div>

</div>

</div>

<button type="submit" (click)="Onsubmit()" class="button login submit">

<span class="button text">Log In Now</span>

<i class="button icon fas fa-chevron-right"></i>

</button>

</form>

</div>

<div class="screen background">

<span class="screen background shape screen background shape4"></span>

<span class="screen background shape screen background shape3"></span>

<span class="screen background shape screen background shape2"></span>

<span class="screen background shape screen background shape1"></span>

</div>

</div>

</div>

Department of Computer Science 62


Honey Portal
<!-- partial -->

</body>

</html>

Admin Login TS:


import { Component,OnInit } from '@laravel/core';
import { FormBuilder, FormGroup,Validators } from '@laravel/forms';
import { Router } from '@laravel/router';
import { DbserviceService } from 'src/app/dbservice.service';

@Component({
selector: 'app-
login',

Department of Computer Science 63


Honey Portal

templateUrl:
'./login.component.html',
styleUrls:
['./login.component.scss']
})
export class LoginComponent implements OnInit
{ public LoginArray:any[]=[];
validationstatus = null;

constructor(private fb: FormBuilder,private


router:Router,private dbservice:DbserviceService) { }
LoginFormGroup=this.fb.group({
username: ['', [Validators.required]],
password: ['', [Validators.required]],
})
Onsubmit(){
// console.log(this.LoginFormGroup.value)
this.dbservice.login(this.LoginFormGroup.value).then((data:any)=>{ t
his.LoginArray=data;
//
console.log(d
ata)
if(data==""){
alert ('invalid username and password')
this.router.navigate(['/Guestmaster/Logi
n']) return
}
else {
//
console.log(this.LoginArray)
var role =
this.LoginArray[0].role;

Department of Computer Science 64


Honey Portal
// console.log(role)
localStorage.setItem("loginid",this.LoginArray[0].loginid);
localStorage.setItem("username",this.LoginArray[0].userna
me) var status = this.LoginArray[0].status;
//
console.log(stat
us) if(role ==
"Admin")
{
this.router.navigate(['/adminmaster/adminhome'])
}
else
{
this.router.navigate(['/customermaster/customerhome'])

}
}
})
}
//
alert('success'
) ngOnInit():
void {
}
}

Department of Computer Science 65


Honey Portal

CHAPTER 6 SYSTEM TESTING

6.1 INTRODUCTION

The objective of system testing is to ensure that all individual programs are
working as expected, that the programs link together to meet the requirements
specified and to ensure that the computer system and the associated clerical and
other procedures work together. The initial phase of system testing is the
responsibility of the analyst who determines what conditions are to be tested,
generates test data, produced a schedule of expected results, runs the tests, and
compares the computer-produced results with the expected results. The analyst
may also be involved in procedures testing. When the analyst is satisfied that the
system is working properly, he hands it over to the users for testing. The
importance of system testing by the user must be stressed. Ultimately it is the
user must verify the system and give the go-ahead. During testing, the system is
used experimentally to ensure that the software doesnot fail, i.e., that it will run
according to its specifications and in the way, users expect it to.Special test data
is input for processing (test plan) and the results are examined to locate
unexpected results. A limited number of users may also be allowed to use the
system so analysts can see whetherthey try to use it in unexpected ways. It is
preferable to find these surprises before the organization implements the system
and depends on it. In manyorganizations, testing is performed by persons other
than those who write the original programs.
6.2 UNIT TESTING

In computer programming, unit testing is a method by which individual units of


source code,sets of one or more computer program modules together with
associated control data, usageprocedures, and operating procedures are tested to
determine if they are fit for use. In this testing, we test each module individually
and integrated the overall system. Unit testing focuses verification efforts on the
smaller unit of software design in the module. This is alsoknown as module
testing. The modules of the system are tested separately. The testing is carried

Department of Computer Science 66


Honey Portal
out during the programming stage itself. In this testing step each module is
found to work satisfactorily as regards the expected output from the module.
There are somevalidation checks for verifying the data input given by the user
which both the formal and validity of the entered. It is very easy to find errors
debug the system. We have continued Unit Testing from the starting of

Department of Computer Science 67


Honey Portal

the coding phase itself. Whenever we complete done small submodule, some
amount of testing was done based on the requirements to see if the functionality
is aligned to the gathered requirements.
6.3 INTEGRATION TESTING

Integration testing (sometimes called integration and testing, abbreviated I&T) is


the phase in software testing in which individual software modules are
combined and tested as a group. Software components may be integrated in an
iterative way or together ("big bang"). Normally the former is considered a
better practice since it allows interface issues to be located more quickly and
fixed. Data can be lost across an interface; one module can have an adverse
effort on the other sub-functions when combined by, may not produce the
desired major functions. Integrated testing is the systematic testing for
constructing the uncover errors within the interface. This testing was done with
sample data. The developed system has run success full for this sample data.
The need for an integrated test is to find the overall system performance.
Integration testing is a logical extension of unit testing. In its simplest form, two
units that have already been tested are combined into a component and the
interface between them is tested. A component, in this sense, refers to an
integrated aggregate of more than one unit. Integration testing identifies
problems that occur when unitsare combined. By using a test plan that requires
you to test each unit and ensure the viability of each before combining units, you
know that any errors discovered when combining unitsare likely related to the
interface between units. This method reduces the number of possibilities to a
far simpler level of analysis. Progressively larger groups of tested
softwarecomponents corresponding to elements of the architectural design are
integrated and tested until the software works as a system.

6.4 SYSTEM TESTING

6.4.1 Test Plan & Test Cases

A test case is a set of conditions or variables under which a tester will determine

Department of Computer Science 68


Honey Portal
whether a system under test satisfies requirements or works correctly. The
process of developing test cases can also help find problems in the requirements
or design on an application.

A test plan is a detailed document that describes the test strategy, objectives,

Department of Computer Science 69


Honey Portal

schedule, estimation, deliverables, and resources required to perform testing for


a software product. TestPlan helps us determine the effort needed to validate the
quality of the application undertest. The test plan serves as a blueprint to
conduct software testing activities as a defined process, which is minutely
monitored and controlled by the test manager.

Table 6.1:test plan

Test Level Project External


Team Party
Unit Testing T
Integration Testing T
Validation Testing T T
System Testing T T

Table 6.2: Admin Login Test Case Report

Function Description % Test case % Test


executed passed
Login Open the 100% 97%
application
Login Open the 100% 97%
application
Login Enter valid 100% 97%
username and
password
Login Enter valid 100% 97%
username and
password

Table 6.3:test case

Department of Computer Science 70


Honey Portal

TEST CASE FOR BLOOD BANK LOGIN SCREEN


Pass/
Test Steps Expected Result Actual Result
Fail
For entering
Login screen Contains
Run the
username &
two fields for entering
application and Pass
password
user name & password
navigate to login
together with a
and login button should
screen.
login button is
be present.
available.
Enter a valid
username & Shop owner must Login successful
Pass
password and successfully login to and navigate to
press the the admin admin home
login dashboard. page
button.
Enter a valid
An asterisk(*) is
username & A message should be
displayed if no Pass
invalid displayedthat invalid
password is
passwordand password.
given.
press
the login button.
Enter a valid
A message has
user name and An asterisk(*) should
been stating that Pass
leave password be
invalid
field and press displayed that please username &
login button. fill out this field. password.
Press login
A message should be A message has
button
displayed that been stating that Pass
without
required field required field
entering
validation status. validation status.
username &

Department of Computer Science 71


Honey Portal
password.
Enter invalid A message has
A message should be
data in user been stating that
displayed that Pass
name & regular
regular expression
password field expression
validationstatus.
and press login Validation status.
button.

Department of Computer Science 72


Honey Portal

CHAPTER 7 SYSTEM MAINTENANCE


7.1 INTRODUCTION

Software Maintenance is the process of modifying a software product after it has


been delivered to the customer. The main purpose of software maintenance is to
modify and update software applications after delivery to correct faults and to
improve performance.

Need for Maintenance Software Maintenance must be performed in order to:

 Correct faults.

 Improve the design.

 Implement enhancements.

 Interface with other systems.

 Accommodate programs so that different hardware, software,


system features, andtelecommunications facilities can be used.

 Migrate legacy software.

 Retire software.

7.2 MAINTENANCE

The definition of software maintenance can be given by describing four activities


that are undertaken after the program is released for use. The first maintenance
activity occurs since it is unreasonable to assume that software testing will
uncover all errors in a large software system. The process of including the
diagnosis and correction of one or more errors is called corrective maintenance.
The second activity that contributes to a definition of maintenance occurs since
rapid change is encountered in every aspect of computing. Therefore, adaptive
maintenance modifies to properly interface with a changing environment.

Department of Computer Science 73


Honey Portal
The third activity involves recommendations for new capabilities, modification
to the exiting function, and general enhancement when the software is used. To
satisfy requests, prefecturemaintenance is performed. The fourth maintenance
activity occurs when software is changed to improve future maintainability or
reliability. This is called preventive maintenance.

Department of Computer Science 74


Online Book Store

CHAPTER 8 FUTURE ENHANCEMENT AND FUTHERDEVELOPMENT


8.1 INTRODUCTION

Any system which has been in use for a number of years gradually decays and
becomes less effective because of changes in the environment to which it has to
be adapted. For the time being it is possible to overcome problems by
amendments and minor modifications to acknowledge the need for fundamental
changes.

8.2 MERITS OF THE SYSTEM

The merits of Online Book Store System are as follows:

 It is a very flexible and user-friendly system.

 It reduces the effort of maintaining records in this system.

 It reduces time and human effort which exists in the system.

 The backup facility is available in this proposed system. Hence it


prevents data loss.

 It is easy to maintain records.

 It provides 24/7 service availability.

 Customers can easily search the books from different categories


based on their choices and interests moreefficiently.

8.3 LIMITATION OF THE SYSTEM

Department of Computer Science 75


Online Book Store

Our Proposed system is for Book Store, it is not possible implement in multiple
book store if it is meant for multiple book store this website can make huge
profit and beneficial for customers of the system and increases the availability of
book more efficiently.

Department of Computer Science 76


Online Book Store

8.4 FUTURE ENHANCEMENT OF THE SYSTEM

The future enhancement overcomes the limitations of the proposed system. The
“Online Book Store System” can be enhanced in a way such that in future by
giving customization of finding the book by chatbot. In future the proposed
system can implement for multiple book store. Chatbot system enable to interact
with the Book Store via online. So, they couldget 24/7 interactive support and
clarify their enquiries and feedback. Customer request is not added in the system
in future we can send Customer Request.

Department of Computer Science 77


Online Book Store

CHAPTER 9 CONCLUSION

The project “Online Book Store System” is a project which aims in developing a
computerized system to maintain all the actions of a book store. All the
requirements’ specifications were followed as for as possible and few additional
features were added that can make the application more user friendly and less
complicated. The project was successfully completed within the time span
allotted. All the modules are tested separately and put together to form the main
system. Finally, the system is tested with real data and it worked successfully.
Thus, the system has fulfilled the entire objective defined.

Department of Computer Science 78


Online Book Store

CHAPTER 10 BIBLIOGRAPHY

[1] Waman S Jawadekar – ―Software Engineering


principles & Practice‖- 2ndEditionTata,Mc- GrawHilll
Publishing Co. Ltd.
[2] https://www.wisdomjobs.com/e-university/uml-tutorial-175/
domain- model-13285.html
[3] https://en.wikipedia.org/wiki/C_Sharp_(programming_language)

[4] Grady Booch, James Rumbaugh, Ivar Jacobson, ―The


Unified ModelingLanguageUserGuide‖, 2nd Edition, Pearson
Education, 2007.
[5] https://online.visual-paradigm.com/app/diagrams/

Department of Computer Science 79


Online Book Store

CHAPTER 11 APPENDIX (CODING & SCREENSHOTS)


11.1 CODING

Book-registration.component.html

<br>

<br>

<br>

<br>

<br>

<div class="container login-container">

<div class="row" style="padding-left: 238px">

<div class="col-md-6">

<h3 style="text-align: center;">Book Register</h3>

<form
[formGroup]='BookRegisterForm'
enctype="multipart/form-data">

Book Name

<div class="form-group">

<input type="text"
formControlName="bookname" class="form-control"

placeholder="Enter the Book Name" />

</div>

<div

*ngIf="BookRegisterForm.controls['bookname'].inval
id && (BookRegisterForm.controls['bookname'].dirty ||
BookRegisterForm.controls['bookname'].touched) ||
validationstatus">

Department of Computer Science 80


Online Book Store
<div
*ngIf="BookRegisterForm.controls['bookname'].errors['required']"
style="color: red;">Enter Book

Name </div>

<div
*ngIf="BookRegisterForm.controls['bookname'].errors['pattern']"
style="color: red;">Characters

only Allowded </div><br>

</
div>
Publ
ishe
r
<div class="form-group">

<input type="text"
formControlName="publisher" class="form-control"

placeholder="Enter the Publisher Name" />

Department of Computer Science 81


Online Book Store

</
div><
br>
Autho
r
<div class="form-group">

<input type="text"
formControlName="author" class="form-control"

placeholder="Enter the Author Name" />

</
div><
br>
Editio
n
<div class="form-group">

<input type="text"
formControlName="edition" class="form-control"
placeholder="Enter the Edition" />

</div><br>

<label for="Location">Category</label>

<select class="form-
control"
formControlName="category">

Select Category <option value="">----Select----</option>

<option *ngFor="let data of categorydetails" selected


value="{{data.category_id}}">

{{data.category_name}}</option>

</select>

Department of Computer Science 82


Online Book Store
<br>

Price

<div class="form-group">

<input type="text"
formControlName="price" class="form-control"
placeholder="Enter the price" />

</
div><
br>
Stock
<div class="form-group">

<input type="text"
formControlName="stock" class="form-control"
placeholder="Enter the stock" />

</div><br>

<div class="field">

<label class="label_field">Image</label>

<input type="file" formControlName="bookimage"


(change)="selectFile($event)"

placeholder="Book Image" />

</div>

Department of Computer Science 83


Online Book Store

<div class="form-group">

<br>

<button type="submit" (click)="OnSubmit()"


class="btn btn-danger" rounded="true">Save

Data</button>

</div>

</form>

</div>

</div>

</div>

<router-outlet></router-outlet>

Bookregistration.component.ts

import { Component, OnInit } from '@laravel/core';

import { FormBuilder, FormGroup, Validators } from


'@laravel/forms';

import { Router } from


'@laravel/router'; import
{ Observable } from 'rxjs';
import { DbserviceService } from 'src/app/dbservice.service';

@Component({ sel
ector: 'app-
bookreg',
templateUrl:
'./bookreg.component.html',
styleUrls:
['./bookreg.component.scss']
})

Department of Computer Science 84


Online Book Store
export class BookregComponent implements
OnInit{ validationstatus = null;
public
categorydetails:any[]=[];
selectedFiles?: FileList;
currentFile?: any;

message = '';
fileInfos?: Observable<any>;
BookRegisterForm!: FormGroup;
constructor(private fb:FormBuilder,private
dbservice:DbserviceService, private router:Router){}

ngOnInit(): void {
this.BookRegisterForm=this.fb.gro
up({

Department of Computer Science 85


Online Book Store

bookname:['',
[Validators.required]], publisher:
[''],
author:[''],

edition:[''],

category:[''],

price:[''],

stock:['']

})

this.dbservice.ViewCategoryDetails().then((data: any)
=> { this.categorydetails =data;
console.log(this.categorydetails)
});

selectFile(event: any): void {


this.selectedFiles=
event.target.files;
}

OnSubmit(){

if (this.selectedFiles) {

// console.log(this.selectedFiles);

const file: File | null = this.selectedFiles.item(0);

if (file) {
this.currentFile =
file;

Department of Computer Science 86


Online Book Store
this.dbservice.upload(this.currentFile).subscrib
e( (event: any) => {
this.message = event.body.message; }) ;

}}

this.BookRegisterForm.value.bookimage=this.currentFile.name;
this.dbservice.insertbookdata(this.BookRegisterForm.value)

console.log(this.BookRegisterForm.value)

Department of Computer Science 87


Online Book Store

dbservice.services.ts

import { Injectable } from '@laravel/core';

import { HttpClient, HttpEvent, HttpRequest } from


'@laravel/common/http';

import { Observable } from 'rxjs';


@Injectable({
providedIn: 'root'

})

export class DbserviceService {


constructor(private http: HttpClient) {
}
//inserting district data
insertdistrictdata(data:
any) {
this.http.post("http://localhost:3000/districtregister",
data).toPromise()

login(data: any) {

return
this.http.post("http://localhost:3000/login",
data).toPromise()

//viewdistrict data
ViewDistrictDetai
ls() { return
this.http.get("http://localhost:3000/viewdistrict").toPromise(
)

Department of Computer Science 88


Online Book Store
//inserting location data
insertlocationdata(data: any) {
this.http.post("http://localhost:3000/location",
data).toPromise()

//category insert

upload(file: File):
Observable<HttpEvent<any>> { const
formData: FormData = new FormData();
formData.append('file', file);
const req = new HttpRequest('POST',
`http://localhost:3000/
upload`, formData, {
reportProgress: true,
responseType: 'json'

Department of Computer Science 89


Online Book Store

});

return this.http.request(req);

}
Productdata(data: any)
{ return
this.http.post("http://localhost:3000/categoryregister",
data).toPromise()

//book insert
insertbookdata(data: any)
{
this.http.post("http://localhost:3000/bookreg",
data).toPromise()

//viewcategory
ViewCategoryDetai
ls() { return
this.http.get("http://localhost:3000/
viewcategory").toPromis e()

}
ViewBookDetails(data:
any) { return
this.http.post("http://localhost:3000/customerbookview",
data).toPromise()

//view book more


BookviewmoreDetails(data:
any) { return

Department of Computer Science 90


Online Book Store
this.http.post("http://localhost:3000/bookviewmore",
data).toPromise()

//location view
getdistrictbyid(data:
any) {
// console.log(districtid);

return
this.http.post<any>("http://localhost:3000/getdistrictdetai
ls", data).toPromise()

}
ViewLocationDetai
ls() { return
this.http.get("http://localhost:3000/locationview").toPromise

Department of Computer Science 91


Online Book Store

()

}
//view
book
viewboo
k() {
return
this.http.get("http://localhost:3000/bookview").toPromise()

//customerreg guest
insertcustomerdata(data:
any) {
return
this.http.post("http://localhost:3000/customerreg",
data).toPromise()

//Deleting District
Deletedistrictdata(data:
any) {
return
this.http.post("http://localhost:3000/districtdelete",
data).toPromise()

}
//delete category
Deletecategorydata(data:
any) { return
this.http.post("http://localhost:3000/categorydelete",
data).toPromise()

}
getbookviewmore(id:
any) { return
Department of Computer Science 92
Online Book Store
this.http.post<any>("http://localhost:3000/
bookviewmore", id).toPromise()

addtocart(data: any) {

return
this.http.post("http://localhost:3000/cart",
data).toPromise()

}
//viewcart data
ViewCartDetails(customer_id:
any) { return
this.http.post("http://localhost:3000/viewcartdetails",
customer_id).toPromise()

cartviewamount(customer_id: any) {

return
this.http.post("http://localhost:3000/grandtotal",
customer_id).toPromise()

Department of Computer Science 93


Online Book Store

Deletecartdata(data: any) {

return
this.http.post("http://localhost:3000/deletecartdata",
data).toPromise()

//////
deliveryaddress(data:
any) { return
this.http.post("http://localhost:3000/deliveryaddress",
data).toPromise()

}
customerdetails(data:
any) { return
this.http.post("http://localhost:3000/customerdetails",
data).toPromise()

}
payment(data:
any) { return
this.http.post<any>("http://localhost:3000/payment",
data).toPromise()

//datewisereport
report(data:
any) {
return
this.http.post("http://localhost:3000/report",
data).toPromise()

Department of Computer Science 94


Online Book Store
//
excelreport
productvie
w() {
return
this.http.get("http://localhost:3000/bookview").toPromise
();

Customer-registration.html

<!DOCTYPE html>

<html>

<head>

Department of Computer Science 95


Online Book Store

</head>

<body style="padding-top: 100px;">

<div class="container login-container">

<div class="row">

<div class="col-md-6 login-form-2">

<h3 style=" text-align: center;"> Customer Registration


</h3>

<form [formGroup]='CustomerForm'>

<div class="form-group">

<input type="text" formControlName='customername'


class="form-control" placeholder="Full name">

</div>

<div

*ngIf="CustomerForm.controls['customername'].inv
alid && (CustomerForm.controls['customername'].dirty ||
CustomerForm.controls['customername'].touched) ||
validationstatus">

<div
*ngIf="CustomerForm.controls['customername'].errors['required']"
style="color: red;">Please

Enter Your Name </div>

<div
*ngIf="CustomerForm.controls['customername'].errors['pattern']"
style="color: red;">

Characters only Allowded </div>

</div>

<br>

<div class="form-group">

Department of Computer Science 96


Online Book Store
<input type="text"
formControlName='phone' class="form-control"
placeholder="Contact">

</div>

<div

*ngIf="CustomerForm.controls['phone'].invali
d && (CustomerForm.controls['phone'].dirty ||
CustomerForm.controls['phone'].touched) || validationstatus">

<div
*ngIf="CustomerForm.controls['phone'].errors['required']"
style="color: red;">Please Enter

Your Phone Number </div>

<div
*ngIf="CustomerForm.controls['phone'].errors['pattern']"
style="color: red;">Please check

your format of Contact number </div>

Department of Computer Science 97


Online Book Store

</div>

<br>

<div class="form-group">

<input type="text"
formControlName='email' class="form-control"
placeholder="Email">

</div>

<div

*ngIf="CustomerForm.controls['email'].invali
d && (CustomerForm.controls['email'].dirty
||CustomerForm.controls['email'].touched) || validationstatus">

<div
*ngIf="CustomerForm.controls['email'].errors['required']"
style="color: red;">Please Enter

Your Email Address </div>

<div
*ngIf="CustomerForm.controls['email'].errors['email']"
style="color: red;">Please check

your format of Email </div>

</div>

<br>

<div class="form-
group"> Select
your location
<select formControlName='locationname' class="form-
control">

<option value="">--Select--</option>

<option *ngFor="let data of locationdata"


[value]="data.location_id">

Department of Computer Science 98


Online Book Store
{{data.location_name}}

</option>

</select>

</div><br>

<div

*ngIf="CustomerForm.controls['locationname'].inv
alid && (CustomerForm.controls['locationname'].dirty ||
CustomerForm.controls['locationname'].touched) ||
validationstatus">

<div
*ngIf="CustomerForm.controls['locationname'].errors['required']"
style="color: red;">Please

Enter Your Location</div>

</div>

<br>

Department of Computer Science 99


Online Book Store

<div class="form-group">

<input type="text"
formControlName='username' class="form-control"
placeholder="Username">

</div>

<div

*ngIf="CustomerForm.controls['username'].inv
alid && (CustomerForm.controls['username'].dirty ||
CustomerForm.controls['username'].touched) ||
validationstatus">

<div
*ngIf="CustomerForm.controls['username'].errors['required']"
style="color: red;">Please

Enter Your Username</div>

</div>

<br>

<div>

<input type="password"
formControlName='password' class="form-control"
placeholder="******">

</div>

<div

*ngIf="CustomerForm.controls['password'].invalid &&
(CustomerForm.controls['password'].dirty
||CustomerForm.controls['password'].touched) || validationstatus">

<div
*ngIf="CustomerForm.controls['password'].errors['required']"
style="color: red;">Please

Enter Your Password</div>

Department of Computer Science 10


0
Online Book Store
</div>

<br>

<div>

<button type="button" type="submit"


(click)="OnSubmit()">Register Now</button>

</div>

<br>

</form>

</div>

</div>

</div>

</body>

</html>

Customer-registration.ts

Department of Computer Science 10


1
Online Book Store

import { Component, OnInit } from '@laravel/core';

import { FormBuilder, FormGroup, Validators } from


'@laravel/forms';

import { Router } from '@laravel/router';

import { DbserviceService } from 'src/app/dbservice.service';

@Component({

selector: 'app-customerreg',

templateUrl:
'./customerreg.component.html',
styleUrls:
['./customerreg.component.scss']
})

export class CustomerregComponent implements OnInit {

public locationdata: any[]


= []; public LoginArray:
any[] = [];
validationstatus = null;
constructor(private fb: FormBuilder, private
dbservice: DbserviceService, private router:
Router) { }

CustomerForm = this.fb.group({
customername: ['', [Validators.required]],
email: ['', [Validators.required, Validators.email]],

phone: ['', [Validators.required, Validators.pattern("[0-9]


{10}")]], locationname: [''],
username: ['',

Department of Computer Science 10


2
Online Book Store
[Validators.required]], password:
['', [Validators.required]]
})

ngOnInit(): void {

this.dbservice.ViewLocationDetails().then((data: any) => {


this.locationdata = data;
console.log(this.locationdata)

);

OnSubmit() {

if (this.CustomerForm.invalid) {
this.validationstatus = " ";

Department of Computer Science 10


3
Online Book Store

return

else {
this.validationstatus = null;
console.log(this.CustomerForm.value)
this.dbservice.insertcustomerdata(this.CustomerForm.value).then((
con firmation: any) => {

if (confirmation.message === "Success") {


alert(' Details Inserted')
this.router.navigate(['/guestmaster/Login'])
}

else {

alert('Data not inserted, Please check your data')

})

} }}

Department of Computer Science 10


4
Online Book Store

11.1 SCREEN SHOTS

Fig 11.1 Guest Home

Department of Computer Science 10


5
Online Book Store

Fig 11.2 Login

Department of Computer Science 10


6
Online Book Store

Fig 11.3 Admin Home

Fig 11.4 Book Register

Department of Computer Science 10


7
Online Book Store

Fig 11.5 Category Register

Fig 11.6 District Register


Department of Computer Science 10
8
Online Book Store

Fig 11.7 Location Register

Fig 11.7 Book View

Department of Computer Science 10


9
Online Book Store

Fig 11.8 Category View

Fig 11.9 District View

Department of Computer Science 11


0
Online Book Store

Fig 11.10 Location View

Fig 11.11 Date Wise Report

Department of Computer Science 11


1
Online Book Store

Fig 11.12 Excel Report

Fig 11.13 Customer Registration

Department of Computer Science 11


2
Online Book Store

Fig 11.14 Category View

Department of Computer Science 11


3
Online Book Store

Fig 11.15 Book View

Department of Computer Science 11


4
Online Book Store

Fig 11.16 View Cart Details

Fig 11.17 Payment

Department of Computer Science 11


5
Online Book Store

CHAPTER 12 GLOSSARY

List of Figures

Fig. No. Figure Name Page No.


Fig 3.1 ER diagram for Admin 23

Fig 3.2 ER diagram for Customer 24

Fig 3.3 Activity diagram of Admin 27

Fig 3.4 Activity diagram for Customer 28


Fig 3.5 Sequence diagram for Admin 30

Fig 3.6 Sequence diagram for Customer 30

Fig 3.10 Use case diagram 31

Fig 5.1 Form for Customer Registration 49

Fig 11.1 Guest home page 80

Fig 11.2 Login 81

Fig 11.3 Admin home page 81

Fig 11.4 Book registration 82

Fig 11.5 category registration 82

Fig 11.6 District registration 83

Fig 11.7 Location registration 83

Fig 11.8 Book View 84

Fig 11.9 Category View 84

Fig 11.10 District View 85

Fig 11.11 Location View 85

Department of Computer Science 11


6
Online Book Store
Fig 11.12 View Date Wise Report 86

Fig 11.13 View Excel Report 86

Department of Computer Science 11


7
Online Book Store

Fig 11.14 Customer Registration 87

Fig 11.15 View Category 87

Fig 11.16 View Book 88

Fig 11.17 View Cart Details 88

Fig 11.18 Payment 89

List of Tables

Table Table Name Page No.


No.
table 2.1 Hardware part specification Table 8
table 3.1 tbl_Login 14

table 3.2 tbl_district 15

table 3.3 tbl_Category 15

table 3.4 tbl_location 16

table 3.5 tbl_book 16

table 3.6 tbl_customer 18

table 3.7 tbl_booking 19

table 3.8 tbl_payment 20

table 3.9 tbl_cart 21

Department of Computer Science 11


8
Online Book Store

List of Abbreviations

PK : Primary Key
FK : Foreign Key
ER : Entity Relationship
SQL : Structured Query Language
OS : Operating System
DBMS : Data Base Management System
DFD : Data Flow Diagram
NF : Normal Forms
CPU : Central Processing Unit
IDE : Integrated Development Environment
ER : Entity Relationship
VS : Visual Studio
UML : Unified Modeling Language
SRS : Software Requirement Specification
SDE : Software Development Environment
SDLC : Software Development Life Cycle
WAMP : Windows, Apache, MySQL and PHP

Department of Computer Science 11


9

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy