Using Node Applications to Create Tools and Automate Processes

As part of my job scanning and fixing many WordPress websites, I go through a lot of repeated tasks. Sometimes, I will scan as many as a hundred websites, each website requiring steps for marking down different bits of information.

One thing that takes a bit of time that I really want to automate, is collecting user logins for the admin account. It takes me several hours to go through a batch of 200 or more emails. A lot of the data I need is in the form clients send for getting their site scan service done, but it always needs verification. Another thing that needs to be done, is copying all the data into a Password Safe for use later. Doing that takes up the largest amount of time, after testing logins.

I’ve been playing around recently with developing Node apps, and I’ve gotten better at it with practice. An idea I had for automating some of these tasks, was to replace the Password Safe program I currently use (desktop application with the save file in a Dropbox folder) with a custom Node app, storing data in a MySQL database.

It wouldn’t be too difficult to create a simple app that grabs the form data and stores it correctly. It would have an interface which would allow me to easily verify each one (generated admin links and simple one click confirmation buttons). When confirmed, it would also update the spreadsheet to mark it as ready to scan.

Another feature I could add would be in the form of a Chrome plugin, which would fill the login data automatically when going to the login page later on when I need to run a site scan.

The only concern with running this system is security. The most obvious solution to security would be a full authentication method, with a login and proper data sanitation. Then I realized only a few people would actually be using it, so I could use an IP whitelist to only allow certain IPs to use it. The passwords would be stored in a MySQL database, so I don’t have any concerns there.

The final thing I need to worry about would be hosting. I don’t want to self host it, as that would involve always having the computer running (and let’s face it - even desktop computers need to shut down eventually) as I wouldn’t be the only one using the app.

Thankfully, you can get really cheap VPS hosting. I’ve had several through RamNode, which start their VPS’ at as cheap as $4/month. It comes with a Linux installation, full SSH access, etc. Enough to host a simple server, which is more than enough for a low-load Node application.