Creating a Rails application with Twilio

December 11, 2016 | Ruby

Earlier today I created a small Rails app as a test of the Twilio REST API. One of Twilio’s main features is the ability to send and reply to SMS messages. A guest post by James Jelinek on Twilio’s blog shows how incredibly easy it is to get started with Twilio (with Rails). Setup your Twilio account, follow along with the tutorial and you’ll be up and running in no time!

When you set up the app, I recommend using dotenv-rails to manage your environment variables so you don’t have to put them in plaintext in your secrets.yml file. You’ll also need to download and install ngrok, a wonderful network tunneling application that allows applications your running locally (eg a Rails server on localhost:3000) to be accessed by devices outside of your network.

Also, make sure that you use your LIVE Twilio SID and Auth Token (not the test ones) otherwise app will spit out an error regarding a invalid number.

You can view my repo of the code here.

Music Gear Share

A gear sharing app built with AngularJS and Rails

MusicGearShare is a Craig’s List style application where users can sign up and share their music equipment with each other, including anything ranging from instruments, accessories, sound equipment, and more. After signing up, users can search gear thats available to rent and messages each other to coordinate sharing and renting.

Continue reading “Music Gear Share”

Using AJAX and HandlebarsJS in Ruby on Rails

September 8, 2016 | Javascript, Ruby, Web Development

AJAX, HandlebarsJS, Rails Tutorial

In this post I’m going to show you how to create a simple single page Rails app using AJAX and HandlebarsJS. This is a great pattern to use for small, dynamic apps that’s quick and easy to implement.

You’ll need:
– Knowledge of Ruby, Ruby on Rails, Javascript, and JQuery
– The active_model_serializers gem, to serialize our model instances
JSONView Chrome Extension, to make any of our JSON rendered in the browser more readable
– A basic understanding of HandlebarsJS
– Some knowledge of how AJAX works

Continue reading “Using AJAX and HandlebarsJS in Ruby on Rails”

Rails Project Management AJAX Refactor

Now with 100% more AJAX

No, not that AJAX.

About one month ago, I finished version 1 of Rails Project Management, my first full scale web application, for my Flatiron School Ruby on Rails assessment. My next assessment was to refactor the program with Javascript and implement dynamic features only possible through JQuery and a JSON API. I decided to focus on refactoring some of the CRU functionality for Projects, Tasks, Comments, and Notes so they use AJAX instead of full page refreshes. This project was also a great learning experience for using HandlebarsJS, a Javascript templating tool. While the “remote: true” pattern would have been easier, the assessment required that we not use it.

In this post I’ll do a deep dive into how and why I refactored each feature.

Continue reading “Rails Project Management AJAX Refactor”

Rails Project Management

Rails Project Management, (or just RailsPM) is my first full scale web application, built from scratch for my Flatiron School Ruby on Rails assessment. As a former project manager, I thought it would be fun to build an app based on the knowledge I acquired at my previous job. While realistically I wouldn’t be able to currently build an application that could complete with robust software on the current market (like Teamwork, my favorite PM application), I had a lot of fun in the process. There were a number of challenges I faced along the way but I also learned a lot!

Continue reading “Rails Project Management”

Using Basic and Custom Rails Validations

Rails Validations

In Rails, validations are special method calls defined at the top of the model class. Validations protect your database by preventing model instances from being saved to the database if they contain invalid data. Rails uses ActiveRecord to execute these validations. Keep in mind that AR validations are not the same as database validations, which check for things such as string length, data type, etc.

In the following post I’m going to cover implementing both basic and custom Rails validations. I had a tough time figuring out how to make the custom validations work since there was a lack of detailed information about them.

Continue reading “Using Basic and Custom Rails Validations”

Sinatra Car Maintenance Tracker

The Sinatra Car Maintenance Tracker is my first real web application, utilizing the Sinatra framework, Rack, and Active Record. I went through a number of different ideas (exercise tracker, chess game tracker) and rebuilt my application several times before I finally settled on the car maintenance tracker. Basically, it allows a user to keep track of the maintenance records for their vehicle. As a car owner (1999 Honda Civic), I’ve never been good at tracking my maintenance (I’m one of those people who prefers to do the maintenance myself, instead of taking it to a mechanic).

Continue reading “Sinatra Car Maintenance Tracker”