Visit the Websites

(This project included 4 separate websites)

Tech Specs:

Heavily-engaged WooCommerce Integration.
Advanced Integration of WooCommerce Product Add-ons (including adding custom weights to individual addons, so that realtime rates could be calculated properly)
Gravity Forms for both basic contact information & email routing.
JSON & XML manipulation for migration of 15,000+ products, 100,000+ orders, and 5,000+ user accounts.

Premise:

Set of four eCommerce websites for a leading tech-hardware supplier in North Carolina, selling goods nationally and internationally.

Each website was created to represent different niches of the parent brand “Ironbox.” The only main difference between all 4 sites was to be phrasing/imagery, primary branding colors, and product selections.

They were previously built on an outdated ecommerce platform called NOPCommerce, and so they needed their inventory of products migrated over as well, into WooCommerce.

That was, arguably, the largest part of the project, was the migration, because it needed to be done in a way that was automated, otherwise I would’ve been migrating (by hand) over 15,000 products, containing over 100,000 different variations within a mix of simple products, variable products, and products with product add-ons. We actually ended up having to move them to their own dedicated server during migration, because the script was so resource heavy. There was also a requirement to migrate tens of thousands of orders across the four sites, as well as few thousand user accounts. So everything had to be migrated in a way that kept things like order history linked to users’ accounts.

To be clear, upfront, and make sure credit is shared: While I did build the stores themselves, and implement the required functionalities, the import side was a pair-effort with shared programming work from a coworker. He had a major hand in getting the gears rolling on converting the XML feed into JSON, and then figuring out how to then feed that into WooCommerce in a way that it would capture every bit of data that we could. Then part way through that process, I was given back the baton, to finish it off and then make adjustments to the code based on client feedback, fix bugs, and run it across the other sites, etc.

At first, an attempt was made to hire a third party company to do the export/import, because they claimed to have a way to migrate NOPCommerce to WooCommerce.

However, those claims turned out to be false. What was given back from the other company was an absolute mess. All of the variations had no unique prices assigned, products were uncategorized, product add-ons were all converted to checkboxes, they had skipped over the fact that changing variations/addons sometimes changes the cart item weight, etc. So we needed to fix that to make the client & budget whole.

It ended up needing to be almost-fully redone. All that was able to be used from the other company was the fact that they had imported product titles, images, and basic descriptions.

In the end, it got finished by a coworker and I teaming up to get an XML dump of their previous databases, translating that to JSON, and then a script was written to feed the JSON into WooCommerce, iterating through every possible type of product (and subsequent variation, add on, price change, weight change, etc.) to have our script build the products using WordPress’s built-in programming to feed the data where it needed to go.