Software Show and Tell
In 2020, the local climbing club "Klimclub Hungaria" was looking for someone who could build a website to:
In short, they needed a modern website with features you’d expect from a typical local sports club.
At first, I explored using Drupal, which is an open-source Content Management System (CMS). However, the learning curve was quite steep, and with the limited knowledge I had at the time, I found the documentation too sparse to get up and running quickly.
So instead, I turned to WordPress, which is also a CMS, but has a much larger user base and is far more accessible for beginners. I created an AWS account for the climbing club, launched an AWS EC2 instance, and manually installed WordPress on it. I configured the setup so that the WordPress database would run on a separate AWS RDS instance. That seemed like seemed like a smart choice for maintenance, backups, and overall reliability.
Once WordPress and the database were in place, the rest went smoothly. There is an abundance of themes and plugins available for WordPress. The real challenge was choosing which features we actually needed and deciding how much we were willing to spend on plugins. To set up the e-commerce side of the website, I chose WooCommerce, as it is widely used, intuitive to work with, and very well documented. A lot of plugins provide extra features for WooCommerce, like product customization, customization of checkout carts, etc.
The devil is in the details. Just when you think you are 99% finished, you get hit with the final hurdles: configuring DNS in AWS Route 53, setting up SSL/TLS certificates, and other small but inevitable "details". The website is now up for 5 years, and as more plugins have been added over time, it has grown into a bit of a monstrous tower of plugin blocks, seemingly ready to collapse anytime, yet surprisingly holding up well. Quite some maintenance time is required though. Recently, some plugins couldn't update because the server was still running PHP 7 and needed to be upgraded to PHP 8. In order to install PHP 8, I had to upgrade the instance's OS from Ubuntu 20.04 to 24.04. And to update the OS, I ended up spinning up a completely new EC2 instance. Beware of the rabbit holes...