-
Notifications
You must be signed in to change notification settings - Fork 0
PRD
The purpose of this document is to outline the requirements for the development of an online Book Store. The online book store aims to provide a user-friendly platform for customers to browse, search, purchase, and manage their book orders efficiently. The goal is to create a seamless and engaging shopping experience for book enthusiasts.
Our objective is to create a Book Store API. It will offer a large collection of books across various genres, including fiction, non-fiction and education. Customers will be able to create accounts, browse books, add them to their carts, make purchases, and view their orders. Store administrators will be able to manage book stock, orders and customer accounts. The system will also include a secure payment gateway.
The scope of the Book Store API includes the following functionality:
- Book Stock Management
- User Management
- Orders & Payments
- Email Notifications
Enjoys reading books regularly and discovering new books.
- She wants to be able to search for books by her favorite genre, author and rating.
- She expects to be able to manage her cart before purchasing and to receive email notification when she pays for an order.
- She expects to be able to manage her account details such as password, delivery address and delete her account if she so chooses.
Wants to be able to efficiently and easily manage the book store.
- She wants the ability to view lists of books, edit book entries, add new books to the store and update stock count.
- She wants the ability to sort by stock number, so she can see what books are low in stock.
- She wants the ability to manage customers and orders.
- She wants customers to receive email notifications.
- As a Book Store Admin, I want the ability to add new books, so I can have books for sale in line with trends in the bestseller charts and new releases.
- As a Book Store Admin, I want the ability to edit books so that stock information is up-to-date and correct.
- As a Book Store Admin, I want the ability to remove books if they are not selling.
- As a Book Store Admin, I want the ability to see which books are low in stock so that I can order new copies from suppliers.
- As a Book Store Admin, I want to see how many times a book has been sold so that I can gauge if it is successful.
- As a Book Store Admin, I want the ability to notify customers who have requested notifications for out-of-stock books when they become available again, so that it enhances the customer's experience.
- As a Bookworm, I want the ability to request notification when a particular out-of-stock book becomes available so that I do not have to keep checking the site manually.
- As a Book Store Admin, I want the ability to remove user accounts that may be spam so that I can protect the store.
- As a Bookworm, I want the ability to edit my account details such as delivery address and password so that I can keep my account up to date.
- As a Bookworm, I want the ability to recover my password in case I forget it so that I don’t get locked out of my account.
- As a Bookworm, I want the ability to delete my account if I choose to.
- As a Book Store Admin, I want to receive an email notification when an order is made so that I can fulfill the order and dispatch the book(s) to the customer.
- As a Book Store Admin, I want the ability to view orders so that I can process them.
- As a Book Store Admin, I want the ability to edit orders so that I can change a customer’s order status, i.e. in process, cancelled etc.
- As a Bookworm, I want to receive an email notification when I place an order so that I know that the order and payment is successful.
- As a Bookworm, I want the ability to add new books to my cart so that I can buy all the books I want.
- As a Bookworm, I want the ability to remove books from my cart before checkout so that I can be certain I only buy items I want.
- The API should be secure and protect against common web attacks.
- The API should have a 99.99% uptime.
- The API should be able to handle at least 1000 requests per second.
- The API should have a response time of less than 500ms.
- The API should support JSON requests and responses.
- Functional Operation: The core features of the API should operate seamlessly and in line with requirements.
- Performance and Speed: The API should provide fast response times, ensuring quick retrieval and processing of data.
- Security: The API should implement appropriate security measures to protect sensitive data, such as user credentials, payment information, and personal details.
- The API will have automated Unit tests and Integration tests.
- Security vulnerabilities will be tested for as per OWASP standards.
- The API will be tested for performance and scalability.
- Finalize API design and development plan.
- Implement key features (customer registration, stock management, secure payments).
- Conduct user testing and gather feedback.
- Launch the API and make it publicly available.
- Continuously monitor and improve the API based on user feedback and usage data.