Online Assist

PHPAWSRedisMySQL

A SaaS based website content management system I created to meet the demands of a growing client base. Creating Wordpress sites was tedious and hard to manage so I needed a low touch solution that was flexible enough to add features to but still easy to use.

This custom built CMS ran for over 10 years with minimal maintenance. It integrated with several services that have evolved from their original versions. However, with good choices of providers and robust code it managed to run without updates.

Project goals
  • Easy to develop on and maintain.
  • Output website must be responsive, efficient and meet top SEO standards.
  • Easy for the customer to make changes.
  • Low running costs and effort.
The software

I was fluent in PHP at the time so that was my language of choice. I used the Yii2 PHP framework for the backend with jQuery in the frontend. I favoured integrations where possible to save development time and effort. During the course of the project I integrated with Facebook, Instagram, Google Analytics, Shopify, Mailchimp, PayPal, eWay and more.

Creation of a new site is quick and easy with CLI tools to set everything up from scratch.

The hosting

The entire system is hosted on AWS using EC2. The project was efficient enough to run on a single EC2 instance due to it's heavy use of caching. I initially favoured RDS but moved the database into the instance as well to halve costs. Sitting in front of it all was Cloudflare with a Railgun instance running on the same server.