Skip to main content

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

20h 55m 46s
English
Paid

Accelerate your skills by mastering Ruby on Rails 6 and over 25 essential gems while building a robust online learning platform akin to Skillshare or Udemy. This comprehensive course guides you through each step of the creation and development process, ideal for aspiring web app developers or entrepreneurs.

Course Overview

Designed for anyone wanting to bring their web app concepts to life, this course delivers deep insights into Ruby on Rails 6. Whether you're a beginner or have some experience, you'll greatly benefit from the best practices taught throughout this program. The skills acquired will enable you to construct and launch your own e-learning platform.

Course Objectives

  • Build a complete online learning platform using Ruby on Rails 6.
  • Understand and utilize more than 25 powerful Ruby gems.
  • Gain competencies to secure a Ruby on Rails Developer position.
  • Acquire source code access for practical application development.

What You Will Learn

Ruby on Rails Gems

Explore and master the utilization of over 25 crucial gems, including:

  1. gem bootstrap & gem jquery-rails
  2. gem font-awesome-sass - Icon library for enhanced UI.
  3. gem simple_form - Efficient form creation.
  4. gem faker - Populate databases with mock data.
  5. gem friendly_id - Create SEO-friendly URLs.
  6. gem ransack - Implement search and filtering in applications.
  7. gem public_activity - Track user actions effectively.
  8. gem pagy - Optimum solution for pagination.
  9. and many more...

Ruby on Rails Features

Develop comprehensive Rails features, such as:

  1. Action Text and Active Storage management.
  2. Utilizing Action Mailer for email operations.
  3. Implementing secure application credentials.
  4. Advanced features such as callbacks and scopes.
  5. and many more...

Supporting Technologies

Integrate essential technologies for a complete experience:

  1. AWS Cloud9 for cloud development.
  2. AWS S3 for file storage solutions.
  3. PostgreSQL databases for robust data management.
  4. Heroku for app deployment.
  5. and many more...

JavaScript Packages

Dive into JavaScript enhancing technologies like:

  1. Yarn & Webpacker for efficient package management.
  2. Jquery-ui sortable for user interface improvements.
  3. Chartkick and Selectize for interactive elements.
  4. and many more...

Target Audience

This course is perfect for:

  • Individuals seeking to manifest their web application ideas.
  • Aspiring web app developers desiring an in-depth understanding of Ruby on Rails 6.
  • Current Ruby on Rails practitioners aiming to enhance their skill set.
  • Entrepreneurs planning to launch their own e-learning platforms.

Course Requirements

  • Modern browser and a steady internet connection.
  • No prior coding experience necessary; this course covers everything from basics to advanced levels.
  • Familiarity with HTML, CSS, and Bootstrap is advantageous but not mandatory.

Embark on this journey to gain the confidence and expertise to build and monetize applications, unlocking new career opportunities and fulfilling personal ambitions.

Enroll now and transform your ideas into reality with Ruby on Rails 6!

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 191 lessons

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