For data model, I recommend to check out the Moqui data model-mantle udm(universal data model). It looks complicated but is good for future expand.
For example, product price can be put in seperate productPrice table, so you can record prices of different time period by defining fromDate, thruDate. Images, warnings, terms and conditions, warranty, specification, meta keywords, meta descriptions… can be put in seperate productContent.I am trying to get myself familiar to it and it looks great. Some introduction of the data model can be found in the PDF file in moqui.org homepage, mantle-udm can be found on github. It might be helpful for your reference.






















