Skip to main content

Node with React: Fullstack Web Development

25h 36m 19s
English
Paid

Course description

Go beyond the basics of React and Redux!  This course will teach you to combine the ultra-popular React, Redux, Express, and MongoDB technologies to build a fullstack web application. Advanced Deployment? You will learn it.  Billing/Payments? Included.  Handling Email? Of course!

Read more about the course

What Will You Build?

All of my courses are 'learn-by-doing': no boring endless lectures with Powerpoints, only live, interactive coding examples.  In this course we'll build one massive web application that profiles the advanced features of React, Redux, Express, and Mongo.  By putting each concept into a real app, you'll get a better idea of when to use each unique and powerful feature.

Build a large feedback-collection app. This mega app will include the full gamut of features, including everything from authentication to email handling.  You'll learn how to build an app that can be used to send mass emails to a big list of users for the purpose of collecting feedback.  It's my goal to ensure you understand each feature we build into this app so you can apply them to your own personal or professional projects in the future.

Here's what we'll learn:

  • Learn the architectural considerations of building a full stack app
  • Connect a front-end Create-React-App server to a NodeJS and Express backend
  • Communicate data from your Mongo database to your React application
  • Understand how to route user requests on the front end with React Router and on the backend with Express
  • Build reusable user inputs with Redux Form, complete with navigation
  • Handle credit cards and receive payments from your users with Stripe
  • Engage your users with automated emails
  • Enhance authentication flows in your app with Google OAuth authentication
  • Separate production and development resources with advanced API key handling techniques
  • Educate your users on how to use your app with custom build landing pages

I've built the course that I would have wanted to take when I was learning to build fullstack apps. A course that explains the concepts and how they're implemented in the best order for you to learn and deeply understand them.

Requirements:

  • Basic understanding of Javascript, React, and Redux

  • A Mac, Windows, or Linux computer

Who this course is for:
  • Anyone who wants to learn how to build full stack apps with the latest in web technology

What you'll learn:

  • Create boilerplate starter projects with React, Redux, Express, and Mongo
  • Understand common web technologies and design patterns to connect them together
  • Master deployment techniques between the production and development environments
  • Make an app with Google OAuth authentication
  • Learn to effectively create and send emails from a backend server
  • Accept and process credit card payments from users

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 Node with React: Fullstack Web Development

0:00
/
#1: How to Get Help

All Course Lessons (191)

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

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

MERN eCommerce From Scratch

MERN eCommerce From Scratch

Sources: udemy, Brad Traversy
There are a lot of "eCommerce" courses out there, but most use some kind of prebuilt plugin or platform. In this course, we will build a completely customized eCommerce / shoppi...
14 hours 49 minutes 45 seconds
CodeFast | Learn to code in weeks, not months.

CodeFast | Learn to code in weeks, not months.

Sources: Marc Lou
CodeFast is a course designed specifically for those who want to turn their idea into a real online business quickly and effectively. Unlike traditional...
11 hours 38 minutes 42 seconds
Redis Caching Concepts with Node.js

Redis Caching Concepts with Node.js

Sources: Codedamn
Redis is an open-source in-memory data store used as a database, cache, and message broker. It is incredibly fast and suitable for a variety of tasks.
1 hour 52 minutes 26 seconds
Chrome Extension Mastery: Build Full-Stack Extensions with React & Node.js

Chrome Extension Mastery: Build Full-Stack Extensions with React & Node.js

Sources: Ryan Fitzgerald
Master the creation of full-fledged Chrome extensions from scratch to production! Learn how to develop powerful, functional Chrome extensions using a modern...
10 hours 3 minutes 45 seconds