02 Install Ruby on Rails 6 configure application/007 First commit to Github.mp413.58MB
02 Install Ruby on Rails 6 configure application/009 Hello World. Generating a static page.mp413.6MB
02 Install Ruby on Rails 6 configure application/011 Push application to production on Heroku.mp437.11MB
03 Building the MVP (minimum viable product)/013 gem haml-rails - more RoR-friendly way of editing HTML.mp411.6MB
03 Building the MVP (minimum viable product)/015 (REVISED) Install Bootstrap with Yarn and Webpacker.mp466.18MB
03 Building the MVP (minimum viable product)/017 gem font-awesome-sass - add cool icons for styling.mp419.21MB
03 Building the MVP (minimum viable product)/019 gem simple_form - better way to work with forms.mp47.46MB
03 Building the MVP (minimum viable product)/021 add a Courses table.mp421.35MB
03 Building the MVP (minimum viable product)/023 action_text - rich text editor.mp436.84MB
03 Building the MVP (minimum viable product)/025 gem faker and seeds.rb - add fake data to the app.mp421.4MB
03 Building the MVP (minimum viable product)/027 gem devise for authorization (log in log out).mp430.04MB
03 Building the MVP (minimum viable product)/029 course belong_to user - relationships.mp436.21MB
03 Building the MVP (minimum viable product)/031 design for notification messages.mp48.39MB
03 Building the MVP (minimum viable product)/033 adding a functional navbar.mp423.14MB
03 Building the MVP (minimum viable product)/035 search field in navbar.mp410.72MB
03 Building the MVP (minimum viable product)/037 styling courses and home index.mp4103.91MB
03 Building the MVP (minimum viable product)/039 gem friendly_id - show user friendly links.mp454.25MB
03 Building the MVP (minimum viable product)/041 devise trackable (track user IP address create users index page.mp461.18MB
03 Building the MVP (minimum viable product)/043 devise confirmable in development pt1.mp467.14MB
03 Building the MVP (minimum viable product)/045 devise confirmable in development pt2.mp414.47MB
03 Building the MVP (minimum viable product)/047 sendgrid - send emails in production.mp433.04MB
03 Building the MVP (minimum viable product)/049 add more fields to courses.mp4128.03MB
03 Building the MVP (minimum viable product)/051 gem ransack - level 1 - filter and search data in a table.mp439.31MB
03 Building the MVP (minimum viable product)/053 gem ransack - level 2 - search and filter courses.mp4105.62MB
03 Building the MVP (minimum viable product)/055 gem ransack level 3 - search in navbar.mp448.65MB
03 Building the MVP (minimum viable product)/057 gem public_activity - track all actions in the app.mp467.98MB
03 Building the MVP (minimum viable product)/059 add a footer.mp462.88MB
04 Roles and Authorization/061 promo - roles authorization.mp42.18MB
04 Roles and Authorization/062 gem rolify - add roles to users.mp478.59MB
04 Roles and Authorization/064 gem rolify - edit user roles.mp439.03MB
04 Roles and Authorization/066 gem rolify - using role based access.mp422.57MB
04 Roles and Authorization/068 gem pundit - installation and example usecase.mp438.01MB
04 Roles and Authorization/070 gem pundit - authorization for courses.mp418.52MB
04 Roles and Authorization/072 gem pundit - only admin can edit other users.mp419.01MB
04 Roles and Authorization/074 gem pundit - user can see links only to allowed actions.mp420.5MB
05 Building the core functionality of the e-learning platform/076 gem friendly_id for users user show.mp441.09MB
05 Building the core functionality of the e-learning platform/078 check if user is online.mp430.94MB
05 Building the core functionality of the e-learning platform/080 add a Lessons table friendly_id styling.mp486.18MB
05 Building the core functionality of the e-learning platform/082 public_activity for Lessons create lessons inside courses.mp419.49MB
05 Building the core functionality of the e-learning platform/084 action_text for Lessons add breadcrumbs for lesson show.mp420.35MB
05 Building the core functionality of the e-learning platform/085 gem pundit - authorization for Lessons.mp442.92MB
05 Building the core functionality of the e-learning platform/087 nested resources. lessons in courses.mp454.36MB
05 Building the core functionality of the e-learning platform/089 gem pundit - authorization for Lessons create action.mp431.83MB
05 Building the core functionality of the e-learning platform/091 minor styling for edit and new views.mp415.89MB
05 Building the core functionality of the e-learning platform/093 production - tour around heroku.mp414.67MB
05 Building the core functionality of the e-learning platform/094 gem exception_notification - catch errors in production.mp433.48MB
05 Building the core functionality of the e-learning platform/096 design for courses and lessons.mp457.86MB
05 Building the core functionality of the e-learning platform/098 gem pagy for pagination.mp476.44MB
05 Building the core functionality of the e-learning platform/100 add dynamic title to page tabs.mp458.28MB
05 Building the core functionality of the e-learning platform/102 scaffold Enrollments. Basic validation and design.mp4110.58MB
05 Building the core functionality of the e-learning platform/104 Button for user to Enroll to a Course.mp4144.35MB
05 Building the core functionality of the e-learning platform/106 gem pundit for Enrollments.mp429.17MB
05 Building the core functionality of the e-learning platform/108 gem pundit - user can access his purchased Courses.mp415.92MB
05 Building the core functionality of the e-learning platform/110 work on Enrollment views.mp4106.45MB
05 Building the core functionality of the e-learning platform/112 Button for user to Review a Course.mp469.29MB
05 Building the core functionality of the e-learning platform/114 gem pagy for Enrollments and Users.mp437.38MB
05 Building the core functionality of the e-learning platform/116 gem friendly_id for enrollments.mp418.57MB
05 Building the core functionality of the e-learning platform/118 gem ransack for enrollments index.mp461.15MB
05 Building the core functionality of the e-learning platform/120 Navigation for student teacher admin.mp4101.51MB
05 Building the core functionality of the e-learning platform/122 Collections and Scopes Ransack Pagy for Courses and Enrollments.mp4156.38MB
05 Building the core functionality of the e-learning platform/124 Counters in header.mp441.96MB
05 Building the core functionality of the e-learning platform/126 Calculate rating for courses.mp488.41MB
05 Building the core functionality of the e-learning platform/128 counter_cache basics (enrollments_count for Course).mp444.35MB
05 Building the core functionality of the e-learning platform/130 add counter_cache across app.mp4118.32MB
05 Building the core functionality of the e-learning platform/132 More course styling and validation.mp467.3MB
05 Building the core functionality of the e-learning platform/134 Courses index ransack sort by price populararity rating newest.mp426.25MB
05 Building the core functionality of the e-learning platform/136 Dynamic Personalized Homepage (Popular New Top Rated Courses).mp466.44MB
05 Building the core functionality of the e-learning platform/138 Move logic from controller to model using scopes.mp450.18MB
05 Building the core functionality of the e-learning platform/140 UserCourse table - track if a user has seen a lesson. Migration and setup.mp483.95MB
05 Building the core functionality of the e-learning platform/142 Track User progress in a Course.mp466.68MB
05 Building the core functionality of the e-learning platform/144 Styling courses and lessons.mp4148.22MB
05 Building the core functionality of the e-learning platform/146 Pluralization for course show.mp411.14MB
05 Building the core functionality of the e-learning platform/148 Validation for Destroy with dependent records (restrict_with_error nullify.mp432.33MB
05 Building the core functionality of the e-learning platform/150 Lesson show - navigation between lessons in a course.mp445.12MB
05 Building the core functionality of the e-learning platform/152 gem chartkick and groupdate - add charts.mp487.79MB
05 Building the core functionality of the e-learning platform/154 load charts without timeouts.mp439.97MB
05 Building the core functionality of the e-learning platform/156 namespace charts in routes group by sum.mp427.02MB
05 Building the core functionality of the e-learning platform/158 count impressions with increment method.mp449.51MB
05 Building the core functionality of the e-learning platform/160 custom buttons to publish or approve a course.mp4187.2MB
05 Building the core functionality of the e-learning platform/162 complex validation who can see a course show.mp429.35MB
05 Building the core functionality of the e-learning platform/164 gem public_activity - polymorphic links with nested resources.mp469.87MB
05 Building the core functionality of the e-learning platform/166 application_helper for conditional styling.mp431.59MB
05 Building the core functionality of the e-learning platform/168 gem rails-erd to generate relationship-diagrams automatically.mp430.16MB
05 Building the core functionality of the e-learning platform/170 better views for not logged in users.mp429.1MB
05 Building the core functionality of the e-learning platform/172 link_to courses with ransack search params.mp433.16MB
05 Building the core functionality of the e-learning platform/174 course-specific charts and analytics more advanced grouping.mp482.77MB
05 Building the core functionality of the e-learning platform/176 update course_policy and view.mp439.42MB
06 Sorting records with drag and drop/178 promo - sort records.mp42.13MB
06 Sorting records with drag and drop/179 gem ranked_model - give lessons inside a course a number.mp433.55MB
06 Sorting records with drag and drop/181 link to previous and next lesson in lesson show.mp424.47MB
06 Sorting records with drag and drop/183 jquery-ui sortable - make lessons sortable and persist changes.mp4101.39MB
07 Active Storage and Action Text/185 promo - active_storage action_text.mp43.68MB
07 Active Storage and Action Text/186 credentials and secret keys PART 1.mp430.65MB
07 Active Storage and Action Text/188 gem aws-sdk-s3 configure aws s3 bucket storage add avatar to courses.mp4129.44MB
07 Active Storage and Action Text/190 gem active_storage_validations. validates course avatar. display avatar in co.mp485.05MB
07 Active Storage and Action Text/192 gem image_processing to fix action_text displaying images S3 bucket CORS set.mp438.86MB
07 Active Storage and Action Text/194 credentials and secret keys PART 2 - PRODUCTION.mp411.84MB
07 Active Storage and Action Text/195 action_text attachment restrictions download and display.mp483.6MB
07 Active Storage and Action Text/197 action_text restrict attachments more validations for course and lesson.mp484.35MB
07 Active Storage and Action Text/199 video attachment and preview with active_storage and HTML5.mp460.5MB
07 Active Storage and Action Text/201 styling lessons video validation.mp458.67MB
07 Active Storage and Action Text/203 deleting attachments (video and video_thumbnail).mp461.86MB
07 Active Storage and Action Text/205 action_text - allow file upload add video preview to blob.mp440.62MB
07 Active Storage and Action Text/207 action_text - play audio with HTML5.mp420.94MB
07 Active Storage and Action Text/209 video.js player integration.mp461.81MB
07 Active Storage and Action Text/211 simple_form for rich_text_area (actiontext).mp419.85MB
07 Active Storage and Action Text/213 action_text youtube embeds.mp457.97MB
08 Integrating Comments with Nested Routes/215 promo - nested comments.mp42.93MB
08 Integrating Comments with Nested Routes/218 counter_cache for comments method to delete comment.mp4138.25MB
08 Integrating Comments with Nested Routes/220 public_activity for comments.mp442.71MB
08 Integrating Comments with Nested Routes/222 pundit authorization for destroying a comment.mp422.18MB
08 Integrating Comments with Nested Routes/224 add counter_cache for user_lessons to lessons and users.mp440.33MB
09 Preparing the app for production/226 promo - preparing for production.mp42.55MB
09 Preparing the app for production/227 gem recaptcha with devise - no bot signups.mp455MB
09 Preparing the app for production/229 add recaptcha keys to credentials.mp415.9MB
09 Preparing the app for production/231 add google analytics.mp456.34MB
09 Preparing the app for production/233 styling app adding logo and thumbnail.mp484.87MB
09 Preparing the app for production/235 downgrade jquery to 3.4.1 to make bootstrap navbar dropdown work on small screen.mp413.24MB
09 Preparing the app for production/237 yarn remove video.js - remove library from our app.mp420.46MB
09 Preparing the app for production/239 connecting a domain to our application in production.mp432.37MB
09 Preparing the app for production/240 disable video download (disable rightclick on video).mp419.56MB
09 Preparing the app for production/242 privacy_policy and SEO tags.mp433.66MB
09 Preparing the app for production/244 adding a licence to our github repository.mp413.68MB
09 Preparing the app for production/246 beautify devise views.mp496.61MB
09 Preparing the app for production/248 Add a sitemap for Google and Bing search.mp438.93MB
10 API Log in with google github facebook (omniauth)/250 promo - social login.mp42.8MB
10 API Log in with google github facebook (omniauth)/251 gem omniauth-google-oauth2 - log in with google.mp493.8MB
10 API Log in with google github facebook (omniauth)/253 import omniauth user personal data.mp469.29MB
10 API Log in with google github facebook (omniauth)/255 gem omniauth-github - log in with github.mp434.08MB
10 API Log in with google github facebook (omniauth)/257 different credentials for different environments. Github.mp445.33MB
10 API Log in with google github facebook (omniauth)/259 gem omniauth-facebook - log in with facebook.mp489.81MB
10 API Log in with google github facebook (omniauth)/261 refactor omniauth (clean up code).mp450.08MB
11 PRO FEATURE Select or Create Tags with selectize js/263 promo - select or create with selectize-js.mp46.98MB
11 PRO FEATURE Select or Create Tags with selectize js/264 selectize.js - course has many tags through course_tags.mp4134.72MB
11 PRO FEATURE Select or Create Tags with selectize js/266 two ways to search courses by tags with ransack.mp4100.15MB
11 PRO FEATURE Select or Create Tags with selectize js/268 link to current page with params (for searching tags).mp425.55MB
11 PRO FEATURE Select or Create Tags with selectize js/270 selectize.js - select or create tag.mp433.23MB
11 PRO FEATURE Select or Create Tags with selectize js/272 admin can manage and delete tags.mp4118.64MB
11 PRO FEATURE Select or Create Tags with selectize js/274 list similar courses in course show based on tags.mp445.87MB
12 PRO FEATURE PDF Certificate of Completion with wicked_pdf/276 promo - PDF generation.mp44.05MB
12 PRO FEATURE PDF Certificate of Completion with wicked_pdf/277 gem wicked_pdf - ability to generate PDF from HTML.mp464.6MB
12 PRO FEATURE PDF Certificate of Completion with wicked_pdf/279 enrollment completion certificate and styling.mp457.42MB
12 PRO FEATURE PDF Certificate of Completion with wicked_pdf/281 pdf.html - remove unused code enrollments index - link to certificate.mp443.44MB
12 PRO FEATURE PDF Certificate of Completion with wicked_pdf/283 different pdf gem for development and production.mp426MB
12 PRO FEATURE PDF Certificate of Completion with wicked_pdf/285 styling pdf certificate of completion.mp435.2MB
12 PRO FEATURE PDF Certificate of Completion with wicked_pdf/287 certificate of completion only for completed courses.mp435.42MB
12 PRO FEATURE PDF Certificate of Completion with wicked_pdf/289 helper logic to view certificate of completion.mp470.91MB
13 PRO FEATURE Multistep forms with gem WICKED/291 promo - multistep forms.mp41.98MB
13 PRO FEATURE Multistep forms with gem WICKED/292 gem wicked for multistep forms.mp4139.43MB
13 PRO FEATURE Multistep forms with gem WICKED/294 gem wicked - nest course_wizard inside courses.mp441.88MB
13 PRO FEATURE Multistep forms with gem WICKED/296 gem wicked - edit and update functionality.mp461.31MB
13 PRO FEATURE Multistep forms with gem WICKED/298 gem wicked - styling and authorization.mp443.26MB
13 PRO FEATURE Multistep forms with gem WICKED/300 layout for wizard steps remove course edit action.mp457.26MB
13 PRO FEATURE Multistep forms with gem WICKED/302 styling wizard progress navigation remove fields course form.mp477.09MB
14 PRO FEATURE ActionMailer - send outbound emails/304 email confirmation when a user enrolled to a course.mp489.98MB
14 PRO FEATURE ActionMailer - send outbound emails/306 email to teacher when a user enrolls to his course.mp439.45MB
14 PRO FEATURE ActionMailer - send outbound emails/308 user_mailer - send all admins emails when a new user registers.mp446.32MB
15 PRO FEATURE gem cocoon - one form to edit and create multiple lessons/310 install gem cocoon. edit lessons in course form.mp495.4MB
16 Stripe Payments working with money business logic/312 payments - business logic for user income and expenses calculation.mp4172.88MB
16 Stripe Payments working with money business logic/314 payments with stripe part 1.mp4103.5MB
16 Stripe Payments working with money business logic/316 payments with stripe part 2.mp476.41MB
17 Fixes and Adjustments/318 Upgrading to Rails EDGE and troubleshooting active_storage issues.mp429.01MB
17 Fixes and Adjustments/320 downgrading Rails and fixing selectize issues.mp429.92MB
17 Fixes and Adjustments/322 downgrading Rails and fixing active_storage issues.mp425.17MB
17 Fixes and Adjustments/324 Update to rails 6.0.3.mp420.88MB
17 Fixes and Adjustments/326 renaming a column (short- to marketing- description).mp443.85MB
17 Fixes and Adjustments/328 gem public_activity for user.mp450.47MB
17 Fixes and Adjustments/330 footer always on bottom.mp420.81MB
17 Fixes and Adjustments/332 gem sitemap_generator edit robots.txt.mp475.05MB
17 Fixes and Adjustments/334 sitemaps working on heroku with AWS S3 public repo.mp477.12MB
17 Fixes and Adjustments/337 Run the Corsego source code in development.mp4126.77MB
18 Thank you and next steps/338 Roadmap. Next steps.mp436.34MB
18 Thank you and next steps/339 Thank you.mp410.89MB