Quick Introduction to key React concepts
Installation and setup of Rails 5 app with react-rails gem
Calendar appointments app with jQuery and Haml
React props and nested components
React State - Handling user form input
React State - Handling form submission
Using a third-party JavaScript library - Moment.js
Using a third-party React component - react-datetime
Styling with CSS in React
Deploying a react-rails app to Heroku
Introduction to ES6 using the react-rails component generator
ES6 classes in React
ES6 Arrow functions in React
Stateless Functional Components in React
How to use React with the webpacker gem and Rails 5.1
Introduction and setup of Webpack with react_on_rails gem
Migrating the Calendar appointments app to react_on_rails
Server-side rendering
Deploying to Heroku
Hot Module Replacement
Basic form validation
Client-side form validation in React
Code refactor and corrections
Multiple field validations on client side
Refactor client side validations
Client side validation errors
Generalised form validations
Typechecking With PropTypes
Refs
Introduction to React Router v4
Viewing a record on its own route
Navigating between routes
Keeping data fresh with componentDidMount
Editing a record - Part 1
Editing a record - Part 2
Deleting a record
Recap
Using Devise with React
Setting up a Rails API app and Create React App
Porting React components from react_on_rails to React
API User authentication with devise_token_auth
Displaying session data and signing out
Testing with Jest
Testing with Enzyme
Snapshot testing
Testing forms
Using Bootstrap with React
CSS Animations and Transitions
Introduction to Flux
Introduction to Redux
Using Redux with react_on_rails
Fitness dashboard Part 1
Fitness dashboard part 2
Fitness dashboard part 3
How to build a chat app with Rails 5.1 ActionCable and React.js Part 1
How to build a chat app with Rails 5.1 ActionCable and React.js Part 2
How to build an online store using React and Rails - Part 1
How to build an online store using React and Rails - Part 2
Jasmine
UI Animations using ReactCSSTransitionGroup
API and frontend in the same app
Server-side rendering
React Router
Deploying and Hosting
Using Facebook Flux with Rails
Using Redux with Rails
Jest
CSS in JavaScript
Separate Rails API app and Node.js frontend app
[#<Tutorial id: 642, title: "Quick Introduction to key React concepts", body: "<div>React Homepage - <a href=\"https://facebook.gi...", video: "al0cc6xwsi", course_id: 17, created_at: "2016-07-21 17:21:41.114583000 +0000", updated_at: "2020-05-30 13:06:48.406624000 +0000", previewable: false, audio: "", course_module_id: 7, slug: "quick-introduction-to-key-react-concepts", description: "", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/0f21f308d8...", teacher_id: 1, youtube_video: "NBMCNryxkE4", tier_id: nil, paid: false, text_public_for_seo: true, position: 6190, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 643, title: "Installation and setup of Rails 5 app with react-r...", body: "<div><strong>Note</strong>: This lesson was create...", video: "g9wo4ssnbd", course_id: 17, created_at: "2016-07-21 17:21:41.120855000 +0000", updated_at: "2020-05-30 13:06:48.425990000 +0000", previewable: false, audio: "", course_module_id: 8, slug: "installation-and-setup-of-rails-5-app-with-react-r...", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/3dc715f4f9...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6200, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 664, title: "Calendar appointments app with jQuery and Haml", body: "<div><br>Lesson code - <a href=\"https://githu...", video: "jvi9m49lgw", course_id: 17, created_at: "2017-01-16 10:51:31.532124000 +0000", updated_at: "2020-05-30 13:06:48.447252000 +0000", previewable: false, audio: "", course_module_id: 9, slug: "calendar-appointments-app-with-jquery-and-haml", description: "", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/b6597a9a17...", teacher_id: 1, youtube_video: "", tier_id: nil, paid: false, text_public_for_seo: true, position: 6210, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 665, title: "React props and nested components", body: "<div><br>Lesson code - <a href=\"https://githu...", video: "at5oqmkz9s", course_id: 17, created_at: "2017-01-16 10:51:31.538411000 +0000", updated_at: "2020-05-30 13:06:48.478855000 +0000", previewable: false, audio: "", course_module_id: 9, slug: "react-props-and-nested-components", description: "", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/600eec1c90...", teacher_id: 1, youtube_video: "", tier_id: nil, paid: false, text_public_for_seo: true, position: 6220, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 666, title: "React State - Handling user form input", body: "<div><strong>Lesson links:</strong><br><br>Lesson ...", video: "w4aeeyc8gp", course_id: 17, created_at: "2017-01-16 10:51:31.543258000 +0000", updated_at: "2020-05-30 13:06:48.492178000 +0000", previewable: false, audio: "", course_module_id: 9, slug: "react-state-handling-user-form-input", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/bf8f8a31a1...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6230, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 667, title: "React State - Handling form submission", body: "<div><strong>Lesson links:</strong><br><br>Lesson ...", video: "tim12xzxvj", course_id: 17, created_at: "2017-01-16 10:51:31.547916000 +0000", updated_at: "2020-05-30 13:06:48.507433000 +0000", previewable: false, audio: "", course_module_id: 9, slug: "react-state-handling-form-submission", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/fe5de54eea...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6240, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 668, title: "Using a third-party JavaScript library - Moment.js", body: "<div><strong>Correction Note</strong>: The best pr...", video: "yn5k7eajys", course_id: 17, created_at: "2017-01-16 10:51:31.552468000 +0000", updated_at: "2020-05-30 13:06:48.519440000 +0000", previewable: false, audio: "", course_module_id: 9, slug: "using-a-third-party-javascript-library-moment-js", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/53cd6363b7...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6250, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 669, title: "Using a third-party React component - react-dateti...", body: "<div><strong>Correction Note</strong>: The best pr...", video: "cfal1kj344", course_id: 17, created_at: "2017-01-16 10:51:31.557221000 +0000", updated_at: "2020-05-30 13:06:48.533642000 +0000", previewable: false, audio: "", course_module_id: 9, slug: "rails-react-datetime", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/44302de490...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6260, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 670, title: "Styling with CSS in React", body: "<div><strong>Lesson links:</strong><br><br>Lesson ...", video: "7coqa2jw59", course_id: 17, created_at: "2017-01-16 10:51:31.561713000 +0000", updated_at: "2020-05-30 13:06:48.546670000 +0000", previewable: false, audio: "", course_module_id: 9, slug: "styling-with-css-in-react", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/b0c840d1c9...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6270, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 676, title: "Deploying a react-rails app to Heroku", body: "<div><strong>Lesson links:</strong><br><br>Lesson ...", video: "svbxwbf2yw", course_id: 17, created_at: "2017-01-22 09:21:19.606886000 +0000", updated_at: "2020-05-30 13:06:48.558075000 +0000", previewable: false, audio: "", course_module_id: 9, slug: "deploying-a-react-rails-app-to-heroku", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/afec80327a...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6280, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 677, title: "Introduction to ES6 using the react-rails componen...", body: "<div><br><strong>Lesson links:</strong><br><br>Les...", video: "xf8mijj81d", course_id: 17, created_at: "2017-01-22 09:24:50.048629000 +0000", updated_at: "2020-05-30 13:06:48.573442000 +0000", previewable: false, audio: "", course_module_id: 10, slug: "introduction-to-es6-using-the-react-rails-componen...", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/da88736b47...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6290, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 678, title: "ES6 classes in React", body: "<div><br><strong>Lesson links:</strong><br><br>Les...", video: "fpiklyygvm", course_id: 17, created_at: "2017-01-22 09:24:50.058377000 +0000", updated_at: "2020-05-30 13:06:48.586071000 +0000", previewable: false, audio: "", course_module_id: 10, slug: "es6-classes-in-react", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/6b462c9854...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6300, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 679, title: "ES6 Arrow functions in React", body: "<div><br><strong>Lesson links:</strong><br><br>Les...", video: "wwd9o4qunp", course_id: 17, created_at: "2017-01-22 09:24:50.068377000 +0000", updated_at: "2020-05-30 13:06:48.596712000 +0000", previewable: false, audio: "", course_module_id: 10, slug: "es6-arrow-functions-in-react", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/f7c8d4cdc5...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6310, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 680, title: "Stateless Functional Components in React", body: "<div><br><strong>Lesson links:</strong><br><br>Les...", video: "4l1kq8x606", course_id: 17, created_at: "2017-01-22 09:24:50.076110000 +0000", updated_at: "2020-05-30 13:06:48.608032000 +0000", previewable: false, audio: "", course_module_id: 10, slug: "react-functional-components", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/66d8fef5d5...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6320, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 737, title: "How to use React with the webpacker gem and Rails ...", body: "<div>Lesson code - <a href=\"https://github.co...", video: "", course_id: 17, created_at: "2017-07-02 10:08:55.249912000 +0000", updated_at: "2020-05-30 13:06:48.620565000 +0000", previewable: false, audio: "", course_module_id: 10, slug: "how-to-use-react-with-the-webpacker-gem-and-rails-...", description: nil, published: true, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6330, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 681, title: "Introduction and setup of Webpack with react_on_ra...", body: "<div><br>Lesson code - <a href=\"https://githu...", video: "vr2rb14c2w", course_id: 17, created_at: "2017-01-22 09:40:33.703396000 +0000", updated_at: "2020-05-30 13:06:48.641787000 +0000", previewable: false, audio: "", course_module_id: 11, slug: "introduction-and-setup-of-webpack-with-react_on_ra...", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/ccc203d544...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6340, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 682, title: "Migrating the Calendar appointments app to react_o...", body: "<div>Lesson code - <a href=\"https://github.co...", video: "sp29xvsqhr", course_id: 17, created_at: "2017-01-22 09:40:33.711467000 +0000", updated_at: "2020-05-30 13:06:48.651356000 +0000", previewable: false, audio: "", course_module_id: 11, slug: "migrating-the-calendar-appointments-app-to-react_o...", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/c68fb92e58...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6350, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 683, title: "Server-side rendering", body: "<div>In this lesson, we are going to have a quick ...", video: "yq28tbjyiy", course_id: 17, created_at: "2017-01-22 09:40:33.717973000 +0000", updated_at: "2020-05-30 13:06:48.662549000 +0000", previewable: false, audio: "", course_module_id: 11, slug: "server-side-rendering-4eb57bae-bca0-479c-b034-0d26...", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/ec7c75996c...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6360, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 684, title: "Deploying to Heroku", body: "<div>In this lesson, we are going to look at deplo...", video: "1setzcbqmo", course_id: 17, created_at: "2017-01-22 09:40:33.726008000 +0000", updated_at: "2020-05-30 13:06:48.673271000 +0000", previewable: false, audio: "", course_module_id: 11, slug: "deploying-to-heroku", description: "", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/e6fff83705...", teacher_id: 1, youtube_video: "", tier_id: nil, paid: false, text_public_for_seo: true, position: 6370, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 685, title: "Hot Module Replacement", body: "<div><strong>Lesson links:</strong><br><br>Lesson ...", video: "jojmtix65d", course_id: 17, created_at: "2017-01-22 09:40:33.732718000 +0000", updated_at: "2020-05-30 13:06:48.684063000 +0000", previewable: false, audio: "", course_module_id: 11, slug: "hot-module-replacement", description: "", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/31832e5664...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6380, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 686, title: "Basic form validation", body: "<div>Lesson code - <a href=\"https://github.co...", video: "6e5rpwess7", course_id: 17, created_at: "2017-01-22 09:43:44.974842000 +0000", updated_at: "2020-05-30 13:06:48.704050000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "basic-form-validation", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/9d1288f500...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6390, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 687, title: "Client-side form validation in React", body: "<div>Lesson code - <a href=\"https://github.co...", video: "yyyd1oa1v7", course_id: 17, created_at: "2017-01-22 09:43:44.986800000 +0000", updated_at: "2020-05-30 13:06:48.714358000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "client-side-form-validation-in-react", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/ec020d9d8c...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6400, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 688, title: "Code refactor and corrections", body: "<div>Lesson code - <a href=\"https://github.co...", video: "4s9kh4vtc7", course_id: 17, created_at: "2017-01-22 09:43:44.994964000 +0000", updated_at: "2020-05-30 13:06:48.725672000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "code-refactor-and-corrections", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/2ef963edd1...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6410, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 705, title: "Multiple field validations on client side", body: "<div>Lesson code - <a href=\"https://github.co...", video: "zo99rwhu3y", course_id: 17, created_at: "2017-02-28 01:28:58.910014000 +0000", updated_at: "2020-05-30 13:06:48.737116000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "multiple-field-validations-on-client-side", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/a6cef2eb9b...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6420, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 706, title: "Refactor client side validations", body: "<div>Lesson code - <a href=\"https://github.co...", video: "bkdr99vrre", course_id: 17, created_at: "2017-02-28 01:29:19.352493000 +0000", updated_at: "2020-05-30 13:06:48.757218000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "refactor-client-side-validations", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/4f778c8f0c...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6430, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 707, title: "Client side validation errors", body: "<div>Lesson code - <a href=\"https://github.co...", video: "fkyoajrtr3", course_id: 17, created_at: "2017-02-28 11:18:38.436794000 +0000", updated_at: "2020-05-30 13:06:48.771195000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "client-side-validation-errors", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/6f578dfd06...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6440, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 711, title: "Generalised form validations", body: "<div>Lesson code - <a href=\"https://github.co...", video: "0myjh6xx6p", course_id: 17, created_at: "2017-04-30 08:49:34.205591000 +0000", updated_at: "2020-05-30 13:06:48.782986000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "generalised-form-validations", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/e340b85945...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6450, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 712, title: "Typechecking With PropTypes", body: "<div>Lesson code - <a href=\"https://github.co...", video: "cvrk5plqst", course_id: 17, created_at: "2017-04-30 08:49:34.211598000 +0000", updated_at: "2020-05-30 13:06:48.795827000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "proptypes", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/47060d24ff...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6460, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 713, title: "Refs", body: "<div>Now I want to quickly touch on the topic of r...", video: "dd1z81evye", course_id: 17, created_at: "2017-04-30 08:49:34.213295000 +0000", updated_at: "2020-05-30 13:06:48.808523000 +0000", previewable: false, audio: "", course_module_id: 12, slug: "refs", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/c9fd824f28...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6470, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 715, title: "Introduction to React Router v4", body: "<div>Lesson code - <a href=\"https://github.co...", video: "j2qei1f7yl", course_id: 17, created_at: "2017-05-01 10:06:34.144974000 +0000", updated_at: "2020-05-30 13:06:48.829272000 +0000", previewable: false, audio: "", course_module_id: 19, slug: "introduction-to-react-router", description: "", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/f6242baeb7...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6480, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 716, title: "Viewing a record on its own route", body: "<div>Lesson code - <a href=\"https://github.co...", video: "6eicmklz3v", course_id: 17, created_at: "2017-05-01 10:06:34.159858000 +0000", updated_at: "2020-05-30 13:06:48.843469000 +0000", previewable: false, audio: "", course_module_id: 19, slug: "viewing-a-record-on-its-own-route", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/f076e769ea...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6490, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 717, title: "Navigating between routes", body: "<div>Lesson code - <a href=\"https://github.co...", video: "fb2i2mi6da", course_id: 17, created_at: "2017-05-01 10:06:34.171558000 +0000", updated_at: "2020-05-30 13:06:48.859359000 +0000", previewable: false, audio: "", course_module_id: 19, slug: "navigating-between-routes", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/960086e08d...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6500, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 718, title: "Keeping data fresh with componentDidMount", body: "<div>Lesson code - <a href=\"https://github.co...", video: "vwq3sb7tm3", course_id: 17, created_at: "2017-05-01 10:06:34.180633000 +0000", updated_at: "2020-05-30 13:06:48.897353000 +0000", previewable: false, audio: "", course_module_id: 19, slug: "keeping-data-fresh-with-componentdidmount", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/b28a352aea...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6510, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 719, title: "Editing a record - Part 1", body: "<div>Lesson code - <a href=\"https://github.co...", video: "wme2abx0nk", course_id: 17, created_at: "2017-05-01 10:06:34.192539000 +0000", updated_at: "2020-05-30 13:06:48.929312000 +0000", previewable: false, audio: "", course_module_id: 19, slug: "editing-a-record-part-1", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/c77e6b0885...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6520, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 720, title: "Editing a record - Part 2", body: "<div>Lesson code - <a href=\"https://github.co...", video: "4r3xx8st6h", course_id: 17, created_at: "2017-05-01 10:06:34.202553000 +0000", updated_at: "2020-05-30 13:06:48.950822000 +0000", previewable: false, audio: "", course_module_id: 19, slug: "editing-a-record-part-2", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/58d2232b75...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6530, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 721, title: "Deleting a record", body: "<div>Let’s add a way to delete an appointment.</di...", video: "a20b96jdyt", course_id: 17, created_at: "2017-05-01 10:06:34.210830000 +0000", updated_at: "2020-05-30 13:06:48.967546000 +0000", previewable: false, audio: "", course_module_id: 19, slug: "deleting-a-record", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/23e8eac5bf...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6540, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 722, title: "Recap", body: "<div>Lesson code - <a href=\"https://github.co...", video: "woq52zwj9w", course_id: 17, created_at: "2017-05-01 10:06:34.217560000 +0000", updated_at: "2020-05-30 13:06:48.983232000 +0000", previewable: false, audio: "", course_module_id: 19, slug: "recap", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/05f499c7f9...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6550, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 723, title: "Using Devise with React", body: "<div>Lesson code - <a href=\"https://github.co...", video: "4nz963g8l1", course_id: 17, created_at: "2017-05-01 10:06:34.250067000 +0000", updated_at: "2020-05-30 13:06:49.004597000 +0000", previewable: false, audio: "", course_module_id: 20, slug: "using-devise-with-react", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/b008d57daf...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6560, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 724, title: "Setting up a Rails API app and Create React App", body: "<div>Lesson code: <br><br>Backend Rails API -...", video: "vhnndq64dk", course_id: 17, created_at: "2017-05-01 10:06:34.285882000 +0000", updated_at: "2020-05-30 13:06:49.028669000 +0000", previewable: false, audio: "", course_module_id: 21, slug: "setting-up-a-rails-api-app-and-create-react-app", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/d9a62c6f44...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6570, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 725, title: "Porting React components from react_on_rails to Re...", body: "<div>Lesson code: <br><br>Backend Rails API -...", video: "ss1rxe1ijc", course_id: 17, created_at: "2017-05-01 10:06:34.302242000 +0000", updated_at: "2020-05-30 13:06:49.041268000 +0000", previewable: false, audio: "", course_module_id: 21, slug: "porting-react-components-from-react_on_rails-to-re...", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/10c90ebae9...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6580, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 726, title: "API User authentication with devise_token_auth", body: "<div>Lesson code: <br><br>Backend Rails API -...", video: "vstxc0tuxy", course_id: 17, created_at: "2017-05-01 10:06:34.337631000 +0000", updated_at: "2020-05-30 13:06:49.053759000 +0000", previewable: false, audio: "", course_module_id: 21, slug: "react-devise-token-auth", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/5a0f89f674...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6590, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 727, title: "Displaying session data and signing out", body: "<div>Lesson code: <br><br>Backend Rails API -...", video: "860l3c1dr4", course_id: 17, created_at: "2017-05-01 10:06:34.361964000 +0000", updated_at: "2020-05-30 13:06:49.067646000 +0000", previewable: false, audio: "", course_module_id: 21, slug: "displaying-session-data-and-signing-out", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/a2efad26c0...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6600, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 728, title: "Testing with Jest", body: "<div>Lesson code - <a href=\"https://github.co...", video: "uw0tmthsxa", course_id: 17, created_at: "2017-05-01 10:06:34.430719000 +0000", updated_at: "2020-05-30 13:06:49.084907000 +0000", previewable: false, audio: "", course_module_id: 22, slug: "testing-with-jest", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/254c8c6d92...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6610, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 729, title: "Testing with Enzyme", body: "<div>Lesson code - <a href=\"https://github.co...", video: "in2ku8h6ik", course_id: 17, created_at: "2017-05-01 10:06:34.490857000 +0000", updated_at: "2020-05-30 13:06:49.097979000 +0000", previewable: false, audio: "", course_module_id: 22, slug: "testing-with-enzyme", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/86ccfac946...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6620, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 730, title: "Snapshot testing", body: "<div>Lesson code - <a href=\"https://github.co...", video: "nxgbdghc69", course_id: 17, created_at: "2017-05-01 10:06:34.526724000 +0000", updated_at: "2020-05-30 13:06:49.109770000 +0000", previewable: false, audio: "", course_module_id: 22, slug: "snapshot-testing", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/1f18931207...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6630, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 731, title: "Testing forms", body: "<div>Lesson code - <a href=\"https://github.co...", video: "q1coteej3g", course_id: 17, created_at: "2017-05-01 10:06:34.573781000 +0000", updated_at: "2020-05-30 13:06:49.121753000 +0000", previewable: false, audio: "", course_module_id: 22, slug: "testing-forms", description: nil, published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/1bd4fafd84...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6640, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 732, title: "Using Bootstrap with React", body: "<div>Lesson code - <a href=\"https://github.co...", video: "u40wmmq8lw", course_id: 17, created_at: "2017-05-01 10:06:34.600693000 +0000", updated_at: "2020-05-30 13:06:49.139467000 +0000", previewable: false, audio: "", course_module_id: 23, slug: "react-bootstrap", description: "In this tutorial we look at how to use Bootstrap w...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/92af227318...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6650, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 733, title: "CSS Animations and Transitions", body: "<div>Lesson code - <a href=\"https://github.co...", video: "avyiflkdu9", course_id: 17, created_at: "2017-05-01 10:06:34.611040000 +0000", updated_at: "2020-05-30 13:06:49.157801000 +0000", previewable: false, audio: "", course_module_id: 23, slug: "css-animations-and-transitions", description: "In this lesson we’ll look at how to do simple CSS ...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/4999435aba...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6660, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 734, title: "Introduction to Flux", body: "<div>In this lesson we're going to look at the Flu...", video: "mq7299lv12", course_id: 17, created_at: "2017-05-01 10:06:34.660756000 +0000", updated_at: "2020-05-30 13:06:49.186471000 +0000", previewable: false, audio: "", course_module_id: 24, slug: "introduction-to-flux", description: "In this tutorial we look at the concepts behind th...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/7f7661ea79...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6670, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 735, title: "Introduction to Redux", body: "<div>In this lesson we'll look at Redux, one of th...", video: "xq9xf0n5g3", course_id: 17, created_at: "2017-05-01 10:06:34.670252000 +0000", updated_at: "2020-05-30 13:06:49.207589000 +0000", previewable: false, audio: "", course_module_id: 24, slug: "introduction-to-redux", description: "In this tutorial we look at Redux, one of the most...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/fc7990d3b6...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6680, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 736, title: "Using Redux with react_on_rails", body: "<div>The React on Rails gem comes bundled with sup...", video: "dse3b8s4aa", course_id: 17, created_at: "2017-05-01 10:06:34.678351000 +0000", updated_at: "2020-05-30 13:06:49.223768000 +0000", previewable: false, audio: "", course_module_id: 24, slug: "using-redux-with-react_on_rails", description: "In this lesson, we look at the example HelloWorld ...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/c70469fdfa...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6690, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 739, title: "Fitness dashboard Part 1", body: "<div>Code - <a href=\"https://github.com/learn...", video: "px99cdomq5", course_id: 17, created_at: "2017-08-06 00:00:00.000000000 +0000", updated_at: "2020-05-30 13:06:49.249333000 +0000", previewable: false, audio: "", course_module_id: 25, slug: "fitness-dashboard-part-1", description: "Learn to build a fitness dashboard app with the Fi...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/2c701963c2...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6700, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 740, title: "Fitness dashboard part 2", body: "<div>Code - <a href=\"https://github.com/learn...", video: "sz3nmba57a", course_id: 17, created_at: "2017-08-10 00:00:00.000000000 +0000", updated_at: "2020-05-30 13:06:49.265445000 +0000", previewable: false, audio: "", course_module_id: 25, slug: "fitness-dashboard-part-2", description: "In part 2, we display lifetime statistics and achi...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/baa3ab999f...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6710, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 741, title: "Fitness dashboard part 3", body: "<div>Code - <a href=\"https://github.com/learn...", video: "caqj3196pq", course_id: 17, created_at: "2017-08-11 00:00:00.000000000 +0000", updated_at: "2020-05-30 13:06:49.284375000 +0000", previewable: false, audio: "", course_module_id: 25, slug: "fitness-dashboard-part-3", description: "In Part 3 of the Fitness dashboard series based on...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/4b1990d1eb...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: 6720, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 742, title: "How to build a chat app with Rails 5.1 ActionCable...", body: "<div>Lesson code - <a href=\"https://github.co...", video: "t213fpg2if", course_id: 17, created_at: "2017-09-03 18:06:25.330302000 +0000", updated_at: "2020-05-30 13:06:49.311585000 +0000", previewable: false, audio: "", course_module_id: 25, slug: "how-to-build-a-chat-app-with-rails-5-1-actioncable...", description: "In the first part of this 2-part tutorial, learn h...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/8dfec18cdd...", teacher_id: 1, youtube_video: "", tier_id: nil, paid: false, text_public_for_seo: true, position: 6730, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 743, title: "How to build a chat app with Rails 5.1 ActionCable...", body: "<div>Lesson code - <a href=\"https://github.co...", video: "logz0k3wb2", course_id: 17, created_at: "2017-09-04 18:15:14.230639000 +0000", updated_at: "2020-05-30 13:06:49.333654000 +0000", previewable: false, audio: "", course_module_id: 25, slug: "how-to-build-a-chat-app-with-rails-5-1-actioncable...", description: "In part 2 of the ActionCable and React tutorial, w...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/d9a90607af...", teacher_id: 1, youtube_video: "", tier_id: nil, paid: false, text_public_for_seo: true, position: 6740, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 779, title: "How to build an online store using React and Rails...", body: "<div>Code: <a href=\"https://github.com/learne...", video: "tsgikdbcr5", course_id: 17, created_at: "2017-09-17 19:52:38.376915000 +0000", updated_at: "2020-05-30 13:06:49.349389000 +0000", previewable: false, audio: "", course_module_id: 25, slug: "how-to-build-an-online-store-using-react-and-rails...", description: "Learn to build an online store with cart functiona...", published: true, video_thumbnail: "https://embed-ssl.wistia.com/deliveries/936104f150...", teacher_id: nil, youtube_video: "", tier_id: nil, paid: false, text_public_for_seo: true, position: 6750, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 781, title: "How to build an online store using React and Rails...", body: "<div>Tutorial code - <a href=\"https://github....", video: "szyn92rt9a", course_id: 17, created_at: "2017-09-24 11:39:36.205706000 +0000", updated_at: "2020-05-30 13:06:49.366343000 +0000", previewable: false, audio: "", course_module_id: 25, slug: "how-to-build-an-online-store-using-react-and-rails...", description: "In part 2 of this tutorial, we make our online sto...", published: true, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: nil, youtube_video: "", tier_id: nil, paid: false, text_public_for_seo: true, position: 6760, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 696, title: "Jasmine", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:49:51.625915000 +0000", updated_at: "2017-09-25 10:08:34.010447000 +0000", previewable: false, audio: nil, course_module_id: 14, slug: "jasmine", description: nil, published: false, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 699, title: "UI Animations using ReactCSSTransitionGroup", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:55:20.537131000 +0000", updated_at: "2017-08-24 15:26:34.191714000 +0000", previewable: false, audio: nil, course_module_id: 15, slug: "ui-animations-using-reactcsstransitiongroup", description: nil, published: false, video_thumbnail: nil, teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 689, title: "API and frontend in the same app", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:45:34.743446000 +0000", updated_at: "2017-09-25 10:08:32.575124000 +0000", previewable: false, audio: nil, course_module_id: 13, slug: "api-and-frontend-in-the-same-app", description: nil, published: false, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 691, title: "Server-side rendering", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:45:34.758236000 +0000", updated_at: "2017-09-25 10:08:33.469244000 +0000", previewable: false, audio: nil, course_module_id: 13, slug: "server-side-rendering", description: nil, published: false, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 693, title: "React Router", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:45:34.771952000 +0000", updated_at: "2017-09-25 10:08:33.532771000 +0000", previewable: false, audio: nil, course_module_id: 13, slug: "react-router", description: nil, published: false, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 692, title: "Deploying and Hosting", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:45:34.765700000 +0000", updated_at: "2017-09-25 10:08:33.498902000 +0000", previewable: false, audio: nil, course_module_id: 13, slug: "deploying-and-hosting", description: nil, published: false, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 694, title: "Using Facebook Flux with Rails", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:47:03.700248000 +0000", updated_at: "2017-09-25 10:08:33.919920000 +0000", previewable: false, audio: nil, course_module_id: 16, slug: "using-facebook-flux-with-rails", description: nil, published: false, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 695, title: "Using Redux with Rails", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:47:03.708060000 +0000", updated_at: "2017-09-25 10:08:33.967863000 +0000", previewable: false, audio: nil, course_module_id: 16, slug: "using-redux-with-rails", description: nil, published: false, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 697, title: "Jest", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:49:51.634243000 +0000", updated_at: "2017-08-24 15:26:34.045567000 +0000", previewable: false, audio: nil, course_module_id: 14, slug: "jest", description: nil, published: false, video_thumbnail: nil, teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 698, title: "CSS in JavaScript", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:55:20.530396000 +0000", updated_at: "2017-08-24 15:26:34.151156000 +0000", previewable: false, audio: nil, course_module_id: 15, slug: "css-in-javascript", description: nil, published: false, video_thumbnail: nil, teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>, #<Tutorial id: 690, title: "Separate Rails API app and Node.js frontend app", body: "<div><img src=\"https://learnetto-blog.s3.amazonaws...", video: "", course_id: 17, created_at: "2017-01-22 09:45:34.750729000 +0000", updated_at: "2017-09-25 10:08:33.306208000 +0000", previewable: false, audio: nil, course_module_id: 13, slug: "separate-rails-api-app-and-node-js-frontend-app", description: nil, published: false, video_thumbnail: "https://learnetto-blog.s3.amazonaws.com/blog/2016-...", teacher_id: 1, youtube_video: nil, tier_id: nil, paid: false, text_public_for_seo: true, position: nil, visible_to_anyone_with_link: false, list_on_site: false, featured: false>]