Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Node with React: Fullstack Web Development, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:06:13
    How to Get Help
  2. Урок 2. 00:04:21
    App Overview
  3. Урок 3. 00:04:31
    App User Flow Walkthrough
  4. Урок 4. 00:05:30
    Tech Stack
  5. Урок 5. 00:07:17
    App Mockups
  6. Урок 6. 00:04:36
    Application Architecture
  7. Урок 7. 00:08:27
    Relationship Between Node and Express
  8. Урок 8. 00:08:12
    Generating Express Apps
  9. Урок 9. 00:07:33
    Express Route Handlers
  10. Урок 10. 00:12:12
    Deployment Checklist
  11. Урок 11. 00:07:30
    [Heroku] Installing the Heroku CLI
  12. Урок 12. 00:08:38
    [Heroku] Verifying Deployment
  13. Урок 13. 00:03:29
    [Heroku] Followup Deployments
  14. Урок 14. 00:05:51
    Intro to Google OAuth
  15. Урок 15. 00:09:09
    The OAuth Flow
  16. Урок 16. 00:07:58
    Overview of Passport JS
  17. Урок 17. 00:07:17
    Passport Setup
  18. Урок 18. 00:10:00
    Enabling Google OAuth API
  19. Урок 19. 00:05:55
    Securing API Keys
  20. Урок 20. 00:07:24
    Google Strategy Options
  21. Урок 21. 00:07:49
    Testing OAuth
  22. Урок 22. 00:08:54
    Authorized Redirect URI's
  23. Урок 23. 00:08:07
    OAuth Callbacks
  24. Урок 24. 00:07:32
    Access and Refresh Tokens
  25. Урок 25. 00:03:59
    Nodemon Setup
  26. Урок 26. 00:12:43
    Server Structure Refactor
  27. Урок 27. 00:11:49
    The Theory of Authentication
  28. Урок 28. 00:15:37
    Signing In Users with OAuth
  29. Урок 29. 00:08:04
    Introduction to MongoDB
  30. Урок 30. 00:07:54
    mLab Setup [PARTIALLY DEPRECATED]
  31. Урок 31. 00:06:52
    Connecting Mongoose to Mongo
  32. Урок 32. 00:03:10
    Breather and Review
  33. Урок 33. 00:08:27
    Mongoose Model Classes
  34. Урок 34. 00:10:41
    Saving Model Instances
  35. Урок 35. 00:07:33
    Mongoose Queries
  36. Урок 36. 00:07:38
    Passport Callbacks
  37. Урок 37. 00:15:02
    Encoding Users
  38. Урок 38. 00:04:29
    Deserialize User
  39. Урок 39. 00:07:58
    Enabling Cookies
  40. Урок 40. 00:08:19
    Testing Authentication
  41. Урок 41. 00:04:13
    Logging Out Users
  42. Урок 42. 00:22:01
    [Optional] A Deeper Dive
  43. Урок 43. 00:05:39
    Dev vs Prod Keys
  44. Урок 44. 00:09:50
    Generating Production Resources
  45. Урок 45. 00:06:35
    Determining Environment
  46. Урок 46. 00:08:05
    Version Control Scheme
  47. Урок 47. 00:08:04
    [Heroku] Production Environment Variables
  48. Урок 48. 00:11:30
    Fixing Proxy Issues
  49. Урок 49. 00:06:59
    React App Generation
  50. Урок 50. 00:07:26
    A Separate Front End Server
  51. Урок 51. 00:08:57
    Running the Client and Server
  52. Урок 52. 00:18:54
    Routing Stumbling Block
  53. Урок 53. 00:14:36
    The Beauty of Create React App's Proxy
  54. Урок 54. 00:29:44
    [Optional] Why This Architecture?
  55. Урок 55. 00:18:50
    Async/Await Syntax
  56. Урок 56. 00:07:40
    Refactoring with Async/Await
  57. Урок 57. 00:07:24
    Front End Tech
  58. Урок 58. 00:07:41
    Client React Setup
  59. Урок 59. 00:06:45
    Installing Root Modules
  60. Урок 60. 00:02:27
    Troubleshooting NPM
  61. Урок 61. 00:10:19
    Redux Review and Setup
  62. Урок 62. 00:04:52
    The Auth Reducer
  63. Урок 63. 00:03:36
    Finishing Reducer Setup
  64. Урок 64. 00:04:46
    Why We Care About Auth
  65. Урок 65. 00:05:57
    React Router Setup
  66. Урок 66. 00:05:41
    Route Configuration
  67. Урок 67. 00:08:16
    Matching Routes with Exact
  68. Урок 68. 00:06:12
    Always Visible Components
  69. Урок 69. 00:08:48
    Materialize CSS
  70. Урок 70. 00:07:57
    Webpack with CSS
  71. Урок 71. 00:04:48
    Header Design
  72. Урок 72. 00:05:59
    Current User API
  73. Урок 73. 00:11:18
    Additional Proxy Rules
  74. Урок 74. 00:10:13
    Basics of Redux Thunk
  75. Урок 75. 00:05:18
    Refactoring the App
  76. Урок 76. 00:09:03
    Testing FetchUser
  77. Урок 77. 00:08:56
    Refactoring to Async/Await
  78. Урок 78. 00:10:38
    AuthReducer Return Values
  79. Урок 79. 00:07:52
    Accessing State in the Header
  80. Урок 80. 00:05:01
    Header Content
  81. Урок 81. 00:07:34
    Redirecting a User on Auth
  82. Урок 82. 00:07:38
    Redirect on Logout
  83. Урок 83. 00:04:18
    Landing Component
  84. Урок 84. 00:07:52
    Link Tags
  85. Урок 85. 00:03:08
    Client Side Billing
  86. Урок 86. 00:11:56
    Billing Considerations
  87. Урок 87. 00:05:35
    Stripe Billing Process
  88. Урок 88. 00:08:16
    Exploring the Stripe API
  89. Урок 89. 00:10:20
    Stripe API Keys
  90. Урок 90. 00:13:32
    Env Variables with React
  91. Урок 91. 00:10:30
    The Payments Component
  92. Урок 92. 00:09:09
    Stripe Tokens
  93. Урок 93. 00:06:57
    Payment Fixes
  94. Урок 94. 00:09:17
    Reusing Action Types
  95. Урок 95. 00:03:12
    Positing the Stripe Token
  96. Урок 96. 00:04:32
    Post Request Handlers
  97. Урок 97. 00:05:20
    Creating Charges
  98. Урок 98. 00:06:43
    BodyParser Middleware
  99. Урок 99. 00:06:33
    Creating a Charge Object
  100. Урок 100. 00:04:40
    Finalizing a Charge
  101. Урок 101. 00:07:28
    Adding Credits to a User
  102. Урок 102. 00:06:47
    Requiring Authentication
  103. Урок 103. 00:11:40
    Route-Specific Middlewares
  104. Урок 104. 00:04:19
    Displaying Credit Quantity
  105. Урок 105. 00:05:19
    Updating Credits
  106. Урок 106. 00:12:21
    Express with Create-React-App in Production
  107. Урок 107. 00:08:10
    Routing in Production
  108. Урок 108. 00:10:09
    Deployment Options
  109. Урок 109. 00:16:11
    Adding in a Build Step
  110. Урок 110. 00:03:50
    Testing Deployment
  111. Урок 111. 00:08:01
    Survey Overview
  112. Урок 112. 00:05:25
    Server Routes
  113. Урок 113. 00:07:08
    Survey Model
  114. Урок 114. 00:05:57
    Model Deficiencies
  115. Урок 115. 00:07:53
    Limitations of Subdocument Collections
  116. Урок 116. 00:04:50
    Setting up SubDocs
  117. Урок 117. 00:05:03
    Relationship Fields
  118. Урок 118. 00:07:16
    Survey Creation Route Handler
  119. Урок 119. 00:06:25
    Verifying Minimum Credits
  120. Урок 120. 00:09:07
    Creating Surveys
  121. Урок 121. 00:08:49
    Creating Subdoc Collections
  122. Урок 122. 00:07:19
    Creating Mailers
  123. Урок 123. 00:14:30
    Identifying Unique Users
  124. Урок 124. 00:08:22
    Sendgrid Setup
  125. Урок 125. 00:09:40
    Mailer Setup
  126. Урок 126. 00:11:02
    Mailer in Use
  127. Урок 127. 00:08:32
    Mailer Constructor
  128. Урок 128. 00:09:30
    Boilerplate for Sending Emails
  129. Урок 129. 00:05:58
    More Mailer Properties
  130. Урок 130. 00:06:17
    Sending SendGrid Emails
  131. Урок 131. 00:09:21
    Testing Email Sending
  132. Урок 132. 00:08:59
    Improving the Email Template
  133. Урок 133. 00:09:53
    Polish in the Route Handler
  134. Урок 134. 00:02:10
    Verifying Sendgrid Click Tracking
  135. Урок 135. 00:11:14
    Feedback for User Feedback
  136. Урок 136. 00:05:02
    Client Side Survey Creation
  137. Урок 137. 00:08:59
    Material Icons
  138. Урок 138. 00:02:21
    Navigation with the Link Tag
  139. Урок 139. 00:06:56
    SurveyNew Form
  140. Урок 140. 00:11:17
    Purpose of Redux Form
  141. Урок 141. 00:12:21
    Redux Form Setup
  142. Урок 142. 00:07:08
    The ReduxForm Helper
  143. Урок 143. 00:10:23
    Redux Form in Practice
  144. Урок 144. 00:08:57
    Custom Field Components
  145. Урок 145. 00:05:47
    Wiring up Custom Fields
  146. Урок 146. 00:05:17
    DRY'ing Up Fields
  147. Урок 147. 00:07:36
    Fields from Config
  148. Урок 148. 00:07:20
    Styling the Form
  149. Урок 149. 00:06:26
    Form Validation
  150. Урок 150. 00:08:32
    Showing Validation Errors
  151. Урок 151. 00:09:10
    Generalizing Field Validation
  152. Урок 152. 00:08:36
    Validating Emails
  153. Урок 153. 00:13:08
    Displaying Invalid Emails
  154. Урок 154. 00:11:56
    Toggling Visibility?
  155. Урок 155. 00:11:29
    Advancing From SurveyForm
  156. Урок 156. 00:05:21
    Retreat to the Form
  157. Урок 157. 00:11:27
    Persisting Form Values
  158. Урок 158. 00:09:56
    Refactoring Form Fields
  159. Урок 159. 00:05:27
    Finalizing Review Fields
  160. Урок 160. 00:10:51
    Outstanding Form Work
  161. Урок 161. 00:07:10
    Dumping Form Values
  162. Урок 162. 00:02:54
    Fixing Property Names
  163. Урок 163. 00:04:41
    Posting to Surveys
  164. Урок 164. 00:09:02
    Redirect on Submit
  165. Урок 165. 00:02:31
    Feedback with Webhooks
  166. Урок 166. 00:09:09
    Webhooks in Development
  167. Урок 167. 00:06:28
    LocalTunnel Setup
  168. Урок 168. 00:05:17
    Testing Webhooks
  169. Урок 169. 00:06:48
    Finalizing Webhook Setup
  170. Урок 170. 00:07:58
    Encoding Survey Data
  171. Урок 171. 00:07:15
    Dirty Data from Webhooks
  172. Урок 172. 00:08:19
    Processing Pipeline
  173. Урок 173. 00:07:56
    Parsing the Route
  174. Урок 174. 00:05:31
    Code Cleanup
  175. Урок 175. 00:05:15
    Unique Events
  176. Урок 176. 00:10:51
    Lodash Chain Helper
  177. Урок 177. 00:09:10
    Bad Mongoose Queries
  178. Урок 178. 00:13:49
    Finding the Exact Survey
  179. Урок 179. 00:09:34
    Updating Records
  180. Урок 180. 00:09:26
    Executing Queries
  181. Урок 181. 00:02:19
    Testing the Query
  182. Урок 182. 00:04:02
    Odds n' Ends Around Surveys
  183. Урок 183. 00:06:07
    Mongoose Tips
  184. Урок 184. 00:09:10
    Fetching a List of Surveys
  185. Урок 185. 00:10:01
    Whitelisting Model Fields
  186. Урок 186. 00:02:12
    Testing Surveys Endpoint
  187. Урок 187. 00:06:01
    Wiring Surveys Up to Redux
  188. Урок 188. 00:06:53
    Wiring React to Redux
  189. Урок 189. 00:08:13
    Rendering a List of Surveys
  190. Урок 190. 00:02:22
    Reversing the Survey List
  191. Урок 191. 00:12:45
    Expanding the App