PROFESSIONAL ACADEMIC STUDY RESOURCES WEBSITE +1 813 434 1028 proexpertwritings@hotmail.com
E-bookstore Management System
Description
E-bookstore Management System
Problem Statement:
The Great E-books Store requires a software application to enhance the customer experience and streamline internal operations. The critical requirements for the software application are as follows:
- E-book Management: The system should maintain a comprehensive catalog of the store’s 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 store’s 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.
Requirements:
- 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 program’s 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.
Submission Details:
- Submit **a report **(single PDF file) that has the following sections:
- UML Class Diagram and Description
- Python classes (copy-paste the code, NOT an image of the code). The code must be well documented and follow good coding standards.
- Github repository link, with the access made public:
- Ensure that your code is updated in GitHub.
- Ensure that you include the gradual progress of your work in the Github repository. The repository would indicate the cumulative progress of your work in the assignment.
- Summary of learnings