A Solidity contract where the owner can add administrators. The owner and administrators can create products to sell. Users can purchase a product from the owners as long as there is enough stock. Once a product is purchased the owner can withdraw their funds.
If the owner is done selling the product, they can remove it from the system.