What is the purpose of this website?
Artists Name Plates is a simple website that showcases custom made name plates that are added to the frame of a painting. The website also allows users to order their bespoke made plates.
A video highlighting the difference between the old site and the new one
Original website built in 2013
2013 was an important year for my family. My parents were just starting their new company, and I had just started getting into the world of programming websites using PHP (a big upgrade from using Dreamweaver).
These were particularly dark days, before I knew what a debugger was, or what the difference between Javascript and jQuery was.
I was young and ready to start my first real project. My brother, who was an aspiring graphic designer, had designed and built a simple static brochure website for Artists Name Plates. The business would take orders either through eBay or by email. I knew this process could be improved if they had an online order form. So I started working, with my new PHP skills, on building the form.
The form was a complete hack job and a good reason why I never want to look at PHP again. I made a lot of basic mistakes, but I also learnt a lot.
What was wrong with the website?
Apart from the rubbish spaghetti code which ran the website, there were a number of glaring issues:
- the content and prices hard coded
- the order form was ugly
- the order form didn't really check user input
- the website wasn't mobile friendly
Website rebuild in 2018
The old website landed me a job at GrowCreate in 2014 which let me hone my web development skills. I learnt how to use C# with the .NET Framework, and how to build scalable websites using Umbraco CMS.
Therefore, the new website was going to be built with these technologies.
After a multiple redesigns, and different technology switches (from Backbone, to Angular, back to simple jQuery), I finally released the finished website in November of 2018.
What was fixed?
- the content, pages and prices can be edited in Umbraco CMS
- the order form was improved and made prettier
- user input is now properly checked on both client and server side
- the website is now mobile friendly
What did I learn? Reflecting on the project
I'm a bit of a perfectionist, but I should've worked to build a leaner product which didn't have to be perfect. Trying to find the right framework and building it to be perfect held me back.
In the end I settled with jQuery to build the order form. By this point, the code is quite complicated. Back when I first started coding the website, I was still a Javascript novice, but now I'd much rather use a framework such as Angular, or at least a better component rendering library such as React.