We are looking for a skilled WordPress / WooCommerce developer (or company) to customize our new WooCommerce website. Once the customer selects a customized art product on our website, they can record their audio using our audio recording script. A waveform image is then generated from the recorded audio which is then sent to our print vendor for printing. The audio recording and waveform generation script works fine, but we just need someone to integrate it into WooCommerce such that the generated waveform images can be viewed on the respective order detail pages in wp-admin.
***** Frontend *****
Visit https://audiowaveart.com/shop/canvas/, select product options (canvas size) and click the "RECORD WAVE" button. Note that one customer can order only one product (SKU) at a time. Product quantity is irrelevant.
You will be redirected to the multi-step checkout wizard. Record a short audio clip, select wave colours and click on the "Next" button. Now when you click on the "Next" button, 3 things should be saved to a new table in the WordPress database: Wave ID (integer), User ID (integer) and the digital data of the audio recording (binary 4196). The digital data of the recording is present in a JS variable called buffers (byte array). Note that the audio recording and waveform generation JS is completely client site and no server side processing is involved. Once those 3 things are saved to the database, the Wave ID should be returned and attached to the WooCommerce order (which is still in the cart as the order hasn't been captured yet).
If it's a returning customer, we need to make some provision to list existing recordings in the audio recording and waveform generation script so that the customer can select an existing recording. This will be great for customers who want to order different products (SKUs) but with the same recording / wave.
After clicking the aforementioned "Next" button, proceed to the payment gateway as usual. The order is captured once you click the "PLACE ORDER" button on the last page of the multi-step checkout wizard. You can abandon the checkout process at the payment gateway as the order would have been captured by then.
***** Backend *****
On the "Edit Order" page (in wp-admin), the Wave ID (integer) associated with the order needs to be displayed. On the same page, the waveform also needs to be displayed along with a "Download Wave" option, so that it can be downloaded and sent for editing / printing. drawHTMLCanvas(buffers); will draw the waveform if you use the existing audio recording and waveform generation JS which is present on the frontend in the checkout wizard.
Also, it will be great to have a HTML5 media player on the "Edit Order" page to listen to the recording.