A basic terminal-based e-commerce platform using Mediator, Template Method and Strategy Pattern.
Input
Product information (name, description, price, image, inventory)
User information (name, email, password, address)
Payment information (credit card, PayPal, cryptocurrency)
Output
Product listings and details
Order confirmation and payment receipt
Task Details
To manage communication between the products, users, and payments, the Mediator pattern is implemented.
To provide a standard process for displaying and purchasing products, managing user accounts, and processing payments, the Template method is implemented.
To allow users to choose between different payment methods, such as credit card, PayPal, and cryptocurrency, and to offer different discounts and promotions based on user preferences, the Strategy pattern is implemented.