0% found this document useful (0 votes)
18 views47 pages

MinProject Format CS (2)[1] - Copy[1]

The document is a mini project report on 'Buddy 2.0' submitted by students of the Computer Science & Engineering department at SR Institute of Management & Technology, Lucknow, as part of their Bachelor of Technology program. It outlines the vision, mission, program outcomes, and course outcomes of the department, along with a detailed structure of the project including feasibility studies, requirements analysis, and system design. The report aims to demonstrate the application of engineering knowledge and skills in developing a software solution for a bookstore management system.

Uploaded by

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

MinProject Format CS (2)[1] - Copy[1]

The document is a mini project report on 'Buddy 2.0' submitted by students of the Computer Science & Engineering department at SR Institute of Management & Technology, Lucknow, as part of their Bachelor of Technology program. It outlines the vision, mission, program outcomes, and course outcomes of the department, along with a detailed structure of the project including feasibility studies, requirements analysis, and system design. The report aims to demonstrate the application of engineering knowledge and skills in developing a software solution for a bookstore management system.

Uploaded by

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

A

MINI PROJECT REPORT


On

BUDDY 2.0
Submitted in the Partial Fulfillment of the Requirement for the Award of
Bachelor of Technology
In

Computer Science & Engineering


Submitted By

YASTAB SHEEROON PARVEZ (2204851530064)

PURNIMA SRIVASTAVA (2304851539005)

SAHIBA KHATOON (2204851530042)

Under the Guidance of


SHAHAB AHMAD
Assistant Professor

Department of Computer Science & Engineering


SRIMT, Lucknow, UP

SR INSTITUTE OF MANAGEMENT & TECHNOLOGY, LUCKNOW, UP


(Recognized by AICTE, Govt. of India & Affiliated to Dr. A.P.J. Abdul Kalam Technical University, Lucknow, UP)
AKTU College Code – 485
DECEMBER (2024-25)

i
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

Vision – Institute
To evolve into an Institution imparting high quality technical education infused with core
essentials of “Shiksha”, “Sanskar” and “Rojgar”.

Mission – Institute
M1: To strive for quality education of students by facilitating technology enabled holistic
learning programs.
M2: To inculcate principles of professional behavior that requires adherence to the
values of team work social conduct for the welfare of society.
M3: To provide necessary skills needed for entry into a global workforce with job
assurance as well as facilitate training and support that help in developing the
entrepreneurial abilities.
Department – Vision
The Computer Science & Engineering Department aims to explore new avenues and
dimensions for making human life easier by offering students with the essential
computational skills to develop technology that serves the society by enhancing
employability, deep understanding of ethical values and responsibilities.

Department – Mission
M1: To ensure student’s progress through regular practice and implementation of new
ideas with an innovative approach
M2: To promote an environment of high moral values and discipline where students can
learn and Contribute towards the growth of self and society.
M2: To further an environment of entrepreneurship and professionalism of high
excellence and calibre, Giving professionals opportunities for employment and growth

College Code: 485

ii
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

Department PEOs
➢ To ensure that Students possess the understanding of engineering & computer
science to excel in chosen career path.

➢ To ascertain that students demonstrate professional conduct, ethical attitude,


cognizance of social & Environmental issues, leadership and lifelong learning.

➢ To create and provide opportunities for the sustainable development of students


through practical Experience and training programs.

Department PSOs

➢ The ability to analyze and solve real life problems through the application of
fundamental knowledge of maths, science and engineering.

➢ Understand the state of the art in the emerging areas of research in computer
science and engineering, formulate problems from them and perform original work
to contribute in the advancement of the state of the art.

➢ To adapt to evolving technical challenges and changing career opportunities by


effectively communicating ideas and promoting collaboration with other members
of engineering teams.

College Code: 485

iii
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

PROGRAM OUTCOME
PO 1 Engineering Knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering problems.
PO 2 Problem Analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics, natural
sciences, and engineering sciences.
PO 3 Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate consideration
for the public health and safety, and the cultural, societal, and environmental considerations.
PO 4 Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions
PO 5 Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities with an
understanding of the limitations.
PO 6 The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the
professional engineering practice.
PO 7 Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for
sustainable development.
PO 8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms
of the engineering practice
PO 9 Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.
PO 10 Communication: Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive clear
instructions.
PO 11 Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member and leader in
a team, to manage projects and in multidisciplinary environments.
PO 12 Life-long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change.
College Code: 485

iv
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

COURSE OUTCOME
CO1: In a specialization domain of choice, students will be able to choose an appropriate
topic for study and will be able to clearly formulate & state a research problem and
analyze and understand the real-life problems and apply their knowledge to get
programming Solution.

CO2: For a selected Project topic, students will be able to compile the relevant literature
and frame hypotheses for project as applicable and engage in the creative design process
through the integration and application of diverse technical knowledge and expertise to
meet customer need and address socials issues.

CO3: For a selected topic, student manager will be able to plan a research design
including the sampling, observational, statistical and operational designs if any and Use
the various tools and techniques, coding practices for developing real life solution to the
problems.

CO4: For a selected topic, student manager will be able to compile relevant data,
interpret & analyze it and test the hypotheses wherever applicable and Find out the error
in software solution and establishing the process to design maintainable software
solution.

CO5: Based on the analysis and interpretation of the data collected, students will be able
to arrive at logical conclusions and propose suitable recommendations on the research
problem. Student manager will be able to create a logically coherent project report and
will be able to defend work in front of a panel of examiners and Write the report about
what they are doing in project and learning the team skills.

v
CONTENT
S. No. Topics Page No.
Cover Page i
Vision, Mission (Institute & Department) ii
PEOs , PSOs iii
Program Outcome iv
Course Outcome v
Content (Index) viii
1 Chapter 1 : Introduction 12 - 20
1.1 Background 13
1.2 Objective 15
1.3 Purpose & Scope 18
Lit Review
1.4 Limitation 19
2 Chapter 2 : Feasibility Study 21 - 25
2.1 Economic Feasibility 22
2.2 Technical Feasibility 23
2.3 Behavioral Feasibility 24
3 Chapter 3 : Requirement & Analysis 26 - 40
3.1 Problem Definition 27
3.2 Planning & Scheduling (Flow Chart & Gantt / Pert Chart) 30
3.3 Software / Hardware Requirements 32
3.4 SDLC Model 38
4 Chapter 4 : Survey of Technology 41- 45
4.2 Technology Used (Front End, Backend,Database) 43
4.3 IDE,API, Various Tools 44
5 Chapter 5 : Preliminary Module Description 46 - 50
6 Chapter 6 : System Design 51 - 55
6.1 DFD (0–Level, 1–Level, 2–Level, 3-Level*) 52
6.2 ER – Diagram 54
6.3 Data Structure (Tables of Database) 55
7 Chapter 7 : Details Design 96 - 100
7.1 Input / Output Screen 97
7.2 Validation Checks 99
7.3 Program Code
8 Chapter 8 : Testing Technique 96 - 100
9 Chapter 9 : References & Bibliography 96 - 100
9.1 References 97
9.2 Bibliography 99

vi
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045

INTODUCTION
1.1 BACKGROUND:- A bookstore is a retail establishment that sells books,
magazines, and other printed materials. Bookstores often provide a
welcoming environment for book lovers to browse, discover, and purchase
new titles.

1.2 OBJECTIVES:-
1. Independent Bookstores: Small, locally owned bookstores that often
specialize in specific genres or topics.
2. Chain Bookstores: Large, corporate-owned bookstores with multiple
locations, such as Barnes & Noble or Books-A-Million.
3. Online Bookstores: E-commerce websites that sell books and other digital
content, such as Amazon or Google Books.
4. Used Bookstores: Stores that specialize in selling second-hand books,
often at discounted prices.
5. Specialty Bookstores: Stores that focus on specific genres or topics, such
as science fiction, romance, or children's books.

1.3 PURPOSE AND SCOPE

1. Book Recommendations: Staff recommendations and personalized


suggestions based on reading preferences.
2. Author Events: Book signings, readings, and other events featuring
authors and industry experts.
3. Book Clubs: Organized groups for discussing books and sharing
perspectives.

vii
4. Gift Wrapping: Many bookstores offer gift wrapping services for
purchased books.
5. Cafes and Seating Areas: Some bookstores provide comfortable spaces
for customers to relax and read.

1.4 LIMITATIONS

1. Discover New Titles: Browse shelves and discover new books, authors, and
genres.
2. Support Local Businesses: Independent bookstores contribute to local
economies and communities.
3. Meet Fellow Book Lovers: Connect with other readers and book
enthusiasts.
4. Attend Events and Workshops: Participate in author events, writing
workshops, and other literary activitiv.

viii
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
979300004

FEASIBILITY STUDY
2.1 ECONOMIC FEASIBILITY:-

In a desktop application like Laboratory Management System, there is a scope


for a large number of platforms, languages and frameworks to choose from.
Before selecting from this large array of technologies, the following aspects,
which are characteristic to windows-based application like this one, have been
kept in mind:
• Data validation
• Performance
• Reliability
• Scalability
• Security
• Portability
• Performance
• Time constraint
• Cost constraint
The various technologies available for consideration are as follows:
Operating System: Windows 7
Client Side Scripting:
• HTML
• CSS

ix
• JavaScript

Server Side Scripting: PHP


Database Tool: My SQL
Testing Server: Apache
Other Software Used:
• Adobe Dreamweaver
• Adobe Photoshop
• Wamp Server

2.2 TECHNICAL FEASIBILITY:-

HTML

HTML or HyperText Markup Language is the standard markup language


used to create web pages.

HTML is written in the form of HTML elements consisting of tags enclosed


in angle brackets (like <html>). HTML tags most commonly come in pairs
like <h1> and </h1>, although some tags represent empty elements and so
are unpaired, for example <img>. The first tag in a pair is the start tag, and
the second tag is the end tag (they are also called opening tags and closing
tags).

The purpose of a web browser is to read HTML documents and compose


them into visible or audible web pages. The browser does not display the
HTML tags, but uses the tags to interpret the content of the page. HTML
describes the structure of a website semantically along with cues for
presentation, making it a markup language rather than a programming
language.

x
HTML elements form the building blocks of all websites. HTML allows
images and objects to be embedded and can be used to create interactive
forms. It provides a means to create structured documents by denoting
structural semantics for text such as headings, paragraphs, lists, links, quotes
and other items. It can embed scripts written in languages such as JavaScript
which affect the behavior of HTML web pages.

CSS

CSS was first developed in 1997, as a way for Web developers to define the
look and feel of their Web pages. It was intended to allow developers to
separate content from design so that HTML could perform more of the
function that it was originally based on the markup of content, without worry
about the design and layout.

CSS didn't gain in popularity until around 2000, when Web browsers began
using more than the basic font and color aspects of CSS.

Web Designers that don't use CSS for their design and development of Web
sites are rapidly becoming a thing of the past. And it is arguably as important
to understand CSS as it is to know HTML - and some would say it was more
important to know CSS.

Style sheet refers to the document itself. Style sheets have been used for
document design for years. They are the technical specifications for a layout,
whether print or online. Print designers use style sheets to insure that their
designs are printed exactly to specifications. A style sheet for a Web page
serves the same purpose, but with the added functionality of also telling the
viewing engine (the Web browser) how to render the document being viewed.
xi
PHP:

PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used


open source general-purpose scripting language that is especially suited for
web development and can be embedded into HTML.

Instead of lots of commands to output HTML (as seen in C or Perl), PHP


pages contain HTML with embedded code that does "something" (in this case,
output "Hi, I'm a PHP script!"). The PHP code is enclosed in special start and
end processing instructions <?php and ?> that allow you to jump into and
out of "PHP mode."

What distinguishes PHP from something like client-side JavaScript is that the
code is executed on the server, generating HTML which is then sent to the
client. The client would receive the results of running that script, but would
not know what the underlying code was. You can even configure your web
server to process all your HTML files with PHP, and then there's really no
way that users can tell what you have up your sleeve.

The best things in using PHP are that it is extremely simple for a newcomer,
but offers many advanced features for a professional programmer. Don't be
afraid reading the long list of PHP's features. You can jump in, in a short time,
and start writing simple scripts in a few hours.

IN FUTURE WE USE MYSQL:

MySQL, the most popular Open Source SQL database management system, is
developed, distributed, and supported by Oracle Corporation.

xii
The MySQL Web site (http://www.mysql.com/) provides the latest
information about MySQL software.

• MySQL is a database management system.

A database is a structured collection of data. It may be anything from a


simple shopping list to a picture gallery or the vast amounts of
information in a corporate network. To add, access, and process data
stored in a computer database, you need a database management system
such as MySQL Server. Since computers are very good at handling large
amounts of data, database management systems play a central role in
computing, as standalone utilities, or as parts of other applications.

• MySQL databases are relational.

A relational database stores data in separate tables rather than putting all
the data in one big storeroom. The database structures are organized into
physical files optimized for speed. The logical model, with objects such
as databases, tables, views, rows, and columns, offers a flexible
programming environment. You set up rules governing the relationships
between different data fields, such as one-to-one, one-to-many, unique,
required or optional, and “pointers” between different tables. The
database enforces these rules, so that with a well-designed database,
your application never sees inconsistent, duplicate, orphan, out-of-date,
or missing data.

The SQL part of “MySQL” stands for “Structured Query Language”.


SQL is the most common standardized language used to access

xiii
databases. 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), http://www.fsf.org/licenses/, to define what you may
and may not do with the software in different situations. If you feel
uncomfortable with the GPL or need to embed MySQL code into a
commercial application, you can buy a commercially licensed version from
us. See the MySQL Licensing Overview for more information
(http://www.mysql.com/company/legal/licensing/).

2.3 BEHAVIOURAL FEASIBILITY:-

Problem Definition and Need for the New System


• Online Book Store is a specific requirement of the client that integrates
the buying and selling services specifically to their customers.

xiv
• Reports can be generated at any time within few seconds, so that manual
labor is not required, and also analysis can be performed much more
frequently which helps in taking decision.
• The details regarding all users, books can also be maintained as their
information is very helpful and sometimes becomes a critical
requirement.
• Allows user to get registered from their places and transact for the
required product.
• To overcome these problems we develop “Online Book Store”.

SYSTEM REQUIREMENTS SPECIFICATIONS


System requirements are expressed in a software requirement document.
The Software requirement specification (SRS) is the official statement of what
is required of the system developers. This requirement document includes the
requirements definition and the requirement specification. The software
requirement document is not a design document. It should set out what the
system should do without specifying how it should be done. The requirement
set out in this document is complete and consistent.
The software specification document satisfies the following:-
• It specifies the external system behaviours.
• It specifies constraints on the implementation.
• It is easy to change.
• It serves as reference tool for system maintainers.
• It record forethought about the life cycle of the system.
• It characterizes acceptable response to undesired events.

User Class and Characteristics:


xv
• General public
• Customers
• Administrator
• General public can use the system to see the books, their prices and
quantity available.
• Non registered user cannot buy the books.
• Customers are using for viewing and buying the books.
• Customer can also write feedbacks for books and services
• Administrators can add, edit & delete books and provide services to the
customer.
• Administrator can see the daily sell. Can also see the feedback given by
the customer.
• Administrator maintaining the deliveries.

Functional Requirements:
• The System must provide following functionalities—
• Keeping records of registration of customers.
• Keeping the records of books.
• Keeping the daily sell.
• Storing the feedback given by the customer.
• Keeping details about the product it is delivered or not. etc.
• Storing the items selected by the customer in the temporary storage.

Non Functional Requirements:


Following Non-functional requirements will be there in the online shopping
portal.
• Secure access of confidential data (customer’s details).
• 24 X 7 availability.
xvi
• Better component design to get better performance at peak time.

Flexible service based architecture will be highly desirable for future


extension Non functional requirements define system properties and
constraints It arise through user needs, because of budget constraints or
organizational policies, or due to the external factors such as safety
regulations, privacy registration and so on.
Various other Non-functional requirements are:
1. Security
2. Reliability
3. Maintainability
4. Portability
5. Extensibility
6. Reusability
7. Application Affinity/Compatibility
8. Resource Utilization.

xvii
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045

REQUIREMENT AND ANALYSIS

3.1 PROBLEM DEFINITION:-


Problem Definition and Need for the New System
• Online Book Store is a specific requirement of the client that integrates
the buying and selling services specifically to their customers.
• Reports can be generated at any time within few seconds, so that
manual labor is not required, and also analysis can be performed much
more frequently which helps in taking decision.
• The details regarding all users, books can also be maintained as their
information is very helpful and sometimes becomes a critical
requirement.
• Allows user to get registered from their places and transact for the
required product.
• To overcome these problems we develop “Online Book Store”.

3.2 PLANNING &SCHEDULING:-

Flow Chart:-

1. User Registration/Login: Users sign up or log in to access the system.


2. Book Search and Request: Users search the book database and place a
request for available books.
3. Admin Approval: Admin reviews and approves the request.
xviii
4. Book Issuance: The book is issued and its availability is updated in the
system.
5. Book Return: Users return the book, and the system updates the
inventory.

PERT Chart:-
Tasks:

• Identify requirements (5 days).

xix
• Create database schema (3 days).
• Develop frontend and backend (15 days).
• Perform testing (7 days).
• Deploy the system (5 days).

3.3 SOFTWARE /HARDWARE REQUIREMENTS:-

Hardware Interface:
Hardware requirements for running this project are as follows:
Processor: - Pentium I or above.
RAM: - 128 MB or above.
HD: - 20 GB or above.
Software Interface:
Software required to make working of product is:-
Front end- HTML/PHP
Back end- My SQL
3.4 SDLC MODEL:-

Chosen SDLC Model: Agile Model

Justification:
The Agile Model was selected for its iterative and flexible approach, allowing
for ongoing user feedback and adjustments during development. This
ensures the final product aligns with user needs and expectations.

Implementation Phases:

1. Requirement Analysis:
o Gather requirements through surveys and interviews with users
and administrators.
o Identify essential features such as search, book request, and
donation modules.
2. Design:
o Create prototypes and wireframes for the user interface.
o Design the database schema to manage book inventory and user
records.
3. Development:
o Develop the frontend and backend in sprints.

xx
o Integrate user authentication, book search functionality, and
inventory management.
4. Testing:
o Perform unit and integration testing for all modules.
o Conduct user acceptance testing (UAT) to ensure the system
meets expectations.
5. Deployment and Maintenance:
o Deploy the system on a cloud server.
o Monitor for bugs and perform regular updates.

xxi
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045

SURVEY OF TECHNOLOGY

4.1 TECHNOLOGY USED:-

Technology Used

1.Front-End Technologies:-

The front-end of the Book Bank Website is designed to provide an intuitive


and user-friendly interface for visitors. It focuses on responsive design,
interactivity, and cross-platform compatibility.

• HTML5:
Used to structure the web pages and ensure semantic, accessible, and
search-engine-optimized content.
• CSS3:
Enables styling and layout designs to create an aesthetically pleasing
and consistent user experience across devices.
• JavaScript:
Provides interactivity and dynamic content updates without reloading
the page.
• React.js (or Angular):
A modern JavaScript framework/library used to build interactive UI
components and manage the application’s state effectively.
• Bootstrap:
Simplifies the creation of responsive web designs and accelerates front-
end development with prebuilt components and a grid system.

Key Features of the Front-End:

xxii
• Search bar for books with auto-suggestion.
• User dashboard for tracking borrowing history.
• Notification system for overdue books and available requests.

2. Back-End Technologies

The back-end is responsible for managing the server-side logic, database


interactions, and application programming interfaces (APIs) to ensure
seamless communication between the front-end and the database.

• Programming Language: PHP or Node.js:


o PHP is used for server-side scripting due to its simplicity and
compatibility with relational databases.
o Alternatively, Node.js can be used for its asynchronous, event-
driven architecture, ensuring scalability.
• Frameworks:
o Laravel: A PHP framework that simplifies back-end development
with its MVC architecture and built-in authentication and routing
mechanisms.
o Express.js: A minimalist Node.js framework used for creating
APIs and managing server-side operations.
• Database:
o MySQL: A relational database used to store and retrieve structured
data such as user profiles, book inventory, and transaction logs.
o MongoDB (alternative): A NoSQL database for managing
unstructured or dynamic data if scalability is required.
• Server:
o Apache: A widely used open-source web server compatible with
PHP.
o Nginx: High-performance HTTP server and reverse proxy for
handling concurrent users efficiently.

Key Features of the Back-End:

• Secure user authentication and authorization.


• Efficient book inventory management with real-time updates.
• RESTful APIs for smooth communication between front-end and back-
end compone.
xxiii
4.2 IDE,API,VARIOUS TOOL:-

IDE (Integrated Development Environment)

The development of the Book Bank Website required a versatile and efficient
IDE for writing, debugging, and managing code.

• Visual Studio Code (VS Code):


o Lightweight, fast, and extensible.
o Offers syntax highlighting, intelligent code suggestions, and
debugging features.
o Provides a wide range of extensions for frameworks like React.js,
Laravel, and Node.js.
• Eclipse:
o Suitable for Java-based modules or additional tools.
o Robust support for large-scale projects and debugging.
• JetBrains IDEs (e.g., WebStorm, PHPStorm):
o Specialized IDEs for front-end and back-end development with
advanced features for JavaScript and PHP.

API (Application Programming Interface)

APIs play a crucial role in enabling communication between the front-end and
back-end of the application, ensuring smooth data exchange.

• RESTful APIs:
o Used to handle CRUD (Create, Read, Update, Delete) operations
for user profiles, book inventory, and transaction records.
o JSON format ensures lightweight and efficient data transfer.
• Key API Endpoints:
o /register: Handles user registration.
o /login: Manages user authentication.
o /books: Provides access to the book inventory (search, request,
and availability).
o /transactions: Tracks borrowing and returning of books.
• Postman for API Testing:
o Allows developers to test API endpoints for functionality and
reliability.
xxiv
o Enables validation of HTTP requests and responses during
development.

Various Tools

Several tools were utilized during the development and management phases to
ensure quality and collaboration.

Development Tools:

1. Git:
oVersion control for tracking changes and managing collaborative
development.
o Platforms like GitHub or GitLab for repository hosting.
2. Node Package Manager (npm):
o Manages JavaScript libraries and dependencies.
3. Composer:
o Dependency manager for PHP frameworks like Laravel.

Design and Prototyping Tools:

1. Figma or Adobe XD:


o Used to create wireframes and prototypes of the user interface.
2. Canva:
o Simple tool for creating visual content, like icons or banners for
the website.

Testing Tools:

1. Selenium:
o Automated testing of user interactions with the website.
2. Jest:
o Used for unit testing JavaScript functions and components.
o Postman: Comprehensive testing of RESTful APIs.

Deployment and Hosting Tools:

1. AWS (Amazon Web Services):


o Cloud hosting for scalable and secure application deployment.

xxv
2. Heroku:
o Simple deployment for small to medium-scale web applications.
3. Docker:
o Containerization of the application to ensure consistency across
different environment

NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP


Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045

PRILIMINARY MODEL DISCRIPTION


The preliminary model provides a foundation for understanding the system's
structure, workflows, and functionality. This serves as the starting point for
development and ensures alignment with user requirements.

1. Purpose of the Model

The purpose of the preliminary model is to:

1. Outline the system’s core functionalities and processes.


2. Highlight the interaction between users, administrators, and the system.
3. Serve as a blueprint for developers to visualize the implementation.
4. Identify potential challenges or areas requiring special focus during
development.

xxvi
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045

SYSTEM DESIGN
5.1DATA FLOW DIAGRAM:-

What it is?

The Data Flow Diagram shows the flow of data or information. It can be
partitioned into single processes or functions. Data Flow Diagrams can be
grouped together or decomposed into multiple processes. There can be
physical DFD's that represent the physical files and transactions, or they can
be business DFD's (logical, or conceptual).

When it's used?


The DFD is an excellent communication tool for analysts to model
processes and functional requirements. One of the primary tools of the
structured analysis efforts of the 1970's it was developed and enhanced by
the likes of Yourdon, McMenamin, Palmer, Gane and Sarson. It is still
considered one of the best modeling techniques for eliciting and
representing the processing requirements of a system.

Used effectively, it is a useful and easy to understand modeling tool. It


has broad application and usability across most software development
xxvii
projects. It is easily integrated with data modeling, workflow modeling tools,
and textual specs. Together with these, it provides analysts and developers
with solid models and specs. Alone, however, it has limited usability. It is
simple and easy to understand by users and can be easily extended and
refined with further specification into a physical version for the design and
development teams.

The different versions are Context Diagrams (Level 0), Partitioned


Diagrams (single process only -- one level), functionally decomposed, leveled
sets of Data Flow Diagrams.

Data Store

It is a repository of information. In the physical model, this represents a


file, table, etc. In the logical model, a data store is an object or entity.

DataFlows
DFDs show the flow of data from external entities into the system,
showed how the data moved from one process to another, as well as its
logical storage. There are only four symbols:

❑ Squares representing external entities, which are sources or


destinations of data.
❑ Rounded rectangles representing processes, which take data as input,
do something to it, and output it.
❑ Arrows representing the data flows, which can either, be electronic
data or physical items.

xxviii
❑ Open-ended rectangles representing data stores, including electronic
stores such as databases or XML files and physical stores such as or
filing cabinets or stacks of paper.

There are several common modeling rules for creating DFDs:

❑ All processes must have at least one data flow in and one data flow out.
❑ All processes should modify the incoming data, producing new forms of
outgoing data.
❑ Each data store must be involved with at least one data flow.
❑ Each external entity must be involved with at least one data flow.
❑ A data flow must be attached to at least one process.

DFDs are nothing more than a network of related system functions and
indicate from where information is received and to where it is sent. It is the
starting point in the system that decomposes the requirement specifications
down to the lowest level detail.

The four symbols in DFD, each of which has its meaning. They are given
below:

❑ External entities are outside to system but they either supply input data
in the system or use the system output. These are represented by
square of rectangle. External entities that supply data into a system are
sometimes called Sources. External entities that use system data are
sometimes called sinks.
xxix
❑ Dataflow models that passages of data in the system and are
represented by line by joining system components. An arrow indicates
the direction of the flow and the line is labeled by the name of the
dataflow.
❑ Process show that the systems do. Each process has one or more data
inputs and one or data outputs. Circles in DFD represent them. Each
high level process may be consisting of more than one lower level
processes. Process will be expanded in sequent level DFD. A circle or a
bubble represents a process that transforms incoming data flow into
outgoing dataflow.

The high level processes in a system are:

❑ Receivable process.
❑ Verifiable process.
❑ Disposal process.

❑ File or data store is a repository of data. They contain data that is


retained in the system. Process can enter data into data store or
retrieved data from the data store. An open rectangle is a data store,
data at rest.
❑ 0-Level DFD:

xxx
Books & other Order receipt &
details Online Book confirmation
Admin Store User
Order & reports Personal Details
& Select product

CONTEXT

DTAGRAM

Admin

Data
Status

1.0
Admin
Process

1.0

Reviews
Store
Access process

Book Order
Product

❑ DFD for Admin Process

xxxi
Registration
Enter data
Process User Details
User 2.0 Register

status

View Profile
Profile Update
Edit data
2.1
User Updates

DFD For User Registration and Profile Update

xxxii
Login Select
User Book info
Product Book
3.0

order Details

Selected
Add to Cart Product
Cart
3.1

confirms Cart Details


User Checkout
3.2
Confirmation
& receipt 3.2

Place Order

Order

DFD for shopping and checkout process

xxxiii
6.2 Entity-Relationship Model :-

Simply stated the ER model is a conceptual data model that views the
real world as entities and relationships. A basic component of the model is
the Entity-Relationship diagram which is used to visually represent data
objects. Since Chen wrote his paper the model has been extended and today
it is commonly used for database.

Basic Constructs of E-R Modeling

The ER model views the real world as a construct of entities and


association between entities.

Entities

Entities are the principal data object about which information is to be


collected. Entities are classified as independent or dependent (in some
methodologies, the terms used are strong and weak, respectively). An
independent entity is one that does not rely on another for identification. A
dependent entity is one that relies on another for identification. .

Relationships

A Relationship represents an association between two or more entities.


Relationships are classified in terms of degree, connectivity, cardinality, and
existence.

xxxiv
Attributes

Attributes describe the entity of which they are associated. A particular


instance of an attribute is a value. The domain of an attribute is the
collection of all possible values an attribute can have. The domain of Name is
a character string.

Classifying Relationships

Relationships are classified by their degree, connectivity, cardinality,


direction, type, and existence. Not all modeling methodologies use all these
classifications.

Degree of a Relationship

The degree of a relationship is the number of entities associated with


the relationship. The n-ary relationship is the general form for degree n.
Special cases are the binary, and ternary, where the degree is 2 and 3
respectively.

Connectivity and Cardinality

The connectivity of a relationship describes the mapping of associated


entity instances in the relationship. The values of connectivity are "one" or
"many". The cardinality of a relationship is the actual number of related
occurrences for each of the two entities. The basic types of connectivity for
relations are: one-to-one, one-to-many, and many-to-many.

xxxv
Direction

The direction of a relationship indicates the originating entity of a


binary relationship. The entity from which a relationship originates is the
parent entity; the entity where the relationship terminates is the child entity.

The direction of a relationship is determined by its connectivity type


.An identifying relationship is one in which one of the child entities is also a
dependent entity. A non-identifying relationship is one in which both entities
are independent.

Existence

Existence denotes whether the existence of an entity instance is


dependent upon the existence of another, related, entity instance. The
existence of an entity in a relationship is defined as either mandatory or
optional.

Generalization Hierarchies

A generalization hierarchy is a form of abstraction that specifies that


two or more entities that share common attributes can be generalized into a
higher level entity type called a supertype or generic entity. The lower-level
of entities become the subtype, or categories, to the supertype. Subtypes are
dependent entities.

xxxvi
ER Notation

The symbols used for the basic ER constructs are:

❑ Entities are represented by labeled rectangles. The label is the name of


the entity.
❑ Relationships are represented by a solid line connecting two entities.
The name of the relationship is written above the line. Relationship
names should be verbs.
❑ Attributes, when included, are listed inside the entity rectangle.
Attributes which are identifiers are underlined. Attribute names should
be singular nouns.
❑ Cardinality of many is represented by a line ending in a crow's foot. If
the crow's foot is omitted, the cardinality is one.
❑ Existence is represented by placing a circle or a perpendicular bar on
the line. Mandatory existence is shown by the bar (looks like a 1) next
to the entity for an instance is required. Optional existence is shown by
placing a circle next to the entity that is optional.
❑ Existence is represented by placing a circle or a perpendicular bar on
the line. Mandatory existence is shown by the bar (looks like a 1) next
to the entity for an instance is required. Optional existence is shown by
placing a circle next to the entity that is optional.

xxxvii
pin country
U_id
state

password
city

name
user
email

address
phone

Choose
items

B_name usernm
B_subcat Book_id

b_id B_desc Cart_id


Bk_name

Adds
Book to Cart

qty
B_publisher

price amount
Edition

page ISBN
Write
query
confirms

query
Cart_id
orderID

email
contact
order

con_id usernm
Order_d
ate

amount

6.3 DATA STRUCTURE(TABLES OF DATABASE)

xxxviii
The general theme behind a database is to handle information as an
integrated whole. A database is a collection of inter-related data stored with
minimum redundancy to serve single users quickly and efficiently. The
general objective is to make information necessary, quick, inexpensive and
flexible for the user.

Database Tables
user Table
Field Data Type Size Allow Null Constrain
Name
u_id int 4 No PK
u_fnm varchar 35 No
u_unm varchar 25 No
u_pwd varchar 20 No
u_gender varchar 7 No
u_email varchar 35 No
u_contact varchar 12 No
u_city varchar 20 No

Category Table
Field Data Type Size Allow Null Constrain
Name
cat_id int 4 No PK
cat_nm varchar 30 No

Subcat Table
Field Data Type Size Allow Null Constrain
Name
subcat_id int 4 No PK
Parent_id Int 4 No
Subcat_nm varchar 35 No

Contact Table

xxxix
Field Data Type Size Allow Null Constrain
Name
con_id int 4 No PK
Con_nm varchar 40 No
Con_email varchar 40 No
Con_query Longtext 0 No

Book Table
Field Name Data Type Size Allow Null Constrain
b_id int 4 No PK
b_nm varchar 60 No
b_subcat varchar 25 No
b_desc longtext 0 No
b_publisher varchar 40 No
b_edition varchar 20 No
b_isbn varchar 10 No
b_page int 5 No
b_price int 5 No
b_img longtext 0 No
b_pdf longtext 0 No

Cart Table
Field Data Type Size Allow Null Constrain
Name
cart_id int 4 No PK
user_nm varchar 20 No
Book_id varchar 10 No PK
Book_nam varchar 25 No
e
qty int 4 No
Amount Float No

Checkout Table
Field Name Data Type Size Allow Null Constrain
xl
order_id int 4 No PK
Cart_id varchar 60 No
Order_date datetime No
Total_Amo Float 0 No
unt

xli
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /
9793000045
DETAIL DESIGHN
7.1.1 INPUT DESIGN:-

Very careful attention had to be given to input design, which is a major


part of the overall system design. In order to make the data entry as easy,
logical and error free as possible, specific standards had been followed.
Validation checks, provided in the system prevented the user in entering
incorrect, erroneous data. This made sure that, only valid data had been
available for data processing. If valid data was entered, then meaningful
error messages had been prompted to enter correct data. The interactive
screen formats facilitate the entry of valid data.

VALIDATIONS:

Some fields are having only number, as an I/P. For this key ASCII is
checked. If they entered characters, it would display the message to enter
number only. Exchange rates field will be validated for number and dot
symbols.
INPUT DESIGN OBJECTIVES:

The numbers of clear objectives of input design are,


▪ To produce a cost effective method of input
▪ To achieve the highest possible level of accuracy
xlii
▪ To ensure that the input is acceptable to and understand by the
user staff

7.1.2 OUTPUT DESIGN:-

Output, as you probably know, generally refers to the results and


information that are generated by the system. For many end-users, output is
the main reason for developing the system and the basis on which they will
evaluate the usefulness of the application. Most end users will not actually
operate the information system or enter data through workstations, but they
will use the output from the system.
When designing output, systems analysts must accomplish the following.
▪ Determine what information to present
▪ Decide whether to display, print, or “speak” the information and select
the output medium.
▪ Arrange the presentation of information in an acceptable format.
▪ Decide how to distribute the output to intended recipients.
That alignment of information on a display or printed document is termed as
layout.
Accomplishing the general activities listed above will require specific
decisions, such as whether to use preprinted forms when preparing reports
and documents, how many lines to plan on a printed page, or whether to
use graphics and color.
The output design is specified on layout performs, sheets that describe
the location characteristics, and format of the column headings and
xliii
pagination. As we indicated at the beginning of this discussion, these
elements are analogous to an architect’s blue print that shows the location
of the each component.

7.2VALIDATION CHECKS:-

1. User Input Validation

a) Registration and Login

• Email Validation:
o Ensures that users provide a valid email address format using
regular expressions (e.g., [email protected]).
• Password Strength Validation:
o Enforces strong password criteria, including a minimum length (8
characters), at least one uppercase letter, one lowercase letter, one
number, and one special character.
• Username Validation:
o Checks for unique usernames and prevents the use of invalid
characters.

b) Book Search and Request

• Search Query Validation:


o Ensures that search inputs are not empty or excessively long and
filters out harmful inputs like SQL injection attempts.
• Request Validation:
o Verifies that the requested book is available in the inventory before
processing.

c) Form Fields Validation

• Mandatory Fields:
o Ensures that all required fields, such as name, contact information,
and book details, are filled in before submission.
• Data Format Validation:
o Validates formats for specific fields, such as phone numbers, dates,
and identification numbers.
xliv
2. System-Level Validation

a) Authentication and Authorization

• User Authentication:
o Validates login credentials against stored database records to
ensure only registered users can access the system.
• Role-Based Access Control (RBAC):
o Verifies user roles to restrict access to admin functionalities, such
as book management and user approval.

b) Book Inventory Validation

• Real-Time Availability Check:


o Validates book availability during the borrowing process to avoid
duplicate requests.
• Inventory Consistency:
o Ensures that inventory updates occur in real-time when books are
borrowed, returned, or added.

c) Transaction Validation

• Duplicate Requests:
o Prevents users from submitting multiple requests for the same
book within a short period.
• Due Date Validation:
o Automatically validates borrowing durations and generates
reminders for overdue books.

3. Security Validation

a) Cross-Site Scripting (XSS) Prevention

• Escapes user inputs in forms and displays to prevent injection of


malicious scripts.

b) SQL Injection Prevention

xlv
• Uses prepared statements and parameterized queries to validate database
interactions.

c) Data Encryption

• Encrypts sensitive user data (e.g., passwords) using hashing algorithms


like bcrypt.

d) CAPTCHA Validation

• Incorporates CAPTCHA in forms to validate human users and prevent


automated bots from abusing the system.

4. Front-End and Back-End Validation

a) Front-End Validation:

• Implemented using JavaScript for real-time feedback on form inputs.


• Examples:
o Ensuring no empty fields in forms.
o Providing immediate error messages for invalid email or password
formats.

b) Back-End Validation:

• Ensures robust validation even if front-end validation is bypassed.


• Examples:
o Verifying data formats and sanitizing inputs before storing them in
the database.

5. Benefits of Validation Checks

• Enhanced Security: Prevents unauthorized access and malicious


attacks.
• Data Integrity: Ensures accurate and consistent data storage and
retrieval.
• User Experience: Provides real-time feedback and error messages for
invalid inputs, improving usability.
• System Reliability: Reduces errors and ensures smooth functionality by
validating transactions and operations.
xlvi
NH-24, Sitapur Road, Bakshi Ka Talab, Lucknow – 226201, UP
Website: www.srimt.co.in , Email : [email protected] , Mobile No.: +91 9793000005,6,7 /

TESTING TECHNIQUE
INDEX PAGE:

xlvii

You might also like