E-bookstore Management System

 

E-book Management: The system should maintain a comprehensive catalog of the stores available e-books. Each e-book should have detailed information such as title, author, publication date, genre, and price.
Customer Management: The system should facilitate customer information management, including personal details like (name and contact information). Customers can browse e-books online, create an account, and purchase e-books. Upon purchase, they should receive an invoice with details of the order, e-book prices, and any applicable discounts or promotions.
Shopping Cart and Orders: The system should allow customers to add e-books to their cart, remove items, or update quantities. Orders should reflect the number of e-books and order date. E-books are delivered instantly upon purchase completion.
Discounts and Pricing: The system should support flexible pricing and discount options. The e-book stores loyalty program members receive a 10% discount on all purchases, and bulk purchases (5 or more e-books in a single order) receive a 20% discount.
Payment and Invoicing: Each order should generate an invoice detailing the itemized price, applicable discounts, and the final total. Value-added Taxes (VAT) at a fixed rate of 8% are applied to all purchases.

Design UML Class Diagram Design UML class diagram representing the concepts and relationships in the scenario. Ensure to use inheritance or association (aggregation and composition) relationships. You may make assumptions about attributes (with proper access specified) and concepts not explicitly mentioned in the problem statement. A clear description of the relationships, modularity, and assumptions must be included. All classes to meet the requirements must be identified (a minimum number of required classes is six (6)), and students are expected to demonstrate knowledge of different types of relationships.
Write Python Code to Implement Your UML Class Diagram Implement the Python classes based on your UML diagram. Make sure to:
Group the classes into different files for good modularity.
Use docstring, private/protected attributes, getter and setter methods, and a __str__() method for all classes.
Include comments and documentation to ensure good readability.
The submitted code must be error-free and have well-formatted output. Each student’s work will be unique in terms of the code and output.
Define Test Cases Write test cases in a separate file to demonstrate all the programs features. Ensure to test all features. Some examples of test cases are (not limited to):
Add/Modify/Remove a new e-book to the e-bookstore’s catalog.
Add/Modify/Remove customer account.
The addition of e-books to the shopping cart.
Applying discounts for loyalty program members or bulk purchases.
The generation of an invoice showing relevant discounts and required payments.

: Analyze and design software that map real-world entities and relationships using Unified Modelling Language (UML) notations.
: Create working object-oriented programs in a computer language that are well- structured, error free, and can solve computational problems.
: Communicate with a clear and precise style that is suited to an appropriate audience to produce well-documented code, design documents, and presentations that are readable and understandable.

This question has been answered.

Get Answer