/geekwise-rails

Course outline for the Geekwise Academy Rails course

Ruby on Rails

A Geekwise Academy course taught by Darin Haener.

Summary

Rails is a web application development framework written in the Ruby language. It is designed to make programming web applications easier by making assumptions about what every developer needs to get started. It allows you to write less code while accomplishing more than many other languages and frameworks. Experienced Rails developers also report that it makes web application development more fun.

rubyonrails.org

I couldn't have said it better myself - Rails developers really do have more fun. In all seriousness, Rails provides a powerful set of tools that, if leveraged properly, will vastly improve your productivity and make it a joy maintain your code for years to come.

In this course, you will learn the ins-and-outs of the Rails framework and become a proficient Rubyist along the way. In class, you will learn by discovery as we build Basewise, a clone of Basecamp. This is not a class for spectators; you'll be getting your hands dirty with code on day one. You will have the opportunity to apply your new knowledge often with mini in-class exercises. By the end, you will be able to create a full-functioning Rails application from the ground up. The final project is your chance to show off your freshly-acquired skills -- I highly encourage you to have fun and be creative with it!

I look forward to embarking on this journey with you!

Objectives

  • Gain proficiency with the Ruby language
  • Learn the Rails framework conventions
  • Learn unit testing best practices
  • Build authentication and authorization systems
  • Build CRUD (create/read/update/delete) interfaces
  • Gain understanding of RESTful architecture
  • Learn problem-solving techniques in the Rails context
  • Explore design patterns for improving code quality

Schedule

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/02.md">2</a></td>
  <td>Thursday, February 19</td>
  <td>Models</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/03.md">3</a></td>
  <td>Tuesday, February 24</td>
  <td>Validations &amp; Unit Testing</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/04.md">4</a></td>
  <td>Thursday, February 26</td>
  <td>Conditional Validations, Callbacks &amp; Testing</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/05.md">5</a></td>
  <td>Tuesday, March 3</td>
  <td>User Registration</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/06.md">6</a></td>
  <td>Thursday, March 5</td>
  <td>Authentication</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/07.md">7</a></td>
  <td>Tuesday, March 10</td>
  <td>Forms &amp; Partials</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/08.md">8</a></td>
  <td>Thursday, March 12</td>
  <td>Associations</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/09.md">9</a></td>
  <td>Tuesday, March 17</td>
  <td>More Associations & UX/UI</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/10.md">10</a></td>
  <td>Thursday, March 19</td>
  <td>Nested Resources & Todos</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/11.md">11</a></td>
  <td>Tuesday, March 24</td>
  <td>Rails and CoffeeScript</td>
</tr>

<tr>
  <td><a href="https://github.com/dphaener/geekwise-rails/blob/master/outlines/12.md">12</a></td>
  <td>Thursday, March 26</td>
  <td>Advanced Rails and Wrap Up</td>
</tr>
Session Date Topics
1 Tuesday, February 17 Your First Rails App