Building a Modern Charity Website

write-up Feb 20, 2019

As a favour and a cause I can get behind I was asked to build a website for the charity Hairy Hounz, who re-home ill-treated, abandoned or unwanted dogs in Hampshire. The charity has recently changed hands, their previous website was outdated and difficult to maintain. I wanted to build a no-frills modern mobile-friendly Wordpress website to keep future maintainability straight forward.

Keeping WordPress Secure

Due to WordPress's global adoption, it's one of the largest targets for cyber attacks. Most sites are targeted at random either for fun at the victim's expense or for use with Command & Control Server which could intern be used for performing DDoS attacks.

A large attack vector and the most common cause of breaches lie in poorly written plug-ins and out of date installations. A basic step I've taken to reduce this risk is by using an absolute minimal amount of plug-ins. More adventurous steps include:

  • Modify NGINX configuration to reject known WordPress flaws.
  • Use CloudFlare for basic DDoS protection and DNS masking.
  • Using DigitalOcean to host my own Linux server with strong firewall rules and automatic patching Linux kernel.

The above, as well as automated Major WordPress updates, should be enough to keep things safe, relatively speaking.

Beyond WordPress

WordPress is basically an industry standard for websites, there is no lack of experts who could take over maintenance. It's also pretty easy to learn and doesn't require much technical knowledge. Although that's the case in a volunteer environment where people might come and go there's not always time to train staff.

I felt one of the more important aspects of the site was the Adoption page where currently available dogs would be shown with a description, photo's & How to Adopt instructions. Looking online there are some solutions in the form of WordPress plug-ins but these are outdated and not mobile friendly.

This gave me an excuse to build something myself, something modern, simple and completely separate to WordPress but with perfect integration to an end user. Thanks to using a Twitter Bootstrap Boiler Plate then developing a theme on top, that gave me a lot of power to integrate and own PHP and make it look native.

The end product was a straight forward CRUD (Create, read, update and delete) system which allowed for quick adding of dogs in need of adoption as well as editing there adoption status, descriptions and photos. This system is easy to use on a phone and quick to add new volunteers to its login system.

Hairy Hounz Manager

Client Adoption Interface

Mobile

Open Source

I've open sourced the code for anyone interested in integrating this system to there website. Due to it being independent to WordPress it can be integrated with nearly any existing website.

https://github.com/Slethen/dog-adoption-manager

Support

As a final note please consider supporting your local dogs in need by adopting. You can find the dogs in need of a forever home here.