Dissecting Ruby on Rails 5 – Become a Professional Developer

Dissecting Ruby on Rails 5 – Become a Professional Developer
Dissecting Ruby on Rails 5 – Become a Professional Developer
English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 40 Hours | 7.14 GB

Don’t simply follow a tutorial, learn what it really takes to become a pro Rails developer with this immersive course.

Through the years I’ve constantly heard the same question from students: “I can follow a tutorial, but I don’t feel confident enough to build apps/features from scratch”. This course is my answer to that question. I’m not satisfied in simply teaching you how to build an application, my goal is to teach you to understand how to build professional web applications, not to simply follow a tutorial. This is the most comprehensive course I’ve ever put together and combines my 14+ years of development experience.

I took a completely different approach in building this course. This course is unique for a number of reasons:

  • Curriculum – After completing the initial course outline I sent it out to a group of CTOs and Senior Rails developers from around the world. I asked them to go through the list of features and add the full set of skills they look for when hiring Rails devs. The course outline literally doubled based on their input. So the features that we’re going to build throughout this course aren’t simply my idea of what it takes to build progressional grade Rails applications, it’s the combined knowledge over over a dozen premier developers from a wide variety of industries. One of the hiring managers who reviewed the outline responded to the outline and said, “If you send me developers who build this full set of features, I’ll hire them on the spot!”.
  • Deep Dives – Going through tutorials is great. However, many times courses that simply walk through the build out of a project skip over important concepts. For this reasons I have created a Deep Dive at the end of each section of this course. These guides select the most challenging topics of each section and give a detailed walk through of the concept so that you can completely understand how to work with the key features of the Rails framework.
  • Full Stack – Many courses promise to teach you how to become a full stack developer, but most of them simply gloss over the concepts that you need in order to build truly professional applications. This course was built to walk you through a real world approach to full stack coding. This includes: backend development with Ruby on Rails, front end coding with HTML/CSS/JavaScript/jQuery, along with advanced ways to use SQL for database management.
  • Immersive – This is not a light and easy course that you can go through in a weekend. This course was designed specifically for coding bootcamp students that have the goal of becoming professional developers. This means that there is over 35 hours of video lessons and you will build a professional grade Rails application by the time you have completed the course.

So with all that being said, let’s talk about everything that we’re going to build throughout the guides. We’re going to build a feature rich portfolio application that you can actually use for your own portfolio (I’m even using it for my own portfolio). Let’s walk through the full feature set of what the application will include:

  • Building out a professional Rails environment (if you’re on a PC I even built a free C9 dashboard that you can use for this course).
  • We’ll utilize Pivotal tracker to follow SCRUM project management best practices throughout the build of this application, just like you’ll do in a professional dev shop.
  • Examine how to work with Rails generators, including how to customize the generators so that you can have your very own scaffolds.
  • Work with data flow in Rails. One of my strongest beliefs is that if you can understand how data flow works in Rails, you can build anything! With that in mind we’ll take a step by step approach for understanding how data comes into a Rails app and how you can build features that utilize the process.
  • Manage a database. You’ll learn advanced SQL techniques for working with data in a Rails application, including how to manage data relationships between tables along with what it takes to implement efficient queries.
  • Best practices. Writing clean code is one of the key requirements of professional Rails developers, throughout the course we’ll walk through what professional grade code looks like and the common patterns you’ll need to know in order to build well written applications.
  • JavaScript and jQuery components. One of the hallmarks of a modern Rails application is the proper integration of JavaScript features. Throughout the course we’ll walk through advanced JavaScript features such as how to integrate drag and drop functionality for users and how to build dynamic forms that change based on user input, all without a page refresh!
  • Streaming Live Data/Page Updates with ActionCable. The top new feature in Rails 5 was definitely Action Cable, which allows for Rails to utilize web sockets and have live page updates. In this course we’ll build a real time commenting feature for our portfolio that will showcase your JavaScript skills to everyone who visits your new site.
  • API Integration. Because most modern applications need to communicate with the outside world, in this course we’ll build an integration with the Twitter API to pull in real time tweets into our portfolio application.
  • RubyGem Libraries. In addition to teaching you about how to use RubyGems in a Rails application, I also show you how to create your very own RubyGem from scratch and walk through how to use it in your application.
  • In addition to all of these features, we’ll also examine: advanced forms, how to integrate professional styles by leveraging Bootstrap 4, building a connection to AWS for file uploads, and how to deploy our application to the web.

In addition to the lectures, I also include the source code for each guide so that you can always have access to the full codebase for the application.

What you’ll learn

  • Build a professional Rails application.
  • Implement advanced JavaScript components, such as persistent drag and drop functionality and live page update via ActionCable into a Rails application.
  • Deploying a Rails application along with the ActionCable web socket feature to Heroku.
  • Build a Rails 5 application that utilizes multiple layouts.
  • Build jQuery and CoffeeScript components that can be utilized by the Rails application.
Table of Contents

Mac Environment Customization
1 The Application We’re Going to Build
2 Installing the Postgres Database on a Mac
3 Installing and Working with the Sublime Text Editor
4 Deep Dive into the Command Line – Part 1 of 2
5 Deep Dive into the Command Line – Part 2 of 2
6 Section Introduction
7 Introduction to the Command Line Interface in Mac and Linux
8 Installing the X-Code Command Line Tools for Mac
9 Installing Git for Source Code Version Control
10 How to Install Homebrew on a Mac
11 Installing GPG Security System on a Mac
12 Guide to RVM for Ruby Management
13 Configuring RubyGems and Installing Rails

PC Environment Setup
14 Note to PC Users
15 How to Install and Work with Sublime Text in Linux
16 PC Setup Guide for Ruby on Rails and Postgres on Linux – Part 1 of 2
17 PC Setup Guide for Ruby on Rails and Postgres on Linux – Part 2 of 2
18 Fixing the Role Does Not Exist Error
19 PC Environment Setup Installing Virtual Box
20 Guide to Installing Ubuntu Linux in VirtualBox
21 How to Reboot a Linux Virtual Machine from the Terminal
22 Installing Desktop Applications and Ubuntu Navigation Tips and Tricks
23 How to Sign Up for a GitHub Account
24 How to Install Git on Linux and Connect to GitHub via SSH
25 How to Securely Install Node and NPM on Linux via NVM
26 Installing the Heroku CLI and the Full Deployment Lifecycle

App Creation and Project Planning
27 Section Introduction
28 Rails File System Overview
29 Updating the Project Management Dashboard
30 Deep Dive Analyzing the Application Generator – Part 1 of 2
31 Deep Dive Analyzing the Application Generator – Part 2 of 2
32 Signing Up for a Project Management Account
33 Managing the Project Management Dashboard
34 Importing Project Management Tasks into Pivotal Tracker
35 Creating a Rails Application
36 Generating a Blog for the Portfolio Application Using Rails Scaffolds
37 Analyzing the Rails Process Index and Show Actions
38 Analyzing the Rails Process New, Create, Update, Edit, and Destroy Actions
39 Analyzing the Rails Process Routing with Resources

Implementing Version Control
40 Section Introduction
41 How to Sign Up for a GitHub Account
42 Generating SSH Keys to Securely Communicate with GitHub
43 Guide to GitHub
44 How to Update a .gitignore File to Securely Store Secret Credentials
45 Guide to the Markdown Syntax
46 Updating the Git Sprint in the Project Management Dashboard
47 Deep Dive Analyzing Version Control and Git – Part 1 of 2
48 Deep Dive Analyzing Version Control and Git – Part 2 of 2

Rails Generators
49 Section Introduction
50 Guide to the Rails Controller Generator to Build Pages Part 1 of 2
51 Guide to the Rails Controller Generator to Build Pages Part 2 of 2
52 Guide to the Rails Model Generator to Build out Data Specific Features
53 Guide to the Rails Resource Generator for Building Out the Portfolio Feature
54 Deep Dive Analyze Rails Generators and How to Customize a Generator – 1 of 2
55 Deep Dive Analyze Rails Generators and How to Customize a Generator – 2 of 2

Data Flow in Rails
56 Section Introduction
57 How to Override the Rails Resources Routes for the Show Action
58 How to Implement Permalinks in a Rails Application – Part 1 of 2
59 How to Implement Permalinks in a Rails Application – Part 2 of 2
60 How to Use Enums in Rails to Manage Data Stages
61 How to Implement a Custom Action in Rails via a Button Click – Part 1 of 2
62 How to Implement a Custom Action in Rails via a Button Click – Part 2 of 2
63 Updating the Project Management Dashboard and Performing a Pull Request
64 Deep Dive Rails Routing and Data Flow – Part 1 of 3
65 Deep Dive Rails Routing and Data Flow – Part 2 of 3
66 Deep Dive Rails Routing and Data Flow – Part 3 of 3
67 Building out a Seeds File for Generating Dynamic Sample Data
68 Implement an Index Action from Scratch in Rails
69 Build the New and Create Functionality from Scratch in Rails
70 Implement the Ability to Edit Database Records from Scratch in Rails
71 How to Use the Link To Method in Rails for Creating Dynamic Links
72 How to Implement the Show Action from Scratch in Rails
73 Building the Ability to Delete Items in Rails
74 How to Implement Custom Routes for Pages in Rails

Data Management in Rails
75 Section Introduction
76 Deep Dive Working with SQL and ActiveRecord in Rails 5 – Part 1 of 3
77 Deep Dive Working with SQL and ActiveRecord in Rails 5 – Part 2 of 3
78 Deep Dive Working with SQL and ActiveRecord in Rails 5 – Part 3 of 3
79 Implementing Data Validations in Rails 5
80 Guide to Data Relationships in Rails
81 How to Implement Custom Scopes in Rails 5
82 How to Set Default Values in Rails 5
83 How to Use Concerns in Rails 5
84 Building an Additional ParentChild Relationship in Rails 5
85 Rails 5 Complex Forms Configuring Nested Attributes in the Model
86 Rails 5 Complex Forms Configuring Nested Attributes in the Form

Rails 5 Authentication
87 Section Introduction
88 How to Install Devise in Rails 5
89 Using Devise to Implement Registrations and Login Functionality
90 Building Custom Routes for Authentication Pages with Devise in Rails 5
91 Enable Users to Logout and Dynamically Render View Content in Rails 5
92 How to Add Custom Attributes to a Devise Based Authentication System
93 How to Use Controller Concerns in Rails 5 for Devise Custom Attributes
94 Integrate Virtual Attributes to Extract First and Last Name Data from a User
95 Deep Dive Using BCrypt to Implement Encryption in Ruby

Ruby on Rails Controllers
96 Section Introduction
97 Rails Data Flow Review and Working with Params
98 Using Rails Sessions to Share Data Between Pages
99 Refactoring the Session Tracker into a Controller Concern
100 Working with Strong Params in a Rails 5 Controller
101 Deep Dive Building a Guest User Feature in Rails – Part 1 of 2
102 Deep Dive Building a Guest User Feature in Rails – Part 2 of 2

Working with Views in Rails
103 Section Introduction
104 Guide to Manually Configuring Partials to Work with Collections in Rails
105 Guide to Helpful ActionView Helper Methods in Rails 5
106 Deep Dive Tips and Tricks to Working with ActionView in Rails 5 – Part 1 of 2
107 Deep Dive Tips and Tricks to Working with ActionView in Rails 5 – Part 2 of 2
108 How to Customize the Rails Master Layout File – Part 1 of 2
109 How to Customize the Rails Master Layout File – Part 2 of 2
110 Guide to Using Multiple Layout Files in Rails 5
111 Introduction to Partials in Rails 5
112 How to Send Data to Partials to Generate Custom Behavior in Rails 5
113 Guide to View Helpers in Rails 5
114 How to Use the Rails Content Tag Helper to Auto Generate HTML Code
115 Introduction to Rendering Collections via Partials in Rails 5

Professional Debugging in Rails
116 Section Introduction
117 How to Utilize Puts Debugging in Rails
118 Guide to Byebug in Rails 5
119 Guide to Debugging with Pry in Rails 5
120 Proper Way to Implement Error Management in a Rails Application – Part 1 of 2
121 Proper Way to Implement Error Management in a Rails Application – Part 2 of 2

Using RubyGems
122 Section Introduction
123 How to Install Bootstrap 4 into a Rails 5 Application – Part 1 of 2
124 How to Install Bootstrap 4 into a Rails 5 Application – Part 2 of 2
125 Strategy for Building a Custom RubyGem
126 How to Build a RubyGem from Scratch – Part 1 of 2
127 How to Build a RubyGem from Scratch – Part 2 of 2
128 How to Publish a Gem on RubyGems.org

Implementing Authorization in Rails
129 Section Introduction
130 Introduction to Authorization and How to Install the Petergate Gem
131 How to Add Roles to the User Model in Rails 5
132 Guide to Implementing Petergate in a Rails 5 Application – Part 1 of 2
133 Guide to Implementing Petergate in a Rails 5 Application – Part 2 of 2

Working with Styles in Rails
134 Section Introduction
135 How to Design the Login and Password Pages with Bootstrap 4 Form Styles
136 How to Set Default Values for View Helper Method Arguments in Rails 5
137 Integrating a Different Design for a Separate Blog Layout in Rails 5
138 How to Use Bootstrap 4 to Add a Custom Nav Bar to a Blog Layout in Rails
139 Customizing the Design for the Blog Index Page with Bootstrap 4
140 Guide to Adding Styles to the Blog Show and Form Pages with Bootstrap 4
141 Implementing Partials, Pagination, and Font Awesome Icons – Part 1 of 2
142 Implementing Partials, Pagination, and Font Awesome Icons – Part 2 of 2
143 Initial Design for the Portfolio Index Page with Bootstrap 4
144 Integrating the Portfolio Animated Navigation Slider, Footer, and Index
145 Portfolio Design Planning for Layout Specific Styles
146 Using the Bootstrap 4 Grid Layout to Style the Portfolio Show Page in Rails
147 Implementing Bootstrap 4 Forms for the Portfolio Form Pages
148 How to Build a View Helper to Dynamically Generate a Nav Bar – Part 1 of 2
149 How to Build a View Helper to Dynamically Generate a Nav Bar – Part 2 of 2
150 Deep Dive Rails Asset Pipeline Part 1 of 2
151 Deep Dive Rails Asset Pipeline Part 2 of 2
152 Implementing the Initial Homepage Design in Rails 5 with Bootstrap 4
153 Building a Navigation Partial for the Master Application Layout with Bootstrap
154 Implement a Footer Along with Adding Method Arguments to a Rails View Helper
155 How to Embed a Google Map into a Rails Application
156 Guide to Updating the Styles for the Devise Edit Account Page in Rails
157 How to Override Default Bootstrap Styles for Text Alignment in the Card Class
158 Implementing Styles for the Devise Registration Page with Bootstrap 4

Rails + JavaScript
159 Section Introduction
160 How to Integrate a Position Attribute and Custom Scope in Rails
161 Installing the jQuery UI and html5sortable JavaScript Libraries in Rails 5
162 Initial Implementation of Drag and Drop Interface in Rails 5
163 Implementing Drag and Drop Functionality into a Ruby on Rails 5 App Part 1 of 2
164 Implementing Drag and Drop Functionality into a Ruby on Rails 5 App Part 2 of 2
165 Implementing Authorization Rules for Drag and Drop Feature with Petergate
166 Deep Dive jQuery + CoffeeScript in Rails

Adding Images to a Rails Application
167 Section Introduction
168 Introduction to Using Images and the Rails Asset Pipeline
169 How to Add a Full Size Image Background in Rails with Bootstrap 4
170 How to Set a Full Size Video Background in Rails with Bootstrap 4
171 Deep Dive Installing and Configuring Carrierwave for Image Uploads in Rails 5
172 Deep Dive Integrating Connection to AWS S3 for File Hosting with Carrierwave
173 Implementing File Upload Button Styles and Refactoring Placeholder – Part 1 of 2
174 Implementing File Upload Button Styles and Refactoring Placeholder – Part 2 of 2

Guide to Forms in Rails
175 Section Introduction
176 Difference Between form form and form tag in Rails – Part 1 of 2
177 Difference Between form form and form tag in Rails – Part 2 of 2
178 How to Integrate Cocoon in Rails 5 for jQuery Nested Forms
179 Guide to Integrating Alerts that Automatically Fade Away in Rails 5
180 Refactoring Alert Notifications to Use a Shared View Helper in Rails
181 Deep Dive How to Build an HTML Form from Scratch the Works with Rails

Rails Lib Directory
182 Section Introduction
183 Integrating the Twitter Gem to Pull in Tweets in Rails 5
184 How to Render Tweets on a Rails View Page
185 Building a Parser View Helper Method to Make Twitter Links Clickable in Rails
186 Customizing the Styles for the Tech News Page with Bootstrap 4

Live Data in Rails 5 with ActionCable
187 Section Introduction
188 Guide to Implementing Live Data Updates in a Rails 5 Application – Part 2 of 2
189 Styling the Comment Section and Implementing Gravatar Based Thumbnails in Rails
190 Running the Comment Generator and Installing the NoSQL Redis Database in Rails 5
191 Building the Comment Form and Required Controller Actions – Part 1 of 2
192 Building the Comment Form and Required Controller Actions – Part 2 of 2
193 Refactoring the Comment Form into a Partial and Implementing Data Validations
194 Building the jQuery Functions for Processing Comments – Part 1 of 2
195 Building the jQuery Functions for Processing Comments – Part 2 of 2
196 How to Create a Broadcast with ActionCable in Rails 5
197 Guide to Implementing Live Data Updates in a Rails 5 Application – Part 1 of 2

Rails Best Practices
198 Section Introduction
199 Guide to Integrating Markdown and Syntax Highlighting in a Rails 5 Application
200 Integrating Breadcrumbs and Icons for the Blog Show Pages
201 Building a Partial for Managing Admin Actions for Blog Posts
202 How to Implement a Responsive Navigation Bar with Bootstrap 4
203 Updating the SourceSession Tracking System for the New Layouts
204 How to Integrate a Favicon in Rails 5
205 Implementing Responsive Image Components for the Portfolio Layout
206 Adding Card Styles to the About and Contact Pages
207 How to Implement Collapsable Content Components in a Rails 5 Application
208 How to Integrate Bootstrap Progress Bars in a Rails Application
209 Planning Final Project Updates and Assignment
210 How to Integrate Custom Fonts in a Rails 5 Application
211 Updating the Seeds File in Rails
212 Building a Scope to Show the Most Recent Blog Posts and Hiding Draft Posts
213 Hiding the Show Page for Blogs in Draft Mode in Rails 5
214 How to Add a Drop Down Form Element in Rails 5 for ParentChild Relationships
215 Using the Controller Generator to Build the Topic Features – Part 1 of 2
216 Using the Controller Generator to Build the Topic Features – Part 2 of 2
217 How to Build a Widget for the Blog to Render Topics in Rails 5
218 How to Implement Radio Buttons in a Rails Form to Update Enum Values

Deployment
219 Signing Up for and Creating a New Heroku Application
220 How to Deploy a Rails 5 Application to Heroku
221 Working with the Rails Console on Heroku
222 Installing Redis on Heroku for ActionCable Commenting Feature
223 Configuring Action Cable to Work on Heroku

Course Update
224 How to Implement the Typed.js library into a Rails 5 application
225 How to Install and Configure Webpack, Yarn, and jQuery into a Rails 5.1+ App
226 How to Work with Encrypted Credentials in Rails 5.2+