Ruby on Rails 6: Learn 25+ gems and build a Startup MVP 2020

20h 55m 46s
English
Paid

Course description

Code-Along & Learn Ruby on Rails, Master 25+ gems, Build an online learning platform like Skillshare or unofficial Udemy.
Read more about the course

In this course you will learn to build your own e-learning platform (like an Udemy, Skillshare clone) while learning 25+ gems and multiple Rails features!

In this course you will:

  • gain the broad knowledge and skill needed to create basically any web application you can think of.

  • get acquainted with all the modern technologies needed to find a Ruby on Rails Developer job.

  • create your own online learning platform that you will be able to monetize as you wish.

  • be granted access to the source code of the application that we will be building.

I'm proud to say that this is the most feature-rich Ruby-on-Rails-6 course on the internet

Through the years of being a software developer I've learnt a lot by trial, error, and research.

You don't have to spend all the time I did.

In this course I've summed up the best practices of using different gems and features.

You will be able to learn it all by practice!

As well we will learn to troubleshoot different issues in development and production.

We are going to build an online learning platform, step-by-step, feature-by-feature!

As a beginner you will learn the whole process of developing an application with multiple features.

As a more experienced developer, you will master features that you didn't have a big experience with.

As well, you will have access to the source code of the demo application.

This way, you will be able to launch your own e-learning platform at any time!

Here are a few topics that we will cover in the course:

Learn 25+ most popular Ruby on Rails gems:

  1. gem bootstrap and gem jquery-rails

  2. gem font-awesome-saas - library of pretty icons

  3. gem simple_form - better way to create forms

  4. gem faker - create fake data

  5. gem friendly_id - create pretty URLs

  6. gem ransack - search and filter data

  7. gem public_activity - track all actions in the application

  8. gem pagy - the best gem for pagination

  9. gem devise - authentication (users can log in)

  10. gem rolify - assign users different roles

  11. gem pundit - authorization (users can perform different actions)

  12. gem chartkick - beautiful charts

  13. gem groupdate - group data by periods

  14. gem exception_notifications - error messages in production

  15. gem rails-erd - generate an Entity Relationship Diagram

  16. gem ranked-model - order items in a list

  17. gem aws-sdk-s3 - store files on AWS S3

  18. gem active_storage_validations - validate attachments

  19. gem image_processing - display and manage images

  20. gem recaptcha - no bots will sign up

  21. gem wicked_pdf - design PDF Certificates of Completion for students

  22. gem wicked - wizard for step-by-step forms

  23. gem omniauth-google-oauth2 - sign in with google

  24. gem omniauth-facebook - sign in with facebook

  25. gem omniauth-github - sign in with github

  26. gem cocoon - nested forms

& more

Learn Ruby on Rails features:

  1. work with yarn and webpacker

  2. action_text

  3. active_storage

  4. action_mailer

  5. secret credentials

  6. counter_cache

  7. scopes

  8. application_helper, "case" and "when" methods

  9. adding custom buttons

  10. conditional validation

  11. callbacks

  12. pluralization

  13. increment method

  14. dependent restrict_with_error

  15. advanced nested resources

  16. buttons for custom actions

& more

Learn supporting technologies:

  1. AWS C9 - cloud IDE

  2. AWS S3 - store files in production

  3. PostgreSQL database

  4. Github

  5. Heroku

  6. SendGrid

  7. Google Analytics

  8. Google reCaptcha

  9. Google oAuth API

  10. Google & Bing Webmaster

  11. Facebook oAuth API

  12. Github oAuth API

  13. Stripe

Learn javascript packages:

  1. Yarn & Webpacker in Rails 6

  2. Jquery-ui sortable

  3. Bootstrap

  4. VideoJS

  5. Chartkick

  6. Selectize

If you value your time and DON'T want to spend hours learning how a gem works, consider getting this course.

By the end of the course you will feel capable of building any Web application Ruby on Rails web application.

You may learn the skills needed to find a job, or build the application of your dreams.

As well, you will build you own, complete application for creating and selling courses that you will be able to monetize.

Also, if you want to learn more great ruby on rails features, consider subscribing to this course.

P.S. I'm a Ruby on Rails Engineer and I built this course out of passion. I'm not a vice actor, so don't expect studio-level audio quality.

Requirements:

  • Modern browser and internet connection

  • No coding experience is required! We will start from very basics and take you to the advanced level

  • Basic knowledge of HTML, CSS and Bootstrap will be a plus, but it is not mandatory

Who this course is for:
  • Anyone who wants to bring their web app ideas to life
  • Anyone who wants to be a web app developer: This course will introduce you to many in-depth mechanics of Ruby on Rails 6
  • Anyone who is already acquainted with Ruby on Rails and wants to learn new features
  • Anyone who want to create his own e-learning platform

What you'll learn:

  • How to build an online learning platform on Ruby on Rails 6
  • How to use Ruby on Rails 6 features
  • How to build a Web Application
  • Ruby on Rails 6
  • gem bootstrap - for styling
  • gem font-awesome-sass - for nice icons
  • gem simple_form
  • gem faker - populate the database with fake data
  • gem devise - authentication (log in / sign up)
  • gem friendly_id - set up custom URLs
  • gem ransack - search and filter
  • gem public_activity - track all user actions
  • gem rolify - give user roles
  • gem pundit - authorize user to perform an action
  • gem exception_notification - get error emails from production
  • gem haml-rails
  • gem pagy - the modern pagination library
  • gem chartkick - charts
  • gem groupdate - group by day, month, year
  • gem ranked-model - give records in a list a number
  • gem aws-sdk-s3 - store files on Amazon storage
  • gem active_storage_validations - validate files
  • gem image_processing - display saved images
  • gem recaptcha - on bot sign ups
  • gem omniauth-google-oauth2 - log in with google
  • gem wicked - multistep forms
  • gem wicked_pdf - create PDF inside your app
  • Rails 6 active_storage - store files online
  • gem rails-erd - generate UML diagrams
  • Rails 6 action_text - rich text editing
  • Rails 6 credentials - keep your passwords secret
  • selectize js - start typing to select or create an item
  • jquery-ui sortable - sort records in a list
  • AWS Cloud9 - the best online IDE
  • AWS S3 - store files on Amazon
  • AWS IAM - access data stored on Amazon
  • google analytics - track app visitors
  • google recaptcha - no bot sign ups
  • Rails 6 scopes
  • Rails 6 counter_cache
  • Rails 6 callbacks
  • Rails 6 dependent: restrict_with_error
  • Rails 6 helpers
  • yarn
  • webpacker
  • Udemy Clone
  • e-learning platform
  • Rails 6 action_mailer - send emails from your application

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 191 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Ruby on Rails 6: Learn 25+ gems and build a Startup MVP 2020

0:00
/
#1: Preview of the final application

All Course Lessons (191)

#Lesson TitleDurationAccess
1
Preview of the final application Demo
11:22
2
START HERE
04:23
3
create development environment, install ruby on rails 6, create app
11:58
4
push application to github
03:58
5
PRO TIP - ssh connection - push to github without re-entering password
05:23
6
hello world - generate a static page
13:00
7
connect heroku - run application in production
07:03
8
PRO TIP - delete changes, undo commits
05:23
9
AWS - no space left on device - add 20 gb storage
03:12
10
Install bootstrap with yarn and webpacker
06:55
11
Bootstrap basic usage
04:47
12
Install and use Fontawesome icons with yarn and webpacker
05:34
13
Responsive screen width
01:08
14
Create AWS Cloud9 environment, install Ruby on Rails 6
04:02
15
Create a Ruby on Rails 6 application, configure PostgreSQL
05:25
16
First commit to Github
01:21
17
Hello World. Generating a static page
01:44
18
Push application to production on Heroku
03:34
19
FIX ISSUE: "AWS Cloud9 NO SPACE LEFT ON DEVICE"
03:12
20
gem haml-rails - more RoR-friendly way of editing HTML
01:39
21
(REVISED) Install Bootstrap with Yarn and Webpacker
08:18
22
gem font-awesome-sass - add cool icons for styling
02:18
23
gem simple_form - better way to work with forms
00:51
24
add a Courses table
02:41
25
action_text - rich text editor
04:35
26
gem faker and seeds.rb - add fake data to the app
02:16
27
gem devise for authentication (log in, log out)
03:50
28
course belong_to user - relationships
04:28
29
design for notification messages
01:04
30
adding a functional navbar
02:21
31
search field in navbar
01:19
32
styling courses and home index
14:45
33
gem friendly_id - show user friendly links
06:14
34
devise trackable (track user IP address, create users index page
08:01
35
devise confirmable in development pt1
06:22
36
devise confirmable in development pt2
01:42
37
sendgrid - send emails in production
05:22
38
Amazon SES - better way to send emails in production
10:12
39
add more fields to courses
15:59
40
gem ransack - level 1 - filter and search data in a table
04:48
41
gem ransack - level 2 - search and filter courses
13:28
42
gem ransack level 3 - search in navbar
05:48
43
gem public_activity - track all actions in the app
08:20
44
add a footer
06:46
45
promo - roles & authorization
00:26
46
gem rolify - add roles to users
08:53
47
gem rolify - edit user roles
05:17
48
gem rolify - using role based access
02:22
49
gem pundit - installation and example usecase
04:21
50
gem pundit - authorization for courses
02:26
51
gem pundit - only admin can edit other users
02:41
52
gem pundit - user can see links only to allowed actions
02:40
53
gem friendly_id for users, user show
04:34
54
check if user is online
03:56
55
add a Lessons table, friendly_id, styling
11:21
56
public_activity for Lessons, create lessons inside courses
02:49
57
action_text for Lessons, add breadcrumbs for lesson show
02:52
58
gem pundit - authorization for Lessons
06:16
59
nested resources. lessons in courses
07:55
60
gem pundit - authorization for Lessons create action
04:11
61
minor styling for edit and new views
02:28
62
production - tour around heroku
02:14
63
gem exception_notification - catch errors in production
03:27
64
design for courses and lessons
09:22
65
gem pagy for pagination
07:39
66
add dynamic title to page tabs
08:13
67
scaffold Enrollments. Basic validation and design
15:18
68
Button for user to Enroll to a Course
21:33
69
gem pundit for Enrollments
03:58
70
gem pundit - user can access his purchased Courses
02:17
71
work on Enrollment views
16:40
72
Button for user to Review a Course
08:33
73
gem pagy for Enrollments and Users
03:40
74
gem friendly_id for enrollments
02:02
75
gem ransack for enrollments index
07:15
76
Navigation for student, teacher, admin
10:40
77
Collections and Scopes + Ransack + Pagy for Courses and Enrollments
18:26
78
Counters in header
05:21
79
Calculate rating for courses
10:59
80
counter_cache basics (enrollments_count for Course)
06:02
81
add counter_cache across app
12:48
82
More course styling and validation
09:10
83
Courses index ransack sort by price, populararity, rating, newest
03:09
84
Dynamic & Personalized Homepage (Popular, New, Top Rated Courses)
08:48
85
Move logic from controller to model using scopes
05:50
86
UserCourse table - track if a user has seen a lesson. Migration and setup
11:43
87
Track User progress in a Course
08:57
88
Styling courses and lessons
19:41
89
Pluralization for course show
01:43
90
Validation for Destroy with dependent records (restrict_with_error, nullify,
04:17
91
Lesson show - navigation between lessons in a course
06:24
92
gem chartkick and groupdate - add charts
12:46
93
load charts without timeouts
06:09
94
namespace charts in routes, group by sum
03:44
95
count impressions with increment method
05:45
96
custom buttons to publish or approve a course
21:02
97
complex validation who can see a course show
03:42
98
gem public_activity - polymorphic links with nested resources
08:44
99
application_helper for conditional styling
04:28
100
gem rails-erd to generate relationship-diagrams automatically
03:12
101
better views for not logged in users
03:52
102
link_to courses with ransack search params
04:03
103
course-specific charts and analytics, more advanced grouping
10:47
104
update course_policy and view
04:10
105
promo - sort records
00:18
106
gem ranked_model - give lessons inside a course a number
03:44
107
link to previous and next lesson in lesson show
03:08
108
jquery-ui sortable - make lessons sortable and persist changes
11:14
109
promo - active_storage & action_text
00:23
110
credentials and secret keys PART 1
06:08
111
gem aws-sdk-s3, configure aws s3 bucket storage, add avatar to courses
16:52
112
gem active_storage_validations. validates course avatar. display avatar in co
10:11
113
gem image_processing to fix action_text displaying images, S3 bucket CORS set
04:08
114
credentials and secret keys PART 2 - PRODUCTION
01:42
115
action_text attachment restrictions, download and display
09:36
116
action_text restrict attachments, more validations for course and lesson
10:18
117
video attachment and preview with active_storage and HTML5
07:15
118
styling lessons, video validation
06:53
119
deleting attachments (video and video_thumbnail)
06:51
120
action_text - allow file upload, add video preview to blob
04:35
121
action_text - play audio with HTML5
02:30
122
video.js player integration
05:57
123
simple_form for rich_text_area (actiontext)
02:22
124
action_text youtube embeds
06:53
125
promo - nested comments
00:24
126
nested resources - comments inside lessons
26:30
127
counter_cache for comments, method to delete comment
16:51
128
public_activity for comments
04:59
129
pundit authorization for destroying a comment
03:11
130
add counter_cache for user_lessons to lessons and users
04:22
131
promo - preparing for production
00:23
132
gem recaptcha with devise - no bot signups
06:32
133
add recaptcha keys to credentials
02:30
134
add google analytics
07:10
135
styling app, adding logo and thumbnail
09:49
136
downgrade jquery to 3.4.1 to make bootstrap navbar dropdown work on small screen
01:35
137
yarn remove video.js - remove library from our app
02:28
138
connecting a domain to our application in production
04:57
139
disable video download (disable rightclick on video)
02:16
140
privacy_policy and SEO tags
03:40
141
adding a licence to our github repository
01:36
142
beautify devise views
12:04
143
Add a sitemap for Google and Bing search
05:38
144
promo - social login
00:31
145
gem omniauth-google-oauth2 - log in with google
11:20
146
import omniauth user personal data
08:48
147
gem omniauth-github - log in with github
04:15
148
different credentials for different environments. Github
05:53
149
gem omniauth-facebook - log in with facebook
10:09
150
refactor omniauth (clean up code)
04:44
151
promo - select or create with selectize-js
00:59
152
selectize.js - course has many tags through course_tags
15:33
153
two ways to search courses by tags with ransack
11:11
154
link to current page with params (for searching tags)
03:17
155
selectize.js - select or create tag
04:55
156
admin can manage and delete tags
15:23
157
list similar courses in course show based on tags
06:24
158
promo - PDF generation
00:37
159
gem wicked_pdf - ability to generate PDF from HTML
08:31
160
enrollment completion certificate and styling
07:20
161
pdf.html - remove unused code, enrollments index - link to certificate
05:06
162
different pdf gem for development and production
03:26
163
styling pdf certificate of completion
04:35
164
certificate of completion only for completed courses
04:56
165
helper logic to view certificate of completion
08:23
166
promo - multistep forms
00:19
167
gem wicked for multistep forms
20:41
168
gem wicked - nest course_wizard inside courses
05:45
169
gem wicked - edit and update functionality
08:11
170
gem wicked - styling and authorization
05:30
171
layout for wizard steps, remove course edit action
06:09
172
styling wizard progress navigation, remove fields course form
09:57
173
email confirmation when a user enrolled to a course
11:46
174
email to teacher when a user enrolls to his course
05:41
175
user_mailer - send all admins emails when a new user registers
05:50
176
install gem cocoon. edit lessons in course form
12:50
177
payments - business logic for user income and expenses calculation
20:23
178
payments with stripe part 1
15:17
179
payments with stripe part 2
10:19
180
Upgrading to Rails EDGE and troubleshooting active_storage issues
02:59
181
downgrading Rails and fixing selectize issues
03:35
182
downgrading Rails and fixing active_storage issues
02:40
183
Update to rails 6.0.3
02:09
184
renaming a column (short- to marketing- description)
05:18
185
gem public_activity for user
05:57
186
footer always on bottom
03:09
187
gem sitemap_generator, edit robots.txt
08:41
188
sitemaps working on heroku with AWS S3 public repo
07:55
189
Run the Corsego source code in development
14:26
190
Roadmap. Next steps.
04:48
191
Thank you
00:30

Unlock unlimited learning

Get instant access to all 190 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Learn and Understand Ruby on Rails | Hello Rails (MASTER COURSE)

Learn and Understand Ruby on Rails | Hello Rails (MASTER COURSE)

Sources: hellorails.io
A modern course designed to help you quickly learn and understand Ruby on Rails. Web applications are complex, but they should not be so … Ruby on Rails is a framework for web a...
18 hours 31 minutes 14 seconds
Build Airbnb with Ruby on Rails

Build Airbnb with Ruby on Rails

Sources: Code4Startup (coderealprojects)
This project is a series of 3 Projects (Pikachu, Kong, Godzilla) with 3 different levels (Level 1, 2, 3). We are going to build a platform like Booking or Airbnb. In this projec...
9 hours 53 minutes 50 seconds
Ruby on Rails 7

Ruby on Rails 7

Sources: pragmaticstudio
“I'd nearly given up trying to learn Rails. Every course or tutorial out there left me confused and frustrated.” Every time we hear this (and we hear it almost daily!) it breaks...
8 hours 9 minutes 7 seconds
High Performance PostgreSQL for Rails

High Performance PostgreSQL for Rails

Sources: Andrew Atkinson
Build faster, more reliable Rails applications using advanced PostgreSQL and Active Record capabilities to solve...