🔥 Building a SaaS in a week

showing all the steps here 👇
1/

This is an experiment - it may go horribly, we'll see 😅

Why?
To push myself; show others how to build a SaaS

What?
Live customer chat in Slack (kind of like what Intercom was originally)

Tech stack
Reach on Rails on Heroku; Stripe for payments
2/

Register http://acornchat.com 

Namecheap for DNS - solid provider + they have ALIAS DNS records

Gsuite setup, including how to have multiple emails addresses on the same gsuite without paying extra 🎉
3/

Oops, forgot to set the MX DNS records so that email sent to http://acornchat.com  would run through gmail

Here's how to setup custom MX records for custom email in namecheap
4/

Setting up a new rails project with React:

rails new --skip-turbolinks project-name
cd project-name
rake webpacker:install:react
rails s

bundle exec rails g controller Welcome
# routes.rb => root 'welcome#index'

Then you can use react packs in rails! 🎉
5/

Adding some style with @tailwindcss!

I followed the tutorial here almost exactly:

Except I was able to use postcss@latest instead of @ 7 🥳
6/

Make a new github repo and push the app

Not only is version control a best practice for saving and tracking your work - it will make deploying to heroku super simple

Watch out! when you create a new repo this way, make sure not to have github create your readme or gitignore
7/

Making logos, favicons, and a twitter card before deploying

used http://realfavicongenerator.net  to generate all the various favicon sizes

Twitter card resolution: 1200x675, and make sure to add all the meta tags! https://twitter.com/chrisachard/status/1356682288633937922
8/

It's live!

Here's how to deploy your app to heroku, and then actually make it live at [your-domain].com 🥳🍾
9/

User auth using devise: https://github.com/heartcombo/devise

I used the options:

devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable,
:confirmable

And it works! Users can sign up now (though it doesn't do anything yet 😅)
10/

Adding file uploads to rails is super easy with active storage! 🥳

Create an s3 bucket, specify that in your storage.yml and in production.rb and you've got uploads

Also, make a Procfile and a .env file, then use "heroku local" to launch the server and read from the .env
11/

Sending email from the app:

- add @SendGrid API key to .env file
- set ActionMailer to use that key if it exists
- use the letter_opener gem in dev for testing in the browser

Password reset emails done! 💯
You can follow @chrisachard.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.