Before you buy any additional extension make sure it is not included in the theme itself.
If de demo data is enough. You might not need any more plugins. Every customer will have different needs so there also might be a case you might need one of those plugins:

Divi Ecommerce Themes

  • https://avanti.markhendriksen.com/home-page-shop/
  • https://demo.diviextended.com/divi-cart/
  • https://www.elegantthemes.com/marketplace/divi-ecommerce/
  • https://diviecommercepro.aspengrovestudio.com/
  • http://berry.mzcreativestudio.com/

Mega Menus (paid)

Groovy Mega Menu – Responsive Mega Menu Plugin for WordPress
Divi Life – Divi Mega Pro

For custom product price calculation (paid)

Uni CPO 4 allow any product calculation on the product page.

Custom URL for TPO – adds custom URLs for each product.

Read more on CPO plugin here:

Ship rate by distance (paid)

Requires Google API to work.

Shipping Rate by Distance

Product Filter (free)

For product page filter working with Divi builder (free):

Variation image galery

variation for WooCommerce (free / paid):
– free up to three images per variation
Additional Variation Images Gallery for WooCommerce

Variation Image Gallery PRO
https://getwooplugins.com/plugins/woocommerce-variation-gallery/

Swatches

Variation Swatches for WooCommerce (free / paid): Paid – PRO url
This plugin allows you to enhance color-swatches for your products.

Variation Duplicator (free)
https://getwooplugins.com/plugins/variation-duplicator-for-woocommerce/

Booking plugin

Amelia Plugin

Payment Getaway

PayU Payment Gateway (plugin free) – customer register fee = 200 zł
Dotpay Pyment Gateway (free plugin) 10 zł
przelewy24.pl Payment Gateway (free plugin) 1,5 zł
Tpay Payment Gateway (free plugin)

Other useful resources/tutorials:

Divi Ecommerce Web Design Tutorial

Elegant Themes Blog – Build custom product page design

Elegant Themes Blog -: Product variation in Divi

Calculate price without a plugin (no plugin):

If you dont want to add more plugin to your webssite you can incorporate custom product fields manually.
Here are some usefull articles to get yu going:

https://www.cloudways.com/blog/add-custom-product-fields-woocommerce/

https://stackoverflow.com/questions/52043316/cart-item-price-calculation-based-on-different-basic-prices-in-woocommerce

https://wisdmlabs.com/blog/guide-to-finding-appropriate-hooks-in-a-wordpress-theme-or-plugin/

https://stackoverflow.com/questions/29866272/adjust-price-if-addons-are-set

Exploring the native WP filters / class search:

https://developer.wordpress.org/reference/

WooCommerce documentation:

General: https://docs.woocommerce.com/document/introduction-to-hooks-actions-and-filters/
API: https://woocommerce.github.io/code-reference/index.html
Code / Hooks: https://woocommerce.github.io/code-reference/hooks/hooks.html