Business Programming Project – Customer Transactions and Inventory Management
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
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.
