I’ve already shown you the only five types of applications you’ll ever be tasked to build when you’re hired to create value as Ruby and Rails developer. You’ll choose a combination of these customer creation formulas to build an application that meets your business goals…
- You can use Rails to build brochure sites
- You can use Rails to build publication sites
- You can use Rails to build online stores (ecommerce)
- You can use Rails to build consultative sites
- You can use Rails to build online services (SaaS apps)
In part one of Practical Rails 5 App In One Hour, you setup a default Rails 5 application so let’s go ahead and add a unique feature.
Getting Started With Rails 5
After you have cloned this repo, run this setup script to set up your machine with the necessary dependencies to run and test this app:
% git clone firstname.lastname@example.org:HookOps/hubstaff-rails.git % ./bin/setup
It assumes you have a machine equipped with Ruby, Postgres, etc. If not, set up your machine with this script.
After setting up, you can run the application using Heroku Local:
% heroku local
Using a Ruby API client
Step 1: Add
hubstaff-ruby to your Gemfile and
Step 2: Get your HUBSTAFF_APP_TOKEN, and add it to your to your
Step 3: Require files from the
hubstaff-ruby gem in your Rails environment; before you initialize
the Rails application. And then load your environment variables.
Step 4: Define your routes to handle authentication and retrieving data from Hubstaff.
Step 5: Define actions in your pages controller.
Step 6: [Your Turn] Create forms that your users can pass the required parameters into, so that they retrieve & display the exact data they want.
Use the following guides for getting things done, programming well, and programming in style.
If you have previously run the
you can deploy to staging and production with:
BONUS: Useful Ruby gems every Rails developer should know.
There are several Rails gems that will make you an extremely productive Rails developer and help you produce high quality code. These 11 Rails libraries and other alternatives are useful for every occasion.
In order to help stakeholders make better business decisions and get a good ROI from the software you build, you must implement analytics, onboarding, and marketing automation as well.
For analytics, Segment.io gives you the ability to aggregate data from several analytics providers, including Mixpanel and Google Analytics. You can create an analytics facade to pass data to Segment.io and track every user interaction in your Rails app.
You can’t just deliver a project and expect users to know how to use it on their first encounter. To improve engagement, user adoption and retention rates, you need personalized onboarding flows.
You can provide a better onboarding experience in your Rails app with Appcues.
If your Rails app is for internal use only, you don’t have to worry about marketing automation at all. When you’re working on a project that’s meant for consumers, you must implement marketing automation because the number one problem product creators face is distribution.
The three primary ways to implement marketing automation and help your business reach more potential customers is through social sharing, email marketing and built-in referrals. Integrating social sharing is easy; you can use shareable or any other social sharing Rails gem.
There are several options for transactional emails in Rails, but I’d recommend you take a good look at those that allow you to send behavior-based messages. Drip, Customer.io and Intercom are good options for email marketing automation in your Rails app.
Getting your current customers to refer others to you is a great way to grow your online business. It’s easy to implement referral marketing with Ambassador, but that’s a little pricy. Alternatives for baking referrals into your Rails app include Rack Affiliates and DeviseInvitable.
There’s still more to learn, but now that you’ve familiarize yourself with with Ruby and Rails, use this 2-step backdoor strategy to jumpstart your web development career, even before you master Ruby and Rails topics, concepts and techniques.