-
Full Stack Rails Mastery
-
BONUS content (Full Stack Career Bundle)
-
Building a simple 2-sided marketplace app
- Introduction to building a simple 2-sided marketplace app
- How to set up a Rails app with Devise gem for user authentication
- Setting up data models for the marketplace
- Setting up the homepage and product pages
- Challenge 1: Fix the product editing bug
- Solution to Challenge 1: Fix the product editing bug
-
Accepting payments through Stripe
- How to set up Stripe in a Rails app
- Adding session info and links
- Add a buy button and checkout form
- How to handle Stripe webhooks to fulfill orders
-
Deploying Rails apps
-
Styling with CSS
- How to use CSS in Rails - An Overview
- How to add Tailwind CSS and a theme with the tailwindcss-rails gem
-
CMS features - images and rich text
- How to add image attachments in Rails using Active Storage
- How to add a rich text editor in Rails with Action Text
- How to remove a column using a Rails migration
-
Hotwire - adding interactivity and speed
- How to build an image gallery in Rails with Stimulus
- How Turbo Drive speeds up navigation in Rails
- How to use Turbo Frames
- How to use Turbo Streams to display Rails flash messages
- Adding Product Reviews with Turbo Stream Actions and Templates
- How to broadcast real-time updates with Turbo Streams and Turbo Morph
-
Enhancing product and user data
- Challenge: Replace hardcoded Stripe price id with product-specific ids
- Solution: Use Active Record callbacks to set unique Stripe price id for products
- Add name and profile photo to Users
- Seeding the development database using the Faker gem
-
Shopping cart
- Shopping Cart Data Models
- How to add a product to a shopping cart
- Adding a shopping cart page and navbar link
- How to use Turbo Streams to display a shopping cart item count
- How to remove a product from the shopping cart
- How to create a Stripe Checkout session for a shopping cart with multiple products
- How to process a Stripe webhook for a shopping cart order
- How to handle cart modifications after initiating checkout
- Fixing a nil bug in the shopping cart item count code
-
Action Mailer
-
Background jobs in Rails
- How to use Rails Active Job with Solid Queue for background jobs
- How to use Rails Active Job with Sidekiq for background jobs
-
Software as a Service (SaaS) features
- How to setup monthly subscriptions in Rails with Stripe
- How to process Stripe subscription webhooks in Rails
- How to handle Stripe subscription cancellations in Rails
-
Testing Rails Apps
- Introduction to Minitest for testing Rails apps
- Unit tests for the Product model
- Unit tests for the User model
- Unit tests for the Cart model
- How to use Capybara with Selenium for Rails system tests
- System tests for shopping cart checkout
- System tests for creating and editing products
- Controller tests for Stripe Webhooks
-
Upgrading Rails Apps
-
Rails Performance Optimization tips
-
Designing a Rails API (BONUS MODULE)
- 3 Ways to build a Rails API
- Designing REST API Endpoints in Rails
- RAILS API Authentication
- Rails API Documentation with Swagger
- Using the Grape gem for Rails APIs
-
React and Rails (BONUS MODULE)
-
Common Rails errors and troubleshooting guide
- NoMethodError in Devise::RegistrationsController#create
- cannot load such file -- sassc
- Rails LoadError Generating image variants require the image_processing gem
-
References, tools and miscellaneous topics
- How to setup Rails Guides for offline use
- How I used Rails to build an AI app that roasts Instagram
- Rails 7.2 allow_browser version guard feature
- How to allow ID attributes in Action Text
-
Rails Cheatsheets
How to use Capybara with Selenium for Rails system tests
Updated:
In this video lesson, we add Rails system tests for our shopping cart using the Capybara gem. System tests are great for simulating testing end-to-end functionality in the browser.