Professional Rails Code Along
4.8 (543 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,221 students enrolled

Professional Rails Code Along

Develop a real world Rails project using TDD/BDD, including a step by step guide to building professional applications.
Highest Rated
4.8 (543 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,221 students enrolled
Created by Jordan Hudgens
Last updated 9/2016
English [Auto]
Current price: $27.99 Original price: $39.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 19 hours on-demand video
  • 1 article
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Build a professional grade Rails project
  • Using Test Driven Development to develop the application
  • Learn Rails best practices
  • Integrate the ability to send SMS messages from an application
  • Work with callbacks
  • Learn how to create a full permission structure
  • Using Capybara for automated, end to end testing
  • Perform advanced debugging
  • Implement Single Table Inheritance
  • Create custom rake tasks
Course content
Expand all 120 lectures 18:51:22
+ Planning the Application We're Going to Build
3 lectures 15:14

By combining a large number of Rails components, this is the final application that we'll build out during this course. This will include:

  • Professional rails development practices
  • Integrating the ability to send SMS messages
  • Building an approval workflow
  • Implementing authentication and authorization
  • Using RSpec and Capybara for BDD/TDD
  • And more
Preview 07:31
Source code for the Application

In this video I walk through the planning stages for the application, this is a 'white board' type session where I plan out the models that I'll use, the data flow, and user stories. I also walk through how the database tables will relate to each other.

Project Requirements Planning
+ Initial Application Build
4 lectures 20:35

This video walks through how to create the initial application, including setting up the database and running the app generator.

Creating the App

In this guide we'll push our project to GitHub to implement source version control for the application.

Pushing the Application to a Remote GitHub Repository

In order to follow Ruby on Rails best practices, in this guide we'll install and configure the RSpec and Capybara testing framework libraries.

Installing RSpec and Capybara Testing Frameworks

In this video we'll create an end-to-end integration test using Capybara to build a homepage.

Using BDD to Build a Homepage
+ Creating a User with Test Driven Development
3 lectures 25:24

Learn how to use Devise to give users the ability to log in and logout of the application, including all of the necessary security mechanisms such as encrypting the password.

Installing and Configuring Authentication

Walk through how to integrate the advanced Rails tool of Single Table Inheritance (STI) to extend the functionality of the User class and follow best practices.

Preview 08:13

Learn how to integrate unit tests to implement validations for the User model to ensure data integrity for the user creation process.

Implementing Data Validations via Test Driven Development
+ Implementing the Ability to Post Overtime Requests
6 lectures 51:59

This video will walk through how to use the Ruby on Rails resource generator for building out the Post component.

How to Use the Resource Generator for Posts

Learn how to use BDD with RSpec and Capybara to build an index feature for posts.

Creating an Index View Using Behavior Driven Development via Capybara

Walk through the process for building a seeds file to fill the application with sample data.

Creating a Seeds File to Generate Sample Data

This guide walks through how to use BDD to build out the ability to create posts and implement basic CRUD functionality.

Using BDD to Create Posts and Implement CRUD

Walk through the BDD process of Red, Green, Refactor and refactor the ability to create posts to follow Rails best practices.

Refactoring the Post Creation Process

Learn how to create a connection between users and posts so that they can be created and called.

Building a Relational Connection Between Users and Posts
+ Integrate an HTML/CSS Design and Layout
3 lectures 21:43

Learn how to implement the Twitter Bootstrap HTML/CSS framework to give a set of foundational styles to the application.

How to Implement the Twitter Bootstrap HTML/CSS Framework

Build out the initial application layout, including working with the master template file and incorporating basic class components from Bootstrap.

Integrate the Basic HTML Layout

Learn how to build view helper methods to follow Rails best practices and encapsulate custom user interface behavior that can be shared across resources.

Creating a Rails Helper Method for Activating the Navigation Tabs
+ Listing Posts via Test Driven Development
3 lectures 25:40

Utilize Capybara to build an end to end test that builds out the list of posts.

Rending a List of Posts via BDD

Learn how to work with partials in order to follow Rails best practices and clean up the view code.

Refactoring the Index Action to Follow Best Practices

Walk through how to create a custom method that generates the user's full name.

How to Create a Custom Model Method to Generate a User's Full Name
+ Installing FactoryGirl for Test Data
2 lectures 22:21

Learn how to install FactoryGirls to generate test data for the RSpec automated tests.

Installing FactoryGirl for Test Data Creation

Learn how to refactor the current tests to use factories instead of manually creating database records. This helps to remove duplicate code and speeds up the test suite.

How to Refactor Tests to Include Factories
+ Implementing New CRUD Functionality into the Application
3 lectures 37:14

Build in the ability to edit posts via behavior driven development with RSpec.

Preview 19:51

Implement a button on the template for creating new overtime posts.

Adding a Button to Create Posts

Integrate the ability to delete posts, including adding the delete functionality to the user interface.

Integrating the Ability to Delete Posts
+ Building Advanced User Interface Elements
4 lectures 25:17

Implement Bootstrap styles for customizing the look and feel of forms, including working with the grid layout and form style options.

How to Style the Application Forms

Build out the ability to implement growl styled notifications in a Rails application.

Implement Growl Notifications to Alert Users

Build the additional code for integrating growl notifications to include form validations.

How to Implement Growl Notifications for Form Validations

Learn how to customize the sign in form view template to include Bootstrap form elements.

How to Style the Sign In Forms
+ Installing and Customizing the Admin Dashboard
5 lectures 55:00

Learn how to remove the registration functionality from Devise to ensure that only admins have the ability to create users accounts.

Removing the Ability for Users to Register

Learn how to install the Administrate gem to implement an Admin dashboard where administrators can create new user accounts.

Installing the Admin Dashboard via the Administrate Gem

Learn how to customize the Administrate gem so that only the form elements needed are available.

How to Customize Administrate Admin Dashboard Forms

Learn how to select the database items that are available for searching via the Administrate dashboard.

Customizing the Admin Dashboard Search Engine

Customize the permission structure so that only admin users are able to access the admin dashboard.

Blocking Non Admins from Accessing the Admin Dashboard
  • How to build basic Ruby on Rails applications
  • A basic understanding of programming

Hi and welcome to the Professional Rails Code Along Course, where I will walk through how to build a real world Ruby on Rails project that I was hired by a client to develop. My name is Jordan Hudgens, and I'll be your instructor for the course. I've built many different Ruby on Rails applications throughout the past few years for companies such as Eventbrite and Quip and one of my passions is helping individuals learn how to code.

After completing this course you will be able to build a production Rails project from scratch. But there are a million courses that will help you do that. What makes this course different is that you'll learn how to build a Rails application like a professional developer. I took a completely different approach to creating this course. I don't edit any mistakes and I filmed the entire set of videos in real time so you can watch my exact process when I am tasked with building a real world application. I made this decision so that you can get a transparent view into what it takes to become a pro developer, and also so you can see how I work through challenges, all in real time.

One of the most critical requirements for a professional Rails developer is a strong knowledge  of testing. With that in mind, every feature that we build in the course will be created with the test driven development process. Some of the key features you'll learn how to implement are:

  • Using TDD and BDD with the RSpec and Capybara testing frameworks
  • Working with the Twilio API to send SMS messages
  • Integrating a permission structure for users
  • Implementing an administrator dashboard
  • Working with automated email components
  • Creating an approval workflow from scratch
  • Creating JavaScript Growl notifications
  • And much more!

This course is not for the faint of heart. The ideal student for this project is someone who has already taken a basic Rails course and wants to take their skill to the professional level.

Each lesson comes paired with the source code implemented at that stage so that you can follow along and compare your code with the codebase for the application. And beyond that you can also use the source code to extend it and build your own production applications.

Please feel free to review the course curriculum and I look forward to going through the material with you on your development journey!

Who this course is for:
  • This course covers professional development processes, a basic understanding of the Ruby on Rails framework is required to understand the material.