Part 1: Introduction to Ruby and Rails
Chapter 1: Hello, Rails
· The world before the Rails
· Favorite things I gained from Rails
· Increased Signal-to-Noise ratio
· Testability since Day 1
· Programmer happiness
· Installing Docker on Windows
· Installing Docker on Ubuntu Linux
· Installing Docker on MacOS
· Creating simple containerized Rails app
· MVC architecture
· Deploying to Heroku
· Git workflow
Chapter 2: Ruby Quick Crash Course
· What kind of a language is Ruby?
· Interactive console
· Number
· String
· Making a Class
· Public functions
· Private and protected membership
· Instance variables
· Constants
· Building on a Module
· Everything is an Object
· Date
· Array
· Hash
· Symbol (after having experience building Hash with Symbol vs String)
· Instantiating other objects
· Make your own Block (simple way to introduce yield & block, and learn build simple DSL)
· Thread
· Meta-programming
Part 2: Building a Social Network
· What are we building?
· Use case diagram
· Entity diagram
Chapter 3: Building the Models
· User model
· Inserting data
· Updating data
· Seeking data
· Destroying data
· Unit-test the model with RSpec
· Complex Query
· Status model and Has One-to-One relationship
· Friendship model and Many-to-Many relationship
· Testing up the relationships
· Adding validations
· Updating table schema
Chapter 4: Login Capabilities
· Installing Devise
· Routing
· Layout
· Building Sign in and Sign up form
· Wiring up the Sign out
· Testing up the request
Chapter 5: Building Post and Timeline
· Building the Timeline
· Introduction to Helper
· Post a Status!
· Integration testing with Capybara
· Debugging with Pry
Chapter 6: Add as Friend
· AJAX request
· Sending friendship request
· Confirming friendship request
· Sending email
· Background processing
Chapter 7: Deploying to AWS
· Making an Amazon account
· Making an ElasticBeanstalk instance
· Setting up deploy script
· Seeing it online
· How to associate it with a domain name?
Chapter 8: What next?
· Mobile App?
· API controllers
· Staging environment
An accelerated tutorial on the Rails 6 web development framework
Covers a social networking case study application
A unique approach that includes some software engineering techniques to building your web application