E ComerceSystem
E ComerceSystem
Leader:
Members:
E-Commerce System
Objective: Develop a system for managing an online store with products and orders.
Requirements:
• Classes and Objects: Implement classes for Product, Order, and Customer.
Features:
//Customer Class
class Customer {
private String name;
private String address;
// Interface
interface Discountable {
double getDiscountedPrice();
}
@Override
public double getDiscountedPrice() {
return getPrice() * 0.9;
}
@Override
public double getDiscountedPrice() {
return getPrice() * 0.95;
}
@Override
public double getDiscountedPrice() {
return getPrice() * 0.85; // Example: 15% discount for other
products
}
// Order class
class Order {
private static int orderCounter = 1;
private int orderId;
private Customer customer;
private List<Product> items;
public Main() {
availableProducts.add(new Electronics("iPhone 14", 999, "Apple"));
availableProducts.add(new Clothing("T-Shirt", 29.99, "M",
"Uniqlo"));
availableProducts.add(new Electronics("Samsung Galaxy S23", 899,
"Samsung"));
availableProducts.add(new Clothing("Jeans", 49.99, "L", "Levi"));
availableProducts.add(new OtherProducts("Book", 19.99, "Paperback
edition of a novel", "Generic"));
}
if (order.getTotalPrice() > 0) {
activeOrders.add(order);
System.out.println("Order placed successfully! Order ID: " +
order.getOrderId());
order.printInvoice();
System.out.println("-------------------------------------------
----------------------------");
} else {
System.out.println("No items selected. Order not placed.");
}
}
if (admin.authenticate(username, password)) {
System.out.println("Admin login successful!");
adminMenu(admin);
} else {
System.out.println("Invalid credentials. Access denied.");
}
}
public void adminMenu(Admin admin) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\nAdmin Menu:");
System.out.println("1. Add Product");
System.out.println("2. Remove Product");
System.out.println("3. Update Product");
System.out.println("4. Return to Main Menu");
System.out.print("Choose an option: ");
int choice = scanner.nextInt();
case 2:
System.out.println("Enter the product name to remove:
");
scanner.nextLine(); // Consume newline
String productName = scanner.nextLine();
Product productToRemove = null;
// Find the product to remove
for (Product product : availableProducts) {
if
(product.getName().equalsIgnoreCase(productName)) {
productToRemove = product;
break;
}
}
// Remove the product if found
if (productToRemove != null) {
admin.removeProduct(availableProducts,
productToRemove);
} else {
System.out.println("Product not found.");
}
break;
case 3:
admin.updateProduct(availableProducts); // Update
product details
break;
case 4:
return; // Return to the main menu
default:
System.out.println("Invalid choice. Please try
again.");
}
}
}
while (true) {
System.out.println("\nMain Menu:");
System.out.println("1. Place an Order");
System.out.println("2. Track an Order");
System.out.println("3. Admin Login");
System.out.println("4. Exit");
System.out.print("Choose an option: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
placeOrder(customer);
break;
case 2:
System.out.print("Enter the Order ID to track: ");
int orderId = scanner.nextInt();
trackOrder(orderId);
break;
case 3:
adminLogin();
break;
case 4:
System.out.println("Thank you for using the E-Commerce
System!");
return;
default:
System.out.println("Invalid choice. Please try
again.");
}
}
}