A custom ecommerce website using NodeJS, AngularJS and ArangoDB

A custom E-Commerce website for a PC Building Company. Needed to be responsive, great looking and feature a single page app so customers can configure their own gaming PC, using hundreds of different components. As the company logo wasn't up to scratch, I had a lot of fun designing the company branding and design language too.

This project grew over the course of 18 months, with the main focus on the usability of the PC builder and the continual improvement of the overall user experience. Hitting well over 25,000 sessions a month the website features a number of time saving automations, promotional tools and a custom CMS.

The site is run off a custom rack mounted server, which includes a 22 Core Intel Xeon and SSD raid, hosted in a state of the art colocation suite with 24/7 monitoring. I was chosen for this project as I am as comfortable installing and configuring hardware, as I am designing the UX.

Using an Nginx web server in front of a clustered NodeJS service, the site is assisted by a lightning quick ArangoDB JSON based database. Speed and stability are never an issue, however the services were stress tested before going live, to ensure the performance isn't affected under extreme loads.

Notable Features

The PC Builder

This is a single page app utilising the dynamic abilities of AngularJS, with product data served from the custom Node based API. Along with a complex rules system and automatic product filtering, customers can piece together compatible hardware, to get the specification they want.

The fully manageable rules system let's the customer know if a case is too small, or graphics card is too long, ensuring the PC can be built problem free. Checkout is hidden if any item is incompatible, and the customer informed how to fix it.

Once they've completed the simple checkout process, the component list is passed to the build team.

Custom CMS

As well as back end product, rules and promo code management tools, the site had a requirement for promotional content. This not only served as informational pages to advertise the range of PCs the company sold, it also dramatically improved the site's presence on Google.

SEO is obviously a large part of all website projects, however with intense competition in the PC industry with well established brands, the CMS had to include a full suite of SEO tools to make sure that the marketing team could easily produce striking pages, that Google loved too.

Using jQuery and the awesome contenteditable attribute, I produced a website editor that is simple to use and creates stunning, fully responsive designs with just a few clicks.

Pre Designed PCs

Along with custom PCs, the company also sells their own designs. Using a similar rule set to the PC builder, the components can be auto selected by the server when a customer looks at a specific build.

The product managers just need to create a set of specifications for a particular range of PCs, and the website takes care of the rest.

This means the PCs don't need to be pre-built and sat on shelves. Which not only saves the company time, it also saves space as they don't need to hold stock. Components can be ordered, and the PCs built as and when they're needed.

Additional Features

Product Feeds

To help with warehouse space, the project took advantage of the distributors drop shipping services. They provided up to date product prices and stock levels via an FTP hosted file.

A service was created to download these files every hour, which then updated prices and availability of the products listed on the site.

No stock, cheaper overheads, great prices.

Asset Creation

To assist with the content management system and social media, I provided all the artwork for the website pages, promotions and magazine adverts.

Using supplied artwork from manufacturers, or creating my own designs, I successfully supplied a constant stream of high quality artwork in a number of different media formats, from high DPI print ready vector files, to fully optimised PNGs.

Server Maintenance

During the life of the website, I was needed for routing maintenance, renewing SSL certificates, fixing bugs and database management

Google Shopping and Adwords

Integrating Google's promotional tools like Google Shopping and Google Adwords was a major part of the project.

About Me
Packages and Pricing
Contact Me
All Site Content
[email protected]