re:mind Journal Project

I’m sorry Ops blog, I know I’ve been neglecting you lately. It’s just I haven’t had many projects recently that would fit in with this blog or be worthwhile making a post about. However that’s changed a bit since the past weekend.

Although I’ve been preparing for and busy with a new job, I found some time to develop a small journal-keeping project that I’ve aptly named re:mind Journal that’s properly available online in all it’s glory. It simply creates a new blank post every night and shoots you a reminder email to fill it in at about 17:00 local time.

It’s a Ruby On Rails project that implements a number of nifty gems including devise for user registration and authentication, whenever for dealing with scheduled jobs (pushes to cron), redcarpet for Markdown formatting in posts and rubyzip that allows me to create a zip file of (temporary) .xml versions of all of a user’s posts in case they want to download them.

To get the project running live in a production environment (instead of my dev environment on my laptop) I mostly followed the How To Deploy a Rails App with Passenger and Nginx on Ubuntu 14.04 tutorial on Digital Ocean, although I used a server I had pre-existing with them (that carries a number of my projects).

When pushing the project from the dev to production environment I had to make sure to go back and uncomment the # gem 'therubyracer', platforms: :ruby line before running bundle install. I also avoided using the passenger_app_env development; in my /etc/nginx/sites-enabled/[config] file as I was aiming for a production environment. Once it was all setup I had to go to the app directory, run wheneverize, make sure my config/schedule.rb file was correct and then whenever -w to push it to cron. From then on it’s been smooth sailling.