/rails-tutorial

Learn how to work in Rails by building a realtime chat application

Rails Tutorial

Welcome. This is a tutorial to help you learn the fundamentals of Ruby on Rails. You are about to start on a journey to create a Rails-based webapp similar to Slack, Discord, and other chat applications. There are various sections and it is recommended that you work in groups of 2.

What will this teach me about Rails?

Maybe

Sections

It is recommended to follow these sections in order. You may skip sections if you wish, but each section will include Action Items that you will need to complete. These will be denoted at the end of each section in an "Action Items" header.

  1. Introduction: Ruby, Bundler, RubyGems, and rbenv
  2. Starting with Rails
  3. Navigating your Rails App
  4. Project Introduction
  5. Data Model (Part 1)
  6. User Authentication
  7. Data Model (Part 2)
  8. Add Primer
  9. Application Layouts (Part 1)
  10. Application Layouts (Part 2) and a Joins Table
  11. Forms and Validations
  12. Improve Existing Views
  13. Implement leaving a Channel: Soft Deletion (Part 1)
  14. Implement leaving a Channel: Controllers and Routing (Part 2)
  15. Nested Routes
  16. ActiveText and Messages (Part 1)
  17. Messages: Views (Part 2)
  18. Adding Tests (Part 1)
  19. Adding Tests (Part 2)
  20. Adding Tests (Part 3)
  21. Adding Tests (Part 4)
  22. TODO: Better Views
  23. TODO: Counter Caches and SQL Optimizations
  24. TODO: Profile Page
  25. TODO: ActionCable - Live Updating
  26. TODO: Notifications via ActionCable
  27. TODO: Notifications via Email
  28. TODO: View Components
  29. TODO: Background Jobs