Course Progress

Week 1: Getting Started 19 minutes

    1. Important

    Let's check in with each other... (hope you're sitting down for this)

    2. A Preview of Assignment #1

    Just a heads up on what you'll be asked to do at the end of the week.

    3. Installing Rails

    Follow these steps to get Ruby on Rails set up on your computer

    4. A Quick Sanity Check

    Make sure you have Rails 5, Ruby 2, Sublime Text, and your command line ready before moving on.

    5. Command Line Crash Course

    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.

Week 1: Your First Rails Application 27 minutes

    1. Creating A New Application

    I'm going to show you how to create a new Ruby on Rails application

    2. Set Up Git

    Git lets you save different versions of your files to make it easier to work with a team, or to go back to previous saves.

    3. Update the Git Ignore File

    Updating .gitignore lets you ignore certain files you don't want Git to track

    4. Undoing a Change Using Git

    I'll show you how to do something really useful with Git: go back to your last save

    5. Renaming Your Application

    What if you made a mistake and wanted to rename your entire application? It's actually pretty easy.

    6. Pushing Your Code to Github

    Let's use git to get your code up on Github

Week 1: Building Pages 39 minutes

    1. Creating A Homepage

    One of the first things you'll want to do in a brand new Rails app is replace the default homepage with one of your own

    2. Setting Your Root Path With Routes

    Setting your root path means changing what page people see when they go to your homepage

    3. Creating More Pages

    You'll need more than just a homepage if you want to build a real web application

    4. Creating Navigation Links with Embedded Ruby

    Embedded Ruby (ERB) lets you write Ruby code inside your web pages

    5. Moving Navigation Links Into Our Layout

    By moving our links into the application layout, we can avoid duplication of code

    6. Saving Changes to Git and Github

    We're done for the week, let's save and push our changes to Github

    7. Assignment #1

    Your assignment for this week...

Week 2: Making it Look Good with Bootstrap 26 minutes

    1. Installing Bootstrap

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

    2. Installing Bootstrap pt 2

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

    3. Committing our Changes

    Remember, ABC: Always Be Committing.

    4. Using a Bootstrap Template

    Here are some templates you can use.

Week 2: Getting it Live with Heroku 14 minutes

    1. Deploying Your App to Heroku

    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. Heroku Tips

    What to do in case you run into problems with Heroku

Week 2: Adding Users about 1 hour

    1. Installing Devise

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

    2. Setting Up Devise

    Here I show you how to set up Devise so it works properly inside of our app.

    3. Adding Users with Devise

    Use Devise to create a user model and migrate those changes into your database.

    4. Exploring Our New Devise Functionality

    Devise automatically creates new pages in our app for signing up and signing in.

    5. Creating a User Dashboard

    With the new functionality, we can create a page that users can only see once they've signed in successfully.

    6. Adding a "Log out" Link

    A link in the navbar lets users log out of their account.

    7. Sign Up and Sign In Links

    Of course you'll also want to add links so that users can sign up and sign in again later.

    8. Customize Devise Routes

    Devise's default routes can be customized so we can use our own path names in our links.

    9. Redesigning the Sign In and Sign Up Pages

    Go into your views to override the default Devise sign up and sign in pages with your own HTML code.

    10. Pushing Our Code to Heroku

    Now to make sure it all works on Heroku too.

    11. Fixing the Log Out Bug

    A small change will make our app work again on Heroku.

    12. Assignment #2

    Customize some Bootstrap variables and share your Heroku URL.

Week 2: Bonus Stuff 6 minutes

    1. Installing Package Control and Syntax Highlighting in Sublime Text

    I'll show you how to add new Syntax Highlighting and other features to Sublime Text using Package Control.

    2. Setting Up a Custom Domain

    Registering and setting up a custom domain with Heroku is easy! I'll show you how.

Week 3: Creating an Admin Area about 1 hour

    1. Installing ActiveAdmin

    We'll be using a gem called ActiveAdmin to set up our admin area

    2. Adding Users to Our Admin Area

    We need to be able to see what users signed up in our admin area

    3. Locking Down Our Admin Area

    Lock down your admin area to admins only using these simple steps

    4. Creating Admin Users

    We're basically adding a new field to users that keeps track of whether they're an admin or not

    5. Dealing With Rails Migration Problems

    I show you a few important steps you can take in case you mess up migrations

    6. Making a User an Admin

    How to solve the puzzle of creating your first admin user

    7. A Quick Recap of ActiveAdmin Customizations So Far

    Here's what we've done (double check to make sure your changes match before moving on)

    8. Customizing ActiveAdmin Views

    I show you how to do some slight tweaking to ActiveAdmin views

    9. Pushing Admin Changes to Heroku

    Let's finally get this thing live (and test to make sure it works)!

Week 3: Adding Tweets (and Other Things) to Your App about 1 hour

    1. Creating a Scaffold

    What is this magical scaffold thing?

    2. Understanding a Scaffold

    Let's get a better understanding of what we just did

    3. Resources in Rails

    Okay, stay with me...

    4. Exploring Tweet Routing

    What routes did our new tweets create?

    5. Exploring the Tweets Controller

    Let's try to undesrtand the new tweets controller

    6. Exploring Tweet Views

    Finally we'll take a look at our new tweet views

    7. Associating Tweets and Users

    Tweets are nothing without users

    8. Creating Tweets Through Current User

    We'll use the handy current_user method to create our tweets

    9. Adding Tweets to our Admin Area

    So we can control them in there

    10. Hiding Links from Users Who Shouldn't See Them

    We don't want all users to see the links that we currently have, so how do we hide them?

    11. Forcing People to Log In

    We can block certain actions and force people to log in to access them

    12. Committing and Pushing Our Changes to Heroku

    Let's do another git commit and push so that we don't lose our changes

    13. Assignment #3: Create a New Resource

    Here's where things get real. You'll need to create a new resource for your app.

Week 4: Choose Your Own Adventure about 2 hours

    1. Replicating Twitter Styling

    I'll show you how you could use Bootstrap to change the styles of our resource.

    2. Creating Another Resource (Items)

    We'll walk through the steps of creating another resource to reinforce what we've learned so far.

    3. Model Validations

    Rails Validations are essential for making sure your models accept the right values.

    4. Adding Names and Usernames to Users

    Let's modify the default Devise user so that ours have names and usernames

    5. Creating User Profiles

    It's pretty easy to create a profile page for users

    6. Following pt 1: Acts as Follower

    Let's start our following feature with the Acts As Follower Gem

    7. Following pt 2: "Follow" and "Unfollow" Functionality

    I'll show you how to set up a controller, model, views, and routes for the full following functionality.

    8. Following pt 3: Adding a Feed

    Feeds are an essential part of a social app, showing all the people that you're following.

    9. Following pt 4: Committing Your Changes

    Let's get this new feature up on Heroku

    10. Following pt 5: Fixing a Heroku Following Bug

    In this lesson I nail down a tricky Heroku bug.

    11. Fixing a Handful of Bugs for Logged Out Users

    I just discovered several bugs for logged out users

    12. Voting pt 1: Acts as Votable

    We'll be building voting functionality by using the Acts as Votable gem

    13. Voting pt 2: Exploring Acts as Votable

    In this video I'll explore some of the new voting functionality that we get from the Acts as Votable gem

    14. Voting pt 3: Adding Voting to Items

    Let's bring it all together by adding voting to Items

    15. Image Upload pt 1: Paperclip

    In this lesson I'm going to show you how to do Image Upload with the Paperclip gem.

    16. Image Upload (Bonus): Installing ImageMagick on a Mac

    Installing ImageMagick can be tough. I'll do it on a Mac (it's much easier on a PC).

    17. Image Upload pt 2: Adding Image Upload to Tweets

    I'll show you how to add images to tweets

    18. Image Upload pt 3: Images on our Tweets

    Showing our new images

    19. Image Upload pt 4: Adding Image Upload to Heroku

    Let's get our new feature online!

    20. Image Upload pt 5: A Warning About Images on Heroku

    A quick warning... you'll need to set up Amazon S3 if you want images to stick around on Heroku

    21. Assignment #4

    Congrats! You're done with the class. Here's your last assignment

    22. What's Next?

    So you want to keep learning? Good on you! Here are some resources I recommend you check out.

    23. Get Your Certificate