Business Programming Project – Customer Transactions and Inventory Management
Need help with this assignment?Get an original answer from a qualified tutor — from $10/page.
Get it written →Business Programming Project – Customer Transactions and Inventory Management
The objective of this project is to design and implement a Python program that simulates customer transactions and inventory management for a business. Students will practice object-oriented programming concepts by creating classes for customers, products, transactions, and additional features like a reward program and service contracts. The program will allow users to interactively manage customer profiles, add and track products, conduct transactions, and generate itemized receipts.
Requirements:
Part 1: Class Definitions
1. Product Class (Base Class):
– Attributes:
– `product_id` (string): A unique identifier for the product.
– `product_name` (string): The name of the product.
– `price` (float): The price of the product.
– `quantity_in_stock` (int): The quantity of the product in stock.
– Methods:
– Constructors, mutators (setter methods), and accessors (getter methods) for the attributes.
– `reduce_stock(quantity)` method to decrease the quantity in stock when a product is sold.
2. ServiceContract Product Class (Inherits from Product):
– Additional Attributes:
– `contract_start_date` (string): The start date of the service contract.
– `contract_end_date` (string): The end date of the service contract.
3. Customer Class (Base Class):
– Attributes:
– `customer_id` (string): A unique identifier for the customer.
– `customer_name` (string): The name of the customer.
– `email` (string): The email address of the customer.
– Methods:
– Constructors, mutators (setter methods), and accessors (getter methods) for the attributes.
4. RewardCustomer Class (Inherits from Customer):
– Additional Attributes:
– `reward_points` (int): The number of reward points earned by the customer.
– `reward_level` (string): The reward level (e.g., Silver, Gold) of the customer.
– Methods:
– Constructors, mutators (setter methods), and accessors (getter methods) for the additional attributes.
– `earn_reward_points(points_earned)` method to update reward points.
– `upgrade_reward_level()` method to upgrade the reward level based on points.
5. Transaction Class:
– Attributes:
– `transaction_id` (string): A unique identifier for the transaction.
– `customer_id` (string): The ID of the customer who made the transaction.
– `products_purchased` (list): A list of products purchased in the transaction.
– `transaction_date` (string): The date and time of the transaction.
– Methods:
– Constructors, mutators (setter methods), and accessors (getter methods) for the attributes.
Part 2: Program Implementation
1. Initialize empty lists to store customers and products.
2. Implement the following functions for user interactions:
– Add a new customer (both regular and reward program customers).
– Add a new product (both regular and service contract products).
– Display customer details.
– Display product details.
– Run a transaction:
– Select a customer for the transaction.
– Add one or more products to the transaction.
– Ask if the customer wants to join the reward program and upgrade their customer profile if required.
– Ask if the customer wants a warranty for products and update product information if needed.
– Generate an itemized receipt for the transaction, including individual product details and the total cost.
3. Implement a main program loop that allows users to choose from the above options until they choose to exit the program.
Grading Criteria:
Correct implementation of class definitions, attributes, constructors, mutators, and accessors.
– Proper use of inheritance to create derived classes.
– Accurate implementation of methods for calculating and updating reward points and levels.
– Correct management of inventory through the reduction of product quantities.
– Successful implementation of user interaction functions for adding customers, products, and conducting transactions.
– Generation of itemized receipts with accurate product details and total cost.
– All error handling.
– Proper program structure and organization, including comments and clear user prompts
Requirements: No limit
Get a plagiarism-free answer to this question
Send us your instructions and we’ll match you with the best writer in your subject.
- 100% human-written, zero AI
- Turnitin report included
- Confidential — we never share your data
- Free revisions & refunds