24 Hour MVP
Buy now
Learn more
Welcome
What to expect
Setting up your environment
Confirming your environment works
Overview of a SaaS application
SaaS Web Application Architecture
My proven process to build quickly
Terminology (CRUD, DRY, MVC, and many more)
Accessing our applications
[Action Required] GitHub invitations
App #1 - Anonymous Suggestion Box
What we're building
Naming our app
Creating a fresh Rails app
Wireframe - Single Page CRUD App
Data modeling - Creating a database
[Bonus] Version control with Git
Data modeling - Inserting database tables
[Bonus] Connecting git with GitHub
Frontend - Creating pages
Frontend - Implementing UI with Tailwind
Backend - Creating database records
Backend - Creating a Twitter App
Backend - Using the Twitter API
Backend - Integrating Twitter in our application
Backend - Connecting to the Frontend
Backend - Improving our Twitter service
[Bonus] Javascript listeners to improve UX
Backend/Frontend - Validations to prevent bad data
[Challenge] Saving and exposing Tweet URLs
[Solution] Saving the Tweet ID and URL
[Solution] Show Tweet URL on Home Page
Expansion ideas (how to earn back your course tuition)
Preparing to release our application
Deploying applications to a server
Overview
Domain setup and DNS
Provisioning a server
Deploying to a server
Debugging our deployment
Connecting our server to a domain
[Bonus] Accessing the production database
App #2 - Stakeholder Update Network
What we're building
Wireframe - Part 1
Wireframe - Part 2
Data modeling - Defining tables and attributes
Creating a Rails app from a template
Data modeling - Writing and running migrations
Data modeling - Adding associations to Models
Data modeling - Changing table names
Frontend - Landing page and Tailwind config
Frontend - Using partials and building an application form
Frontend - Admin panel and namespaced routes
Frontend - Dashboard and RESTful routing
Frontend - Finishing touches
Backend - Whitelisting form parameters
Backend - Whitelisting form "radio" inputs
Backend - Admin panel and private controller methods
Backend - Building transactional mailers
Backend - Creating user logins
Backend - Magic login links
Backend - Onboarding and forced user login
Backend - Dashboard and database seeding
Backend - Model scopes and subscriber form
Backend - Handling rich text
Backend - Update endpoint and DRY controllers
Backend - Digest mailer and better seeds
Backend - Viewing updates and DigestService batching
Backend - Getting started with Stripe
Backend - Implementing Stripe Checkout
Backend - Final cleanup
Backend - Enforcing free plan rules
Backend - Production mailers
Backend - Cron jobs and tasks
Backend - Deploying to production
Backend - Intro to delayed jobs
Setting up cron jobs in production
App #3 - Embeddable JavaScript Widget
What we're building
Wireframe - Interface + Widget UX
Data modeling - Sketching table names and relationships
Data modeling - Creating our app and generating migrations
Frontend - Widget CRUD
Frontend - Popup message form
[Bonus] JavaScript 101
[Bonus] JavaScript + DOM
Frontend - Creating an embeddable JS snippet
Frontend - Making our snippet embeddable on other websites
Frontend - Sending form data with fetch()
Frontend - Widget UX improvements
Frontend - Dynamic widget styling
Frontend - Messages view
Frontend - Landing page and live preview editor
Frontend - More challenges and cleanup
Backend - Widget avatar storage on AWS S3
Backend - Message CSV export
Backend - Async requests without JavaScript
Backend - Text Message API
Backend - User email notifications
Backend - Final cleanup and billing strategies
Backend - Predeploy challenges
Backend - Deploying with the Heroku CLI
[Bonus] Future lecture ideas
Products
Course
Section
Lesson
Domain setup and DNS
Domain setup and DNS
24 Hour MVP
Buy now
Learn more
Welcome
What to expect
Setting up your environment
Confirming your environment works
Overview of a SaaS application
SaaS Web Application Architecture
My proven process to build quickly
Terminology (CRUD, DRY, MVC, and many more)
Accessing our applications
[Action Required] GitHub invitations
App #1 - Anonymous Suggestion Box
What we're building
Naming our app
Creating a fresh Rails app
Wireframe - Single Page CRUD App
Data modeling - Creating a database
[Bonus] Version control with Git
Data modeling - Inserting database tables
[Bonus] Connecting git with GitHub
Frontend - Creating pages
Frontend - Implementing UI with Tailwind
Backend - Creating database records
Backend - Creating a Twitter App
Backend - Using the Twitter API
Backend - Integrating Twitter in our application
Backend - Connecting to the Frontend
Backend - Improving our Twitter service
[Bonus] Javascript listeners to improve UX
Backend/Frontend - Validations to prevent bad data
[Challenge] Saving and exposing Tweet URLs
[Solution] Saving the Tweet ID and URL
[Solution] Show Tweet URL on Home Page
Expansion ideas (how to earn back your course tuition)
Preparing to release our application
Deploying applications to a server
Overview
Domain setup and DNS
Provisioning a server
Deploying to a server
Debugging our deployment
Connecting our server to a domain
[Bonus] Accessing the production database
App #2 - Stakeholder Update Network
What we're building
Wireframe - Part 1
Wireframe - Part 2
Data modeling - Defining tables and attributes
Creating a Rails app from a template
Data modeling - Writing and running migrations
Data modeling - Adding associations to Models
Data modeling - Changing table names
Frontend - Landing page and Tailwind config
Frontend - Using partials and building an application form
Frontend - Admin panel and namespaced routes
Frontend - Dashboard and RESTful routing
Frontend - Finishing touches
Backend - Whitelisting form parameters
Backend - Whitelisting form "radio" inputs
Backend - Admin panel and private controller methods
Backend - Building transactional mailers
Backend - Creating user logins
Backend - Magic login links
Backend - Onboarding and forced user login
Backend - Dashboard and database seeding
Backend - Model scopes and subscriber form
Backend - Handling rich text
Backend - Update endpoint and DRY controllers
Backend - Digest mailer and better seeds
Backend - Viewing updates and DigestService batching
Backend - Getting started with Stripe
Backend - Implementing Stripe Checkout
Backend - Final cleanup
Backend - Enforcing free plan rules
Backend - Production mailers
Backend - Cron jobs and tasks
Backend - Deploying to production
Backend - Intro to delayed jobs
Setting up cron jobs in production
App #3 - Embeddable JavaScript Widget
What we're building
Wireframe - Interface + Widget UX
Data modeling - Sketching table names and relationships
Data modeling - Creating our app and generating migrations
Frontend - Widget CRUD
Frontend - Popup message form
[Bonus] JavaScript 101
[Bonus] JavaScript + DOM
Frontend - Creating an embeddable JS snippet
Frontend - Making our snippet embeddable on other websites
Frontend - Sending form data with fetch()
Frontend - Widget UX improvements
Frontend - Dynamic widget styling
Frontend - Messages view
Frontend - Landing page and live preview editor
Frontend - More challenges and cleanup
Backend - Widget avatar storage on AWS S3
Backend - Message CSV export
Backend - Async requests without JavaScript
Backend - Text Message API
Backend - User email notifications
Backend - Final cleanup and billing strategies
Backend - Predeploy challenges
Backend - Deploying with the Heroku CLI
[Bonus] Future lecture ideas
Lesson unavailable
Please
login to your account
or
buy the course
.