Skip to content

Instantly share code, notes, and snippets.

@wittawasw
Last active January 10, 2024 15:45
Show Gist options
  • Save wittawasw/4e7b7e699a1e7e134bf2a61932d2915d to your computer and use it in GitHub Desktop.
Save wittawasw/4e7b7e699a1e7e134bf2a61932d2915d to your computer and use it in GitHub Desktop.

Ruby on Rails Course Outline

Day 1: Introduction to Ruby and Rails

Session 1: Ruby Basics

  • Introduction to the Ruby language
  • Basic Tools, IDE, Runtime
  • Basic syntax, data types, and control structures
  • Modules and classes
  • Practical examples of module and class usage

Session 2: Testing in Ruby with Minitest

  • Introduce test frameworks
  • Overview of Minitest
  • Writing basic tests using Minitest for classes and modules

Session 3: Introduction to RubyGems

  • Basics of gem structure, gemspec files
  • How to install and manage gems in a Ruby project

Session 4: Introduction to Rails

  • Overview of Rails and its MVC architecture
  • Setting up a Rails development environment
  • Creating a new Rails application
  • Rails file structures breakdown

Session 5: Rails Models and Migrations

  • ActiveRecord and database migrations
  • Associations and queries in ActiveRecord

Session 6: Rails Views and Controllers

  • Basics of routing, controllers, and views in Rails
  • Implementing CRUD operations in a Rails app
  • Advance routing and custom controllers

Day 2: Testing and Advanced Rails

Session 1: Testing in Rails

  • Introduction to testing frameworks in Rails : demo with Minitest
  • Unit tests for models
  • Unit tests for controllers
  • Integration tests for controllers and views
  • End-to-end testing tools: demo with Capybara
  • Best practices in writing and maintaining integration and end-to-end tests

Session 2: Advanced Forms building

  • Nested resources
  • Form customization and use cases

Session 3: Frontend Integration in Rails

  • Asset pipeline in Rails
  • Rails 7 default frontend framework: StimulusJS, Turbo

Session 4: Advanced Rails Features

  • ActiveSupport, ActiveStorage, ActionMailer
  • ActiveJob and background processing
  • ActionCable and websocket based features

Day 3: Deployment and Guided project

Session 1: Deployment and Production Concerns

  • Dockerized Rails application
  • Environment configuration and secret management

Session 2: Guided Project and Q&A

  • Guided project building
  • Rails development Tips
  • Share notable Ruby gems that will make development easier.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment