Hello,
I can do this matching the exact specifications on your image. I strongly recommend not designing the database like you said : it's lazy database design to have a field "data" with a bunch of unstructured information as JSON or serialized array, I really suggest we do things correctly as it will save A LOT of work, time, and pain from future developments. How I see it there are there tables with this structure :
- product (id, name)
- size (id, title, description, image, overlay_image, price, product_id)
- group (id, name, image, description, product_id)
- level (id, name, image, description, type, group_id)
- level_option (id, name, thumbnail, overlay_image, type, price)
- option_selection (id, title, image, overlay_image, level_option_id)
- option_selection_size (option_selection_id, size_id, price)
if that seems like too much work, just try to imagine handling the data inside a single "product_data" json field without the ability to make join SQL queries, trust me, I've been there, it's a bad idea to try to save time on database design like this.
If you like what I say, I would be glad to do this work for you for the indicated price.