CiviCRM Event includes a shopping cart feature (if turned on in CiviEvent Component Settings).
A.) It has code for fee discounting (really only adding textbox to form) that is not functional so I 1). updated CiviDiscount to include shopping cart form as is done for regular Event Registration and 2.) added code to Cart/Form/Checkout module Payment.php to apply discounting to event prices.
B.) Cart also did not implement priceset defaults (e.g. if a price is required ), or add new contact name & email from 1st page (ParticipantsAndPrices.php)
C.) Finally, Cart is not inserting completed line items into civicrm_line_item table, only civicrm_contribution.
My time estimate applies to testing - I will submit a PR