MinProject Format CS (2)[1] - Copy[1]
MinProject Format CS (2)[1] - Copy[1]
BUDDY 2.0
Submitted in the Partial Fulfillment of the Requirement for the Award of
Bachelor of Technology
In
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
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.
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.
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.
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:-
ix
• JavaScript
HTML
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:
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.
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.
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.
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.
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/).
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”.
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.
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
Flow Chart:-
PERT Chart:-
Tasks:
xix
• Create database schema (3 days).
• Develop frontend and backend (15 days).
• Perform testing (7 days).
• Deploy the system (5 days).
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:-
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
Technology Used
1.Front-End Technologies:-
• 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.
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 development of the Book Bank Website required a versatile and efficient
IDE for writing, debugging, and managing code.
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.
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.
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
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).
Data Store
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:
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.
❑ 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.
❑ Receivable process.
❑ Verifiable process.
❑ Disposal process.
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
❑
❑
xxxi
Registration
Enter data
Process User Details
User 2.0 Register
status
View Profile
Profile Update
Edit data
2.1
User Updates
xxxii
Login Select
User Book info
Product Book
3.0
order Details
Selected
Add to Cart Product
Cart
3.1
Place Order
Order
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.
Entities
Relationships
xxxiv
Attributes
Classifying Relationships
Degree of a Relationship
xxxv
Direction
Existence
Generalization Hierarchies
xxxvi
ER Notation
xxxvii
pin country
U_id
state
password
city
name
user
email
address
phone
Choose
items
B_name usernm
B_subcat Book_id
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
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:-
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:
7.2VALIDATION CHECKS:-
• 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.
• 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
• 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.
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
xlv
• Uses prepared statements and parameterized queries to validate database
interactions.
c) Data Encryption
d) CAPTCHA Validation
a) Front-End Validation:
b) Back-End Validation:
TESTING TECHNIQUE
INDEX PAGE:
xlvii