Andy from Webcrunch

Subscribe for email updates:

Portrait of Andy Leverenz
Andy Leverenz

November 23, 2018

Last updated November 5, 2023

Let's Build: With Ruby on Rails - Event Scheduling App with Payments

Welcome to my next installment of the Let's Build: With Ruby on Rails screencast series. After a bit of a hiatus, I'm back building apps with Ruby on Rails. My goal is to learn in the public as well as teach those interested in doing the same.

Much of the content you see out there about Ruby on Rails is quite dated so this series and more is an attempted to get things up to speed when it comes to new technologies, conventions, configurations, and more.

Source Code

Download the source code

About the build

In this seven-part series, I will build an app called Consultly. The app primarily deals with event scheduling but could be extended a great deal.

Any new user can sign up for free but will be charged if they are interested in scheduling a consultation session (with the admin of the app). All data pertaining to each new session will be relative to the currently logged in user. The primary focus is to provide an entrepreneurial consultant a platform to receive payments, communicate with clients, and book sessions without exchanging a lot of emails or phone calls.

I'll add support for an admin user role to manage users, see upcoming sessions that have been booked, as well as manage the application.

Topics of discussion include:

Gems we'll harness

It's probably easier to share my Gemfile so find the gems we use below. Note: Some of these come bundled with my Kickoff - Tailwind application template.

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.5.3'

gem 'rails', '~> 5.2.1'
gem 'sqlite3'
gem 'puma', '~> 3.11'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
# gem 'mini_racer', platforms: :ruby
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'redis', '~> 4.0'
# gem 'bcrypt', '~> 3.1.7'

# Use ActiveStorage variant
# gem 'mini_magick', '~> 4.8'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.1.0', require: false

group :development, :test do
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

group :development do
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

group :test do
  gem 'capybara', '>= 2.15'
  gem 'selenium-webdriver'
  gem 'chromedriver-helper'
end

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

gem 'devise', '~> 4.4', '>= 4.4.3'
gem 'friendly_id', '~> 5.2', '>= 5.2.4'
gem 'foreman', '~> 0.84.0'
gem 'sidekiq', '~> 5.1', '>= 5.1.3'
gem 'tailwindcss', '~> 0.2.0'
gem 'webpacker', '~> 3.5', '>= 3.5.3'

# consultly specific
gem 'simple_calendar', '~> 2.3'
gem 'trix', '~> 0.9.9'
gem 'stripe', '~> 4.0', '>= 4.0.2'

group :development, :test do
  gem 'better_errors'
end

Following along

I think the videos do a much better job as a step by step guide when following along with this build. Being that it covers a great bit of detail I invite you to watch and follow along on your own. Some folks prefer written format and I can relate but I honestly ran out of time on this one. If you would prefer a written format please leave a comment below expressing so.

The Videos

Watch the seven-part Let's Build: With Ruby on Rails - Event Scheduling App with Payments series below:

Part 1

Part 2

Part 3

Part 4

Part 5

Part 6

Part 7

The Let's Build: With Ruby on Rails Series So Far

Shameless plug time

Hello Rails Course

I have a new course called Hello Rails. Hello Rails is modern course designed to help you start using and understanding Ruby on Rails fast. If you're a novice when it comes to Ruby or Ruby on Rails I invite you to check out the site. The course will be much like these builds but a super more in-depth version with more realistic goals and deliverables. View the course!

Follow @hello_rails and myself @justalever on Twitter.

Link this article
Est. reading time: 6 minutes
Stats: 13,230 views

Categories

Collection

Part of the Let's Build: With Ruby on Rails collection