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
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:
- My Kickoff Tailwind Rails application template
- Using foreman when developing locally
- Harnessing webpack to make use of Tailwind CSS
- Adding a Mailer that sends to the current user once a session is booked.
- Integrating a payment system with Stripe for each new session entry.
- I'll make use of the Stripe gem and Stripe's Elements drop in credit card form.
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
- Let’s Build: With Ruby on Rails – Introduction
- Let’s Build: With Ruby on Rails – Installation
- Let’s Build: With Ruby on Rails – Blog with Comments
- Let’s Build: With Ruby on Rails – A Twitter Clone
- Let’s Build: With Ruby on Rails – A Dribbble Clone
- Let’s Build: With Ruby on Rails – Project Management App
- Let’s Build: With Ruby on Rails – Discussion Forum
- Let’s Build: With Ruby on Rails – Deploying an App to Heroku
- Let’s Build: With Ruby on Rails – eCommerce Music Shop
- Let’s Build: With Ruby on Rails – Book Library App with Stripe Subscription Payments
- Let’s Build: With Ruby on Rails – Trade App With In-App Messaging
- Let’s Build: With Ruby on Rails – Multitenancy Workout Tracker App
Shameless plug time
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.
Categories
Collection
Part of the Let's Build: With Ruby on Rails collection
Products and courses
-
Hello Hotwire
A course on Hotwire + Ruby on Rails.
-
Hello Rails
A course for newcomers to Ruby on Rails.
-
Rails UI
UI templates and components for Rails.