Book Store 5
Book Store 5
Contents .................................................................................................................................................................................................... 2
List of Figures ................................................................................................................................................................................................ 3
Figure 1: Screenshot of the Slack Group ........................................................................................................................................................... 3
Figure 2: GitHub Repository Screenshot ....................................................................................................................................................... 3
Figure 3: YouTube Channel Screenshot ........................................................................................................................................................ 3
Figure 4: Video Thumbnail or Screenshot ..................................................................................................................................................... 3
Figure 5: Gantt Chart..................................................................................................................................................................................... 3
Figure 6: Use Case Diagram .......................................................................................................................................................................... 3
Figure 7: Sequence diagram.......................................................................................................................................................................... 3
1: Abstract ..................................................................................................................................................................................................... 4
3. problem statements.................................................................................................................................................................................. 5
5. What is Agile? ......................................................................................................................................................................... 6
6. Why do we use Agile in project?............................................................................................................................................. 7
7. Why we use agile models? ...................................................................................................................................................... 8
8. What is the Waterfall Model?................................................................................................................................................. 8
9. Why choose Agile over Waterfall?.......................................................................................................................................... 8
10. Functional Requirements: ....................................................................................................................................................................... 9
12. Slack ...................................................................................................................................................................................................... 28
13. GitHub ................................................................................................................................................................................................... 29
14. YouTube ................................................................................................................................................................................ 30
15. Gantt chart ............................................................................................................................................................................ 31
We use Mermaidv10.6.1 Live Editor for creating Gantt chart. ................................................................................................................... 31
Conclusion ....................................................................................................................................................................................................... 32
2
List of Figures
3
1: Abstract
• The project titled "Creating a Book Store Website" is a collaborative effort by team
members Yousf Jawhar Saeed, Mohammad Amin Sleman, and Sahar Hadi Qasim.
The primary objective is to design a captivating homepage that immediately grabs
the attention of visitors, possibly through a slideshow of notable book covers. The
homepage will prominently feature popular titles to entice visitors. Emphasis is
placed on user-friendliness, ensuring ease of navigation and straightforward access
to product categories. Books will be organized by genres such as "Mystery,"
"Romance," and "Science Fiction" for easy browsing. A search functionality will be
incorporated to facilitate users in finding books based on various criteria. Each
product page will have clear titles, detailed descriptions, and high- quality images.
The website will also introduce the bookstore staff with bios and personal
statements. A contact section will provide a form and essential contact details. In
conclusion, the website aims to encapsulate the essence of reading, highlighting its
magic and urging visitors to delve into the offered selection.
4
• Fantasy: A story that involves magic, supernatural elements, or imaginary worlds.
• Drama: A story that is serious and often deals with difficult emotions or situations.
• Comedy: A story that is intended to be humorous and make the reader laugh.
3. problem statements.
•"Security concerns among online shoppers have heightened, with many bookstore
websites lacking transparent and robust security measures, potentially deterring
potential buyers."
5
Key aspects that have been the focus of research include:
•User Experience (UX): Chaffey and Ellis-Chadwick (2019) stress the importance of an intuitive
interface, with efficient search capabilities and a seamless checkout process for online bookstores.
•Personalization and Recommendations: Algorithms that analyze user behavior to suggest books
enhance the shopping experience (Li & Karahanna, 2015).
•Digital Integration: The rise of e-books and audiobooks in online stores caters to diverse reader
preferences (Thompson, 2013).
•Security and Privacy: Ensuring robust security measures and clear privacy policies is pivotal for
online bookstores (Ho & Wu, 2019).
In essence, online bookstore platforms should prioritize user experience, personalization, digital
integration, and security to remain competitive.
References:
5. What is Agile?
Agile model believes that every project needs to be handled differently and the existing
methods need to be tailored to best suit the project requirements. In Agile, the tasks are
6
divided to time boxes (small time frames) to deliver specific features for a release.
Iterative approach is taken and working software build is delivered after each iteration. Each
build is incremental in terms of features; the final build holds all the features required by the
customer.
Agile development is important because it helps to ensure that development teams complete
projects on time and within budget. It also helps to improve communication between the
development team and the product owner. Additionally, Agile development methodology can
7
help reduce the risks associated with complex projects. It allows for development teams to
make changes quickly and easily without affecting the overall project timeline.
Because one advantage of agile methodology is that when companies take the time on the
front end to plan a project using agile techniques, they can estimate the cost of a project to
determine whether they should continue. Agile follows an iterative process where projects are
divided into sprints of a shorter span. Unlike the traditional approach, less time is spent on
upfront planning and prioritization as agile is more flexible in changes and specifications
developments. The Agile approach is incremental, Agile allows for modifications in project
development needs.
The Waterfall model is a traditional software development methodology where the project moves
through a linear and sequential approach, with each phase needing to be completed before moving
on to the next one. Starting from requirement analysis, proceeding to design, then to coding, testing,
and finally maintenance - the Waterfall model follows a strict progression of steps, one flowing
directly into the next.
•Flexibility vs. Rigidity: While the Waterfall model is systematic and structured,
it can be rigid. Once a phase is complete, it's difficult to go back and make changes.
Agile, on the other hand, is flexible, allowing for changes to be made even in the
development phase without disturbing the overall project timeline.
8
•Feedback and Iteration: In Agile, feedback is received after every iteration,
allowing for continuous improvement. In Waterfall,
feedback is usually reserved until the very end,
which can result in costly and time-consuming revisions if issues are found.
•Risk Management: Agile's iterative nature allows for risks to be identified and
addressed more frequently, reducing the chances of a project going off track.
In Waterfall, since the entire project is assessed at the end, there's a higher risk of the
project not meeting the desired requirements or going over budget.
•Time to Market: Agile allows for a working version of the software to be available
earlier in the process, allowing for faster deployment if necessary.
With Waterfall, the complete software is only available at the end of the lifecycle.
In conclusion, while both Agile and Waterfall have their advantages, Agile offers a more
flexible and adaptive approach, especially beneficial for projects where requirements
may change or evolve. It promotes collaboration, continuous feedback, and can lead to
a quicker time to market. However, it's important to note that the best methodology
often depends on the specific needs of the project and the organization.
• User Registration: Users should be able to register, creating a personal account with a
unique username and password.
• Search Functionality: Users must be able to search for books by title, author, genre, or ISBN.
• Book Details: Clicking on a book should display its details like cover image, synopsis, author,
reviews, and price.
9
• Shopping Cart: Users can add books to their cart and proceed to purchase.
• Payment Integration: Securely process user payments using credit cards, digital wallets,
or bank transfers.
• Order History and Tracking: Users can view their past orders and track shipments.
• Recommendation System: Offer book suggestions based on a user's browsing and purchase history.
Non-functional Requirements:
• Responsiveness: The website should be fully responsive, adapting to various devices like desktops,
tablets, and mobiles.
• Load Time: Web pages should load in under 3 seconds, ensuring a smooth user experience.
• Security: Data, especially payment details, must be encrypted. The platform should be protected
against potential threats and attacks.
• Scalability: The website should handle traffic spikes, especially during sales or promotional events.
• Backup and Recovery: Regular backups of the website data should be maintained,
with a clear recovery plan in case of data loss.
• User-Friendly Interface: The design should be intuitive, ensuring ease of navigation for all
users, irrespective of their tech proficiency.
Goal: To find and view details of books they are interested in.
10
Main Steps:
2.Search for Books: The customer uses the search bar to find books by title, author, or ISBN.
3.Browse Categories: Alternatively, the customer browses through different categories and genres.
4.View Book Details: On selecting a book, the customer views its details, including synopsis, author information, price,
Extensions/Exceptions:
Main Steps:
1.Select Books: The customer adds chosen books to their shopping cart.
2.Review Cart: The customer reviews their cart, making any adjustments if necessary (like changing quantity).
5.Payment: The customer selects a payment method and enters payment details.
6.Confirm Purchase: The customer reviews all details and confirms the purchase.
7.Receive Confirmation: The customer receives an order confirmation and a receipt by email.
Extensions/Exceptions:
Provide an option to save shipping and payment information for future purchases.
Main Steps:
Extensions/Exceptions:
If the customer forgets their password, provide a secure process to reset it.
Notify the customer of any changes or updates to their account via email.
This is our Use case diagram for our book store project
13
Sequence Diagram
https://showme.redstarplugin.com/d/d:UbsVfnj6
15
Design
Design, in the context of software and system development, refers to the process of defining the
architecture, components, interfaces, and other characteristics of a system or component. It is a
broad term that encompasses everything from user interface design to software architecture and
database design. The goal of design is to create a blueprint or a plan for what is to be built, ensuring
that the final product meets user needs and is feasible to develop within constraints like time,
budget, and technology.
Wireframe
A wireframe is a low-fidelity way of presenting a design. It's primarily used in the early stages of
website or application design. Wireframes are like the blueprints of a building, but for digital
interfaces. They provide a visual guide that represents the skeletal framework of a website or app.
Key characteristics include:
• Simplicity: They often consist of simple lines and shapes, representing elements like buttons,
images, and text blocks.
• Focus on Functionality: Wireframes are used to layout elements and functionality on a page
and demonstrate how users will interact with the interface.
• Lack of Stylistic Elements: They usually lack typographic style, color, or graphics, as the main
focus is on behavior, spacing, and prioritization of content.
16
This is our Wireframe for book store
17
Main page
18
Categories
19
Card and checkout page
20
Entity-Relationship Diagram (ERD)
21
This is our ERD
Link: https://app.creately.com/d/Kj9pQ8Loux9/edit
22
Architecture Diagram
An architecture diagram is a conceptual blueprint that defines the structure and behavior of a
system. It provides a visual representation of the system's components, their relationships, and how
they interact with each other. These diagrams are used in software engineering for planning and
conveying the architecture of software systems. Key features include:
• Components: Represent different parts of the system, such as databases, servers, clients, and
other processing units.
• Connectors: Show how components interact with each other, such as through APIs, data
flows, or message passing.
• Layers: Often, these diagrams are organized in layers, indicating different levels of abstraction
or different responsibilities (e.g., presentation layer, business logic layer, data access layer).
Architecture diagrams are crucial for ensuring that all stakeholders have a common understanding of
the system's structure and can be used to identify potential issues and dependencies early in the
development process.
23
This is our architecture diagram
Link: https://showme.redstarplugin.com/d/d:yzPoWzbM
24
Overview of Various Programming Languages
The realm of programming languages is vast and diverse, each language designed with specific purposes and
strengths. Common languages include Python, known for its simplicity and versatility, ideal for beginners and widely
used in data science and machine learning. Java, with its object-oriented approach, finds extensive use in enterprise-
level applications and Android app development. JavaScript, a staple for web development, runs on both client and
server sides, making web pages interactive. C++ offers a blend of high performance and efficiency, widely used in
software development, game development, and real-time systems. PHP, primarily used for server-side scripting, is a
cornerstone in web development, powering platforms like WordPress.
In contrast, languages like Swift and Kotlin are pivotal in mobile app development for iOS and Android, respectively.
Each language possesses unique features and libraries, shaping the landscape of software development across
various domains.
25
Online (Web-based) vs. Offline (Desktop) Software
Online, web-based software operates on a web server and is accessed via a web browser. This approach offers
significant advantages such as accessibility from any device with an internet connection, ease of updates and
maintenance, and often lower costs due to shared server resources. Web-based applications are inherently scalable
and can serve a broad user base with varying demands.
Offline, desktop software, on the other hand, is installed and runs on individual computers. This approach offers
benefits in terms of performance, as it leverages the computer's hardware, and security, as data is stored locally.
However, desktop applications face limitations in accessibility and higher costs in distribution and updating.
For the bookstore website, an online, web-based approach is chosen. The primary rationale is accessibility; users can
access the bookstore from any device with internet connectivity, which is crucial for reaching a wider audience.
Additionally, the online model aligns well with the evolving consumer preference for digital platforms for shopping. It
also simplifies the process of updating book inventories and other content without requiring end-user intervention,
ensuring the bookstore always presents current and relevant information.
26
Utilization of APIs in the Project
In this bookstore project, APIs are extensively used. For instance, payment gateway integration is achieved through
APIs provided by service providers like PayPal or Stripe. These APIs handle complex processes like secure payment
processing, transaction authorization, and data encryption, ensuring a safe and smooth transaction experience for
users. Additionally, book information, including summaries, reviews, and ratings, could be fetched from external
sources using APIs, enriching the content on the website without manual data entry.
The "Creating a Book Store Website" project represents a venture into the ever-evolving world of e-commerce
and digital content. As the digital landscape reshapes how consumers interact with content, particularly books,
this project aims to establish an online platform that not only sells books but also creates an immersive and
engaging experience for book lovers. The project's cornerstone is the development of a user-friendly, visually
appealing website that serves as a portal to a vast array of books across various genres.
The website aims to encapsulate the essence of reading and the joy it brings. It will feature an intuitive interface,
easy navigation, and a personalized user experience. From the latest bestsellers to timeless classics, the website
will cater to diverse reader preferences, ensuring every visitor finds something that resonates with their reading
taste. The project is not just about selling books; it's about building a community of readers, fostering a
culture of knowledge and imagination.
27
12. Slack
28
13. GitHub
29
14. YouTube
This is a screenshot of our YouTube and the link of our YouTube channel.
https://www.youtube.com/channel/UCxeA5DBU4LmnvUXihIxDVeA
30
15. Gantt chart
31
Conclusion
In summary, the bookstore website project stands as a testament to the fusion of technology and literature,
aiming to redefine the book-buying experience. By leveraging the right programming languages, embracing the
web-based approach, and utilizing APIs, the project is poised to deliver a platform that is not only functional and
efficient but also enriches the user's reading journey. The ultimate
32