Update March 2016 - New lectures have been added for: upgrading to version 4.2 of the Rails framework, how to edit nested resources, and cleaning up notifications. I also added a guide for how to install the Ruby on Rails framework locally on Mac and PC.
What does it take to become a full stack web developer? Well, you need to know: server side coding, database design, HTML, CSS, algorithm development, file manipulation, routing, API integration, and the list goes on and on. Trying to learn each of these topics individually can feel overwhelming and finding out how they are all connected cause most developers to quit before they even start.
It’s for these reasons why I wanted to create a unique course that will walk you step by step through every skill you will need to become a full stack web developer, and I do it by showing you how to build an actual production application. Starting completely from scratch I explain how to setup your environment, create the application, build in advanced features and finally deploy to the web!
Some of the key skills you will learn in the course are:
Each video in the course has a link where you can access the code that was created for that specific stage in the course, making it easy to follow along. After completing the course you will earn a certificate of completion for Comprehensive Ruby on Rails development and you will be ready to start building your own applications.
This is the first video in a series of tutorials walking through how to build robust enterprise applications using Ruby on Rails. In this video you will learn how to set up your Rails environment, create a new application, run a scaffold migration to build out the initial functionality and see the system work in the browser.
In this video you will see how to create and push to a git repository, utilizing GitHub will allow for you to host your code remotely, have an easy to access source version management system, and collaborate with others. You can see the code repository for this video here: https://github.com/jordanhudgens/enterpriseape
In this video you will see how to deploy a Ruby on Rails application to Heroku for the first time (along with a number of the errors that come with it). Deploying to Heroku will allow you to showcase your application to customers, friends, collaborators, etc. and it's completely free for developers. To access the code files for this episode, you can view/download it from the git repository: https://github.com/jordanhudgens/enterpriseape/tree/687fd36e33ba70aa333d93391f70a480fe64f842
This video explains how to utilize markdown syntax to create and customize a readme file for Github. Your readme file is one of the first things users will see when accessing your application on Github, and it's helpful to have a professional looking readme file in place, and the markdown markup language makes it easy to do. You can access the files for this tutorial at this Github repository: https://github.com/jordanhudgens/enterpriseape/tree/9a7ae667a152c207b0a339e497d62669744aa43f
This video will quickly walk you through how to remove a file from a git repository using the unix terminal. This was used for a rails application, however the same technique can be used for any language/framework utilizing a local git repository.
In this video I walk through: how to set the root page of the application, edit the application view file and stub out the initial navigation bar.
In this video I walk through how to code a functional navigation controller that allows for users to navigate to different pages on the website. I show how to use the rails controller generator and update the routes file.
This tutorial walks through how to create and make changes on a git branch, push the branch to a GitHub repository (without altering the main master branch), and then reverting code changes when necessary. To access the code and the Ruby on Rails application that was used, please visit: https://github.com/jordanhudgens/enterpriseape/tree/6d5acc29d0c52895ebfbaba98f78832da84a25d9
In this tutorial I walk through how to install and configure the Twitter Bootstrap design framework into a Ruby on Rails application. I show how to add the gem, configure the css file and configure Heroku to compile the assets. To access the code for this tutorial, please visit: https://github.com/jordanhudgens/enterpriseape/tree/382720973eeb48c58f6d1e8cb0de88e367366e55
In this video I walk through how to style HTML tables using the Twitter Bootstrap design framework. The tables are nicely organized with a hover effect when the user rolls his mouse over each row. I also show how to stylize button colors. To see the code for this video, please visit: https://github.com/jordanhudgens/enterpriseape/tree/5937fd6203ff05e1159e4c4d4fd81f664382d302
This video walk through how use custom date format by implementing the strftime function into a Ruby on Rail application. You can access the code for this video here: https://github.com/jordanhudgens/enterpriseape/tree/e0a46e96fab46e575e1ca0b0ac5dcb5b754e27ed
This video walks through how to quickly remove a file from a local git repository using the rm command.
This video walks through how to build out the ability to search through a database with a date range in a Ruby on Rails app. In the video I show how to create a custom class, integrate search fields, and set default values. You can access the code for this video on the GitHub page here: https://github.com/jordanhudgens/enterpriseape/tree/004413528c84c804b84525d1620b1fc3d9af6a6e
In this video I walk through how to install Devise for user authentication. I also show how to use Sendgrid and ActionMailer for emailing confirmation emails (using the Devise confirmable method). This process will enable your application to allow user sign ups, password recovery, sign in and sign out functionality. To access the code for this video, please visit: https://github.com/jordanhudgens/enterpriseape/tree/0bdbd315a3828a1c2f2db409843661e849ab7c29
If you are using Nitrious.io to build your Ruby on Rails application, you may run into this issue when integrating the Devise confirmable option. The key is to realize that Devise was originally setup to work with localhost, and you'll need to use the route path to make the confirmation go through (you could also configure the URL to be your nitrious.io url in your development.rb file).
This video explains how to show and hide links based on whether or not a user is signed into the application. I use the built in Devise method 'current_user' in an if block to handle the logic. The code to this video is on the project's Git repository: https://github.com/jordanhudgens/enterpriseape/tree/9a5287f763906363068aea1503d7331026c11962
This video explains how to style and customize alert notifications in a Ruby on Rails application. This video leverages built in Bootstrap design classes to style the messages along with adding the ability to close messages.
In this video I walk through how to add the ability to upload data into a Ruby on Rails application by uploading CSV files. This is a feature that I use in almost every application I build out, it allows for you to upload data for testing while developing the application and also for end users to quickly add large amounts of data automatically to the database. The code for this feature is located at this commit of the git repository: https://github.com/jordanhudgens/enterpriseape/tree/1771473f34ab1d7b5e25803097c739c441a5a659
This video walks through how to quickly build out the ability to download data from a Ruby on Rails application database and store it in a CSV file. This is a very helpful feature and typically is used in the majority of the applications that I develop. The code for this episode can be accessed on this git commit: https://github.com/jordanhudgens/enterpriseape/tree/dd78f6b016553d5b8a03a65280fe1b8825283c61
In this video I walk through how to use some of the built in Bootstrap classes to style forms in a Ruby on Rails application to make it easier to use and more visually appealing. The code for this tutorial can be accessed on the project's git repository: https://github.com/jordanhudgens/enterpriseape/tree/f496ae26f19fb577fe9d4e9b934a25e55874ada5
In this video I walk through how to use the options_for_select method for enabling a dropdown select box for a Ruby on Rails form. I also show how to perform a database migration by adding a column to a database table, edit the application's strong parameters, and update the view to show the new data. The code for this video is located at the git commit for this feature: https://github.com/jordanhudgens/enterpriseape/tree/8f9e952c9fd92bb3040dc4f44cff604a52b1190d
This video walks through how to utilize the built in form helper, collection select, to fill in a drop down form element in a Ruby on Rails application. As you watch the video you'll see that I've left in a few mistakes that I made while building the feature, I left these in so you can see some common mistakes that developers can make when building an application, and more importantly how to fix the errors. This video teaches how to use the collection_select method in a form, how to perform a database migration to add a column and how to remove a column from a database. The code for the feature build can be found on the git commit here: https://github.com/jordanhudgens/enterpriseape/tree/3769900fe1b6c42d7dd52ea2f27c61a6c5ce6f19
The Rails console is a powerful tool for Ruby on Rails developers, in this video I walk through how to use the console to connect to the database, run queries, store queries in variables, and perform join queries to solve a real world problem. I also show how to use built in methods such as: where, limit, and multiple dynamic find tools. The code for this lesson can be found at the code repository: https://github.com/jordanhudgens/enterpriseape/tree/3fef298b3856b6ba821f92a9a7c850879a530003
This is a follow up video to the last rails console tutorial, in this lesson I walk through a number of more advanced features of the rails console, including: using the sandbox mode, utilizing the previous expression with methods, viewing data as JSON, YAML, and XML, updating a single attribute in the database, updating all attributes in the database, reviewing the data that is stored by Ruby variables, using the destroy method to delete items from a database, and finally the reload! method for reloading the data inside of the console.
This video shows a typical way to debug a NoMethodError or an incorrect undefined method call in a Ruby on Rails application. You can access the code for the application up to this point at the git repository here: https://github.com/jordanhudgens/enterpriseape/tree/7d64e1fddac47aa5e4dc4bbaabda836c157bdd8b
In this video I walk through how to add a navigation dropdown element in a Ruby on Rails application. I leverage a number of Bootstrap design classes such as buttons and list items to style the dropdown. This helps the user access different parts of the application without having to type in the URL or take up space on the actual navigation bar itself. The code for this stage of the app's development can be accessed from this specific version of the git repository here: https://github.com/jordanhudgens/enterpriseape/tree/45c3e5dfa882c378c8dafbeb91a70aab4a78e165
This video walks through how to integrate a reference call inside of the parameters of a Ruby on Rails scaffold generator. This is a great way of connecting database tables and ensuring they are properly referenced, especially for relational database relationships. The code for this version of the application is at the git repository: https://github.com/jordanhudgens/enterpriseape/tree/4a462093dba9e937be10e472cd667e30836a7740
This video walks through how to add items to the database of a Ruby on Rails application by using this rails console. When I'm building out Rails applications I will usually add some test products into the console using the techniques illustrated in this video to test the relationship mapping and ensuring all of the data types are working as expected. The code for this version of the application can be accessed from the git repository here: https://github.com/jordanhudgens/enterpriseape/tree/a27b983b91fffde630e7c0d75c08b9dbc3d390bd
In this video I walk through one of the more complex topics of the course and explain how to integrate nesting. This involves updating the file structure, re-configuring the routes file, and updating both the controllers and views. The code for this version of the application can be accessed from its git repository here: https://github.com/jordanhudgens/enterpriseape/tree/d815bd4adde8877eab043987817634529c06a447
This video walks through how to integrate a form and add nested items under parent items in a Ruby on Rails application. The practical example I use is nesting purchased items under a single invoice, and building in the relationship so that the purchased items all point to specific invoices. You can access the code for this version of the application from its git repository: https://github.com/jordanhudgens/enterpriseape/tree/9f07d90e37458916822ac6a5cbc053479b15fa66
In this video I walk through how to customize the views and controllers in order to deleted a nested attribute. The example I use in this episode is how to delete a line item from an invoice. You can access the code for this episode at the git repository: https://github.com/jordanhudgens/enterpriseape/tree/ced843aabb3c16163b8ae6ae4c831a6585bafcb6
This video walks you through how to add a column to a database table in a Ruby on Rails application using a migration. This is a rather simple task, however it is one that Rails developers do on a daily basis, so it is important to practice and have the commands memorized.
Rails 4 now requires developers to utilize strong parameters for form data and in this video I walk through how to edit the strong parameters to accept additional values. I also show how to integrate the built in Rails number_to_currency function to automatically format financial data properly. You can find the code to this version of the application in the git repository here: https://github.com/jordanhudgens/enterpriseape/tree/13ca183ae984db0995df502883b9c83df35ee167
This video explains how to perform calculations in a Rails application and utilizes an invoice as an example. In the video I show how to create single calculations per line item by showing the output of the quantity multiplied by the price, and then I also show how to keep a dynamic running total of all of the purchased items per invoice. You can access the code for this repository in this version's repository here: https://github.com/jordanhudgens/enterpriseape
Thank you for taking the course and please let me know if you have any questions as you develop the Rails application.
If you are looking to make your rails server logs more readable, the Quiet Assets gem is a fast and easy way to make the logs more easy to navigate. The gem can be found here: https://github.com/evrone/quiet_assets - and thanks to Michal Kwiatkowski for sending me the gem in the first place: https://github.com/mkwiatkowski
When deploying a Twitter Bootstrap enabled Ruby on Rails application to Heroku, a common bug is for the built in glyphicons to not show up, even if they are working properly on your local development environment. In order to fix the bug, you simply need to edit your production.rb file and change the line that says 'config.assets.compile = false' to 'config.assets.compile = true' and the glyphicons will start showing up properly.
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.