One Month Rails Course Outline

Getting Started 24 minutes 

1. What We'll Be Making 02:13 

A quick overview of what we'll be making in this class.

2. Install Rails 00:51 

How to install rails using InstallRails.com and RailsInstaller.

3. Sanity Check 02:45 

Make sure you have Rails 4, Ruby 2, Sublime Text, and the Command Line ready before moving on.

4. The Command Line 13:29 

The command line can be a scary place for beginners, but there are only a handful of commands you'll need to know in order to use it including pwd, cd, and ls.

5. Debugging: 75% of Coding is Googling 04:42 

When you're first starting out, troubleshooting can be a nightmare. In this step, I cover a few tips for how to debug some of the errors you might run into over the course of this class.

Create A New Application 39 minutes 

1. Creating A New Application 09:45 

Let's create a new Ruby on Rails application!

2. Commit With Git 14:26 

Git lets you save different versions of the project to make it easier to work with a team, to undo a change you've made, or to work on multiple changes at the same time.

3. Setting Up Github 09:10 

Github is a really cool site you can use to share code or collaborate with a team. In this class, we'll be using it for troubleshooting to make it easier to help you out in case you run into any problems.

4. The GitHub Dance 05:39 

You always follow the same steps when you save your code and push it to Github: git add ., git commit -am "Message goes here", and git push.

Let's Add More Pages 29 minutes 

1. Creating Your Homepage 04:36 

In order to create pages in your application, you'll have to create a pages controller first.

2. Setting The Root Path with Routes 03:21 

You can point people towards a specific page by setting a route to point to that page.

3. Creating More Pages 07:08 

Most likely, you're going to need more pages besides just a Home page. (For example, an About page or a Contact Us page.) In order to do that, you'll have to add a new view and set a route for it.

4. What is Embedded Ruby? 05:10 

Embedded Ruby (erb) is magic, literally. You'll be able to add dynamic content to your html pages.

5. Creating Navigation Links 08:37 

Make it a little bit easier for users to navigate around your site with navigation links. In Rails, layouts make it really easy to create something like a navigation bar and have it show up on every page in your app.

Bootstrap about 1 hour 

1. Install the Bootstrap Gem 13:50 

Bootstrap is a front-end framework that every beginner should use. It's really easy to install with a simple gem.

2. Add Bootstrap Elements To Pages 16:46 

Bootstrap comes pre-built with things like buttons, navigation bars, and icons that you can use to make your web app look really nice, really quickly.

3. Customizing Bootstrap 10:49 

Bootstrap can be customized through Sass variables.

4. Design Improvements 08:48 

With a few simple changes you can make your app look a lot like Pinterest.

Going Online 19 minutes 

1. Going Online With Heroku 14:21 

How do you move your app live so that others can see it? With a great service called Heroku that lets your deploy your app to the web in seconds.

2. Registering A Custom Domain (optional) 04:13 

Customize your domain name in less than 5 minutes with DNSimple

Add Users to Our App about 1 hour 

1. Installing Devise So We Can Add Users 05:35 

Devise is one of the most popular user authentication gems for Rails.

2. Setting Up Devise 09:11 

Here I show you how to set up Devise with flash messages and views.

3. Generating Users with Devise 07:16 

Here I show how to set up a User model with Devise and migrate those changes to your database.

4. New User Signup and Signin 11:47 

Now you can add links to the sign up and sign in pages to your application views.

5. Push Users to Heroku & Migration 06:48 

You should regularly push your changes to Heroku to make sure everything is working in production. Don't forget to rake db:migrate if you've made any database changes!

6. Twerking Devise Views 14:14 

Let's make Devise look a bit more stylish

Understanding MVC: Fat Models & Skinny Views about 1 hour 

1. Generate Pins Scaffold 08:27 

By adding a Scaffold we can quickly add new Pins to our app

2. Deep Dive into Resources & MVC 06:54 

Everything is a resource! This will change the way you look at Web apps.

3. Ra-ra-ra Rake Routes 05:36 

Routes are how your Web app knows how to find pages.

4. Pins Controller 06:50 

In this lesson we'll get a better understanding of controller actions

5. Pins Views 17:10 

Let's get a better understanding of Views

6. Pins Users and Associations 10:47 

Associations are awesome! It's how you pull this all together and tell Rails that a "User has Pins" in the database

7. Authentication: Who can? Who can't? 22:26 

In this lesson you'll add authentication (so that a user can't delete another user's pins).

Upload Images & Feel Magickal 39 minutes 

1. Paperclip ImageMagick Install 03:22 

Image Magick is a gem for converting and formatting images. It's a requisite for Paperclip, so let's install it.

2. Image Upload with Paperclip 20:19 

Paperclip is a gem that allows you to upload images

3. Paperclip to Amazon S3 Images on Heroku 15:02 

Heroku doesn't store imagine, so you need AWS for that

Extending Your App about 1 hour 

1. Styling our app with jQuery Masonry 25:18 

Giving our application that Pinterest look with jQuery Masonry.

2. Creating A Page to Show Only One Pin 07:53 

What if you want to send your friend a link... to one specific cat pin? You'll need a show page for each pin. Here's how it's done.

3. Adding Icons with Glyphicons 07:39 

Icons make our site look fancy. Thanks to Bootstrap it's easy to implement them.

4. Changing the Root Route 04:52 

All the pins should display on the homepage. In just under 5 minutes we can get this working properly.

Organization, Pagination, and Validation about 1 hour 

1. Order Yo Pins 07:06 

Let's reorder the pins on the index page so that they show up reverse-chronologically. We'll also explore other Active Record Queries.

2. Pagination 08:00 

...because at some point you'll want numbered pages

3. Adding Names to Users 12:23 

Using migrations, you can add attributes to your users. In this example, I'll show you how to add a name field to your users, but you can do the same thing with usernames, addresses, and anything else.

4. Adding Validations 03:33 

Validations are the Rails way of making sure that the data your users are putting into forms are good. You can use validations to make sure that a user actually gives you their name, that their email address is actually an email address, and other things.

5. The Completed Project Files 

View the completed project and download the source code.