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

SRS Final

Uploaded by

Alish Poudel
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)
26 views19 pages

SRS Final

Uploaded by

Alish Poudel
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/ 19

Table of Contents

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

1.1 Category…………………………………………………………………………….1

1.2 Purpose of document……………………………………………………………...1

1.3 Product Scope ……………………………………………………………………..1

1.4 Value to Customer………………………………………………………………… 2

1.5 Product Description………………………………………………………………...3

2. Methodology……………………………………………………………....4

2.1 Use Case Diagram………………………………………………………….4

2.2 Data Flow Diagram ………………………………………………………………5

3. Functional Requirements……………………………………………….6
3.1 User Registration and Authentication……………………………………...6

3.2 User Profile Management…………………………………………………...6

3.3 Book catalog Management………………………………………………….6

3.4 Book Search and Filtering…………………………………………………..6

3.5 Shoping Cart Management………………………………………………….6

3.6 Order Placement and Processing…………………………………………..7

3.7 Payment Integration ………………………………………………………….7

3.8 User Review and Ratings……………………………………………………7

3.9 Admin Dashboard and Reporting…………………………………………...7

3.10 Responsive User Interface…………………………………………………7


4. Non-Functional Requirements………………………………………….7

4.1 Performance………………………………………………………………….7

4.2 Security………………………………………………………………………..8

4.3 Reliability………………………………………………………………………8

4.4 Usability………………………………………………………………………..8

4.5 Compatibility…………………………………………………………………..8

4.6 Maintainability………………………………………………………………………8

5. Interface Requirements ………………………………………………………...8

5.1 User Interface………………………………………………………………….8

5.2 Authentication and Authorization Interface…………………………………8

5.3 Payment Gateway Integration………………………………………………..8

5.4 Database Interface…………………………………………………………….9

5.5 External APIs and Services…………………………………………………...9

5.6 File and Image Uploads………………………………………………………..9

5.7 Email and Notification Interfaces……………………………………………..9

6.Software Requirement……………………………………………………………10

7.Hardware specifications………………………………………………………….11

7.1 Server…………………………………………………………………………….11

7.2 Database server…………………………………………………………………11

7.3 Client Devices……………………………………………………………………11


8.Design Constraint……………………………………………………………………11

8.1 Technology stack………………………………………………………………….11

8.2 Compatibility……………………………………………………………………….11

8.3 Responsive Design………………………………………………………………..11

8.4 Security……………………………………………………………………………..11

8.5 Scalability…………………………………………………………………………...12

8.6 Performance Optimization…………………………………………………………12

8.7 Accessibility…………………………………………………………………………12

9.Preliminary Schedule and Budget………………………………………………….12

9.1 Project Timeline…………………………………………………………………….12

9.2 Budgetary Considerations…………………………………………………………13

9.3 Resource Allocation………………………………………………………………..13

9.4 Milestone and Deliverables………………………………………………………..13

9.5 Cost Management………………………………………………………………….14

10.Appendices……………………………………………………………………………15

● References………………………………………………………………………..15
● Appendix A…………………………………………………………………………15
● Appendix B…………………………………………………………………………15
● Appendix C…………………………………………………………………………16
● Appendix D ………………………………………………………………………...16
1. INTRODUCTION

1.1 Category

The online Bookstore is a web application that falls under the category of
e-commerce platforms. It is specifically designed to facilitate the buying and selling
of books online. Users can access the Online Bookstore through a web browser on
their desktop computers, laptops, tablets, or mobile devices. The web application
provides a user-friendly interface for browsing, searching, and purchasing books
from a vast catalogue.

1.2 Purpose of this Document

The purpose of this document is to provide a comprehensive overview and outline


the software requirements for the development of an online bookshop store using the
MERN (MongoDB, Express.js, React.js, Node.js) stack. This Software Requirements
Specification (SRS) serves as a vital communication tool between the stakeholders
involved in the project, including the client, development team, and any other parties
involved.

The primary objectives of this document are as follows:

1. Clearly define the functional and non-functional requirements of the online


bookshop store.
2. Establish a common understanding between the stakeholders regarding the
scope and objectives of the project.
3. Serve as a reference for the development team during the software
development lifecycle.
4. Facilitate effective communication and minimise misunderstandings or
ambiguities.

1.3 Product Scope

The main objective of the online book store is to create an e-commerce platform
where customers can browse, search, and purchase books online. The system
should provide a user-friendly interface, secure payment options, efficient order
processing, and personalised recommendations to enhance the overall customer
experience. It aims to streamline the book purchasing process, making it convenient
and accessible for customers.

1
1.4 Value to Customers

The online book store provides several values to customers:

1. Convenience: Customers can browse and purchase books from the comfort of
their homes or any location with internet access, eliminating the need to visit physical
bookstores.

2. Wide Selection: The online store offers a vast collection of books, including
various genres, authors, and editions, providing customers with a diverse range of
options to choose from.

3. Easy Search and Discovery: Customers can easily search for specific books,
explore different categories, and discover new titles based on their interests,
enhancing the book discovery process.

4. User Reviews and Ratings: Customers can read reviews and ratings from other
users, helping them make informed decisions and choose books that align with their
preferences.

5. Personalised Recommendations: The system can provide personalised book


recommendations based on customers' browsing history, purchase patterns, and
interests, enabling them to discover relevant books tailored to their preferences.

6. Secure Transactions: The online book store ensures secure payment options,
protecting customers' sensitive information during the checkout process, and
providing a safe and trustworthy shopping environment.

The limits of the system include the online purchasing and management of books
within the defined scope. It does not cover physical bookstores and offline
transactions. The system is intended to operate within the limits of the web
application and does not extend to mobile applications or other platforms unless
specified within the scope.

2
1.5 Product Description

The proposed Online Bookstore system is a web application that offers several
advantages over the traditional methods of purchasing books. Here are some key
points highlighting how the proposed system is better than the existing system:

Existing System:
1. Limited book selection and availability.
2. Users need to physically visit bookstores or browse multiple online
marketplaces.
3. Inconvenient and time-consuming searching and browsing process.
4. Lack of detailed book information, customer reviews, and ratings.
5. Manual tracking of order history and status.
6. Insecure transactions and potential privacy concerns.
7. Limited personalization and recommendation features.
8. Lack of efficient order processing and notifications.
9. Limited administrator management capabilities.

Proposed System:
1. Vast book catalogue with a wide range of genres, authors, and publications.
2. Online access from anywhere, eliminating the need for physical visits.
3. Advanced search and filtering options for quick and targeted book discovery.
4. Detailed book descriptions, author biographies, customer reviews, and
ratings.
5. Personalised user experiences with registration, wish lists, and
recommendations.
6. Secure online transactions with encrypted payment gateways.
7. Efficient order processing, tracking, and notifications.
8. Comprehensive administrator management features for book catalogue, user
accounts, and orders.

3
2. Methodology

The methodology refers to the approach or set of procedures used to gather,


analyze, document, and manage the requirements for a software project. It outlines
the systematic way in which the SRS document is created and maintained
throughout the website development cycle.

2.1 Use Case Diagram for Online Bookstore

4
2.2 Data Flow Diagram for Online Bookstore

5
3. Functional Requirements

Functional requirements outline the specific outcomes and effects that the software
system, the online bookshop store, should achieve when it is operational. These
requirements encompass various aspects of the system's functionality, including
calculations, data processing, user interactions, and more. The following functional
requirements are presented in a ranked order:

3.1 User Registration and Authentication:


● Users should be able to create new accounts with a unique username and
password.
● The system should validate the uniqueness of usernames during registration.
● Users should be able to log in securely using their credentials.

3.2 User Profile Management:


● Registered users should have the ability to view and edit their profile
information, including name, contact details, and preferences.
● Users should be able to upload a profile picture if desired.

3.3 Book Catalog Management:


● The system should allow administrators to add new books to the catalogue
with details such as title, author, description, cover image, and price.
● Books in the catalogue should be categorised by genre and have appropriate
metadata associated with them.
● The system should support the editing and deletion of books from the
catalogue by administrators.

3.4 Book Search and Filtering:


● Users should be able to search for books based on titles, authors, genres, or
keywords.
● The search results should be displayed in a relevant and organised manner.
● Users should have the ability to apply filters to refine search results by criteria
such as genre, author, price range, etc.

3.5 Shopping Cart Management:


● Users should be able to add books to their shopping cart, view the cart's
contents, and modify the quantity of books.
● Users should have the option to remove books from the shopping cart if
desired.

6
● The system should calculate the total price of the items in the shopping cart
accurately.

3.6 Order Placement and Processing:


● Users should be able to proceed to the checkout process to place an order
securely.
● The system should generate an order confirmation with a unique order ID for
each transaction.
● Order details should be saved in the system for future reference and tracking.

3.7 Payment Integration:


● The system should integrate with popular and secure payment gateways to
facilitate online transactions.
● Users should be able to select their preferred payment method, such as credit
cards, debit cards, or digital wallets.

3.8 User Reviews and Ratings:


● Users should have the ability to rate and write reviews for books they have
purchased.
● The system should display average ratings and user reviews for each book.

3.9 Admin Dashboard and Reporting:


● Administrators should have access to a dashboard for managing the book
inventory, user accounts, and orders.
● The dashboard should provide comprehensive reporting capabilities, including
sales analytics and book popularity.

3.10 Responsive User Interface:


The user interface should be responsive, ensuring a consistent and
user-friendly experience across different devices and screen sizes.

4. Non-Functional Requirements

Non-Functional requirements encompass the criteria and constraints that shape the
performance and user experience of the MERN stack e-commerce bookstore
website. They ensure that the system operates efficiently, maintains data security,
and delivers a seamless and user-friendly interface. The following non-functional
requirements have been identified for the system:

4.1 Performance: The website should respond quickly to user interactions,


minimising loading times and ensuring smooth navigation throughout the application.

7
4.2 Security: Robust measures should be in place to protect user data, including
encryption of sensitive information and secure authentication protocols.

4.3 Reliability: The system should be highly available and resilient, minimising
downtime and recovering smoothly from any failures or errors.

4.4 Usability: The user interface should be intuitive, with clear navigation, logical
organisation of content, and support for accessibility standards to ensure a positive
user experience.

4.5 Compatibility: The website should be compatible with different web browsers
and devices, providing a consistent experience across various platforms.

4.6 Maintainability: The system's codebase should be modular, well-documented,


and easy to maintain, facilitating future updates and enhancements.

5. Interface Requirements

Interface requirements describe how the software program, in this case, the online
bookshop store, communicates with other software components, external systems,
and users. These interfaces facilitate data exchange, system integration, and user
interactions. The following interface requirements are outlined:

5.1 User Interface (UI):


- The user interface should be intuitive, visually appealing, and responsive,
providing a seamless experience across different devices and screen sizes.
- User interactions should be straightforward and self-explanatory, with clear
navigation and appropriate feedback.

5.2 Authentication and Authorization Interfaces:


- The system should integrate with authentication services to verify user
credentials securely.
- User authentication should be performed through encrypted channels to protect
sensitive information.
- The system should enforce proper authorization levels to restrict access to
certain functionalities and data based on user roles (e.g., customer, administrator).

5.3 Payment Gateway Integration:


- The online bookshop store should integrate with external payment gateways
(e.g., eSewa, Khalti) to process online payments securely.
- Payment gateways should provide appropriate APIs or SDKs to facilitate
seamless integration and ensure secure transaction handling.

8
5.4 Database Interface:
- The system should interact with a MongoDB database for storing and retrieving
data related to books, users, orders, and other relevant entities.
- The database interface should utilise appropriate libraries, or an
Object-Document Mapping (ODM) tool, such as Mongoose, to interact with the
MongoDB database.

5.5 External APIs and Services:


- The system may integrate with external APIs or services to enhance functionality,
such as retrieving book metadata, managing shipping information, or sending email
notifications.
- APIs and services should be properly authenticated and accessed securely using
tokens, keys, or other authentication mechanisms.

5.6 File and Image Uploads:


- The system should provide functionality for users and administrators to upload
images, such as book covers or user profile pictures.
- Appropriate file upload interfaces and protocols should be implemented to handle
file storage and retrieval securely.

5.7 Email and Notification Interfaces:


- The system may send email notifications to users for order confirmations,
shipping updates, or account-related notifications.
- Email services or APIs should be integrated to facilitate the sending of
transactional emails securely and reliably.

These interface requirements ensure that the online bookshop store can effectively
communicate with users, external systems, and data sources, enabling smooth
interactions and data exchange. Proper integration and adherence to interface
standards will contribute to the overall functionality and usability of the system.

9
6. Software Requirement

The development process of the Online Bookstore using the MERN stack will involve
various software tools. Here are the key software tools typically used in each
component of the MERN stack:

● MongoDB:
A NoSQL document database used for storing and retrieving data in
JSON-like documents.

● Express.js:
Express.js is a fast and minimalist web application framework for Node.js that
simplifies the development of web applications and APIs.

● React.js:
React.js is a JavaScript library for building user interfaces, specifically
focusing on creating interactive UI components and managing component state.

● Node.js:
Node.js is the runtime environment for executing JavaScript code on the
server-side.

● Additional Tools:

- Visual Studio Code: A popular source code editor with support for JavaScript and
web development.
- Git: A distributed version control system for tracking changes in the codebase
and collaborating with other developers.
- GitHub: Online platforms for hosting and managing code repositories and
facilitating collaborative development.
- npm (Node Package Manager): A package manager for Node.js that allows the
installation and management of third-party libraries and dependencies.
- Postman: A tool for testing and documenting APIs during development.

These software tools provide the necessary infrastructure and development


environment to build, test, and deploy the Online Bookstore system using the MERN
stack. However, specific tool choices may vary depending on the preferences and
requirements of the development team.

10
7. Hardware Specifications:

Here are the general hardware requirements for developing the system:

7.1 Server:
1. Processor: 2 GHz or higher
2. RAM: 2GB or more.
3. Storage: 2GB or more.

7.2 Database Server:


1. Processor: 2 GHz or higher
2. RAM: 2GB or more.
3. Storage: 2GB or more

7.3 Client Devices:


1. Processor: Minimum 1GHz or more.
2. RAM: 2GB or more.
3. Storage: 1GB or more.

8.Design Constraints

The design and implementation constraints of the online book store system are as
follows:

8.1 Technology Stack: The system will be developed using the MERN (MongoDB,
Express.js, React.js, Node.js) stack, imposing a constraint on the choice of
technologies and frameworks.

8.2 Compatibility: The system needs to be compatible with different web browsers
(e.g., Chrome, Firefox, Safari) and devices (desktop, tablets, mobile) to ensure a
consistent user experience across platforms.

8.3 Responsive Design: The user interface should be designed to be responsive,


adapting to different screen sizes and resolutions to provide optimal usability on
various devices.

8.4 Security: The system must implement robust security measures to protect user
data, prevent unauthorised access, and ensure secure transactions during payment
processing.

11
8.5 Scalability: The design should consider scalability to accommodate potential
growth in the user base and book inventory, allowing the system to handle increased
traffic and data volumes effectively.
8.6 Performance Optimization: The system should be optimised for efficient
performance, minimising loading times and providing a seamless browsing and
purchasing experience for users.

8.7 Accessibility: The system should follow accessibility standards and guidelines
to ensure that users with disabilities can access and use the platform effectively.

9. Preliminary Schedule and Budget

The preliminary schedule and budget outline the estimated time duration and cost
required for the development of the online bookshop store. These estimates provide
an initial understanding of the project timeline and financial resources needed. It's
important to note that these estimates are subject to change based on the
complexity of the project and the specific requirements. The following details are
provided:

9.1 Project Timeline:


- The development of the online bookshop store is estimated to take
approximately 2 months, considering the scope of work and anticipated
features.
- The timeline includes various phases such as requirements gathering, design,
development, testing, deployment, and potential iterations.

12
9.2 Budgetary Considerations:
- The budget for the project is estimated to be Rs 2,00,000 and covers
expenses associated with development, third-party services, deployment and
other project-related costs.
- The budget may need to be revised as the project progresses and more
detailed cost assessments are made.

9.3 Resource Allocation:


The team may consist of frontend and backend developers, UI/UX designers,
database administrators, and project managers.

9.4 Milestones and Deliverables:


- Milestones and deliverables will be identified throughout the project timeline to
ensure progress tracking and accountability.
- Examples of milestones may include completion of the requirements
document, user interface design, backend development, integration of
payment gateways, testing phases, and the final deployment of the online
bookshop store.

13
9.5 Cost Management:
- A cost management plan will be established to track expenses, monitor
budget utilisation, and identify any potential cost overruns.
- Regular reviews and updates will be conducted to ensure effective budget
management and alignment with project objectives.

14
10. Appendices

References

1. Johnson, M. (2019). "Web Development with MERN Stack."


2."SRS Document for Online Bookstore System" by N. Akansha, S. Anitha, and S.
Mohanasundari:
3."Online Bookstore System Requirement Specification" by Razi Institute of IT, Banur
4.A Beginner Overview of Personalised Recommendation by Louis wang

Appendix A: Definitions

1. User Authentication: The process of verifying the identity of a user attempting to


access a system or application by validating their credentials, such as username and
password.
2. Shopping Cart: A virtual cart that allows users to collect and manage items they
wish to purchase in an online store before proceeding to checkout.
3. API (Application Programming Interface): A set of rules and protocols that enable
different software applications to communicate and interact with each other.
4. IDE (Integrated Development Environment): A software application that provides
comprehensive tools and features to facilitate software development, including code
editing, debugging, and project management capabilities.

Appendix B: Acronyms and Abbreviations

- MERN: MongoDB, Express.js, React.js, Node.js


- IDE: Integrated Development Environment
- API: Application Programming Interface
- HTTPS: Hypertext Transfer Protocol Secure
- RAM: Random Access Memory
- SSD: Solid-State Drive

Appendix C: Frameworks and Libraries


1. MongoDB: A document-oriented NoSQL database.

15
2. Express.js: A web application framework for Node.js.
3. React.js: A JavaScript library for building user interfaces.
4. Node.js: A JavaScript runtime environment for server-side development.
5. Visual Studio Code: A popular source code editor.
6. Git: A distributed version control system.
7. Postman: A tool for testing and documenting APIs.

Appendix E: Diagrams and Visuals


- Use Case Diagram
- Data Flow Diagram
- Project Timeline

16

You might also like