Professional Rails Code Along
4.7 (263 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,582 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Professional Rails Code Along to your Wishlist.

Add to Wishlist

Professional Rails Code Along

Develop a real world Rails project using TDD/BDD, including a step by step guide to building professional applications.
4.7 (263 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,582 students enrolled
Created by Jordan Hudgens
Last updated 9/2016
English
Curiosity Sale
Current price: $10 Original price: $40 Discount: 75% off
30-Day Money-Back Guarantee
Includes:
  • 19 hours on-demand video
  • 1 Article
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
Requirements
  • How to build basic Ruby on Rails applications
  • A basic understanding of programming
Description

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 is the target audience?
  • This course covers professional development processes, a basic understanding of the Ruby on Rails framework is required to understand the material.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
120 Lectures
18:51:22
+
Planning the Application We're Going to Build
3 Lectures 15:15

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
00:12

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
07:32
+
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
03:34

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
02:44

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
06:08

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

Using BDD to Build a Homepage
08:09
+
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
09:42

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
07:29
+
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
06:50

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
06:07

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

Creating a Seeds File to Generate Sample Data
03:46

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
16:36

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
05:13

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
13:27
+
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
04:20

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
13:53

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
03:30
+
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
15:51

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
04:51

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
04:58
+
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
11:42

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
10:39
+
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
04:55

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

Integrating the Ability to Delete Posts
12:28
+
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
06:57

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

Implement Growl Notifications to Alert Users
04:56

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

How to Implement Growl Notifications for Form Validations
06:44

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

How to Style the Sign In Forms
06:40
+
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
06:13

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
07:16

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

How to Customize Administrate Admin Dashboard Forms
11:28

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

Customizing the Admin Dashboard Search Engine
11:55

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

Blocking Non Admins from Accessing the Admin Dashboard
18:08
15 More Sections
About the Instructor
Jordan Hudgens
4.5 Average rating
2,768 Reviews
30,706 Students
19 Courses
CTO at devCamp

Jordan Hudgens is the CTO and Founder of DevCamp where he leads instruction and curriculum development for all of the DevCamp and Bottega code schools around the US.

As a developer for over the past decade, Jordan has traveled the world building applications and training individuals on a wide variety of topics, including: Ruby development, big data analysis, and software engineering.

Jordan focuses on project driven education, as opposed to theory based development. This style of teaching is conducive to learning how to build real world products that adhere to industry best practices.

Additionally Jordan has published multiple books on programming and computer science, along with developing training curriculum for Learn.co, devCamp, and AppDev on the topics of Ruby on Rails, Java, AngularJS, NoSQL, API development, and algorithms.