Let’s Build: With Ruby on Rails – Event Scheduling App with Payments
Tags: ruby, rails, showdev
Published: 2019-03-06 15:36:04

---
title: Let’s Build: With Ruby on Rails – Event Scheduling App with Payments
published: true
tags: ruby, rails, showdev
canonical_url: https://web-crunch.com/lets-build-ruby-on-rails-event-scheduling-app-payments/
cover_image: https://thepracticaldev.s3.amazonaws.com/i/bnpzc82278ro1w069hbz.jpg
---

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

{% github https://github.com/justalever/consultly %}

### 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](https://github.com/justalever/kickoff_tailwind)
- Using [foreman](https://github.com/ddollar/foreman) when developing locally
- Harnessing [webpack](https://github.com/rails/webpacker) to make use of [Tailwind CSS](https://tailwindcss.com/)
- Adding a [Mailer](https://guides.rubyonrails.org/action_mailer_basics.html) that sends to the current user once a session is booked.
- Integrating a payment system with [Stripe](https://stripe.com/) for each new session entry.
  - I’ll make use of the [Stripe gem](https://github.com/stripe/stripe-ruby) and [Stripe’s Elements drop in credit card form](https://stripe.com/payments/elements).

#### 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.

```ruby
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.

## Videos

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

### Part 1

{% youtube l9zDmY9VrCw %}


### Part 2

{% youtube lG51oDx4Dr4 %}

### Part 3

{% youtube Tf8jK_UmgvM %}


### Part 4

{% youtube p8igKthu9O8 %}


### Part 5

{% youtube vfnvdRLtUKA %}


### Part 6

{% youtube nUg4z2QNakY %}


### Part 7

{% youtube C9Rt2B5HVz8 %}


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

- [Let’s Build: With Ruby on Rails – Introduction](https://web-crunch.com/lets-build-with-ruby-on-rails-introduction/)
- [Let’s Build: With Ruby on Rails – Installation](https://web-crunch.com/lets-build-with-ruby-on-rails-installation/)
- [Let’s Build: With Ruby on Rails – Blog with Comments](https://web-crunch.com/lets-build-with-ruby-on-rails-blog-with-comments)
- [Let’s Build: With Ruby on Rails – A Twitter Clone](https://web-crunch.com/lets-build-with-ruby-on-rails-a-twitter-clone/)
- [Let’s Build: With Ruby on Rails – A Dribbble Clone](https://web-crunch.com/lets-build-dribbble-clone-with-ruby-on-rails/)
- [Let’s Build: With Ruby on Rails – Project Management App](https://web-crunch.com/lets-build-with-ruby-on-rails-project-management-app/)
- [Let’s Build: With Ruby on Rails – Discussion Forum](https://web-crunch.com/lets-build-with-ruby-on-rails-discussion-forum/)
- [Let’s Build: With Ruby on Rails – Deploying an App to Heroku](https://web-crunch.com/lets-build-with-ruby-on-rails-deploying-an-app-to-heroku/)
- [Let’s Build: With Ruby on Rails – eCommerce Music Shop](https://web-crunch.com/ruby-on-rails-ecommerce-music-shop/)
- [Let’s Build: With Ruby on Rails – Book Library App with Stripe Subscription Payments](https://web-crunch.com/lets-build-ruby-on-rails-book-library-stripe-subscription-payments/)
- [Let’s Build: With Ruby on Rails – Trade App With In-App Messaging](https://web-crunch.com/lets-build-with-ruby-on-rails-trade-app-in-app-messaging/)
- [Let’s Build: With Ruby on Rails – Multitenancy Workout Tracker App](https://web-crunch.com/lets-build-with-ruby-on-rails-multitenancy-workout-tracker-app/)

### Shameless plug time

[![](https://i1.wp.com/web-crunch.com/wp-content/uploads/2019/01/YouTube-Promo3.jpg?resize=3840%2C2160&ssl=1)](http://hellorails.io)

I have a new course called [Hello Rails](https://hellorails.io). 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. [Sign up to get notified today](https://hellorails.io/)!

Follow [@hello\_rails](https://twitter.com/hello_rails) and [myself @justalever](https://twitter.com/justalever) on Twitter.

The post [Let’s Build: With Ruby on Rails – Event Scheduling App with Payments](https://web-crunch.com/lets-build-ruby-on-rails-event-scheduling-app-payments/) appeared first on [Web-Crunch](https://web-crunch.com).