We may earn an affiliate commission when you visit our partners.
Course image
Stephen Grider

Note: This course assumes you've got the basics of React and Redux down. Check out my course 'Modern React with Redux', its the perfect preparation.

Read more

Note: This course assumes you've got the basics of React and Redux down. Check out my course 'Modern React with Redux', its the perfect preparation.

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.

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.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Course Overview - Start Here!
Course Resources
Join Our Community!
App Overview
Read more
App User Flow Walkthrough
Tech Stack
App Mockups
Server Side Architecture
Application Architecture
Relationship Between Node and Express
Generating Express Apps
Express Route Handlers
Important Info About Heroku and Deployment
Deployment Checklist
[Render] Git and GitHub Setup
[Render] Registration, Creating a Service and Deployment
[Heroku] Installing the Heroku CLI
[Heroku] Verifying Deployment
[Heroku] Followup Deployments
Authentication with Google OAuth
Intro to Google OAuth
The OAuth Flow
Overview of Passport JS
Passport Setup
The Google OAuth API
Google Project Setup and Enabling the Google OAuth API
Securing API Keys
Google Strategy Options
Testing OAuth
Authorized Redirect URI's
OAuth Callbacks
Access and Refresh Tokens
Nodemon Setup
Adding MongoDB
Server Structure Refactor
The Theory of Authentication
Signing In Users with OAuth
Introduction to MongoDB
Remote vs Local MongoDB Instances
MongoDB Atlas Setup and Configuration
Connecting Mongoose to Mongo
Breather and Review
Mongoose Model Classes
Saving Model Instances
TokenError: Bad Request
Mongoose Queries
Passport Callbacks
Encoding Users
Deserialize User
Enabling Cookies
Testing Authentication
Logging Out Users
[Optional] A Deeper Dive
Dev vs Prod Environments
Dev vs Prod Keys
MongoDB Atlas Production Setup and Configuration
Generating Production Resources
Determining Environment
Version Control Scheme
[Render] Production Environment Variables
[Heroku] Production Environment Variables
Fixing Proxy Issues
Moving to the Client Side
Important Update About React App Generation
React App Generation
A Separate Front End Server
Running the Client and Server
Important Create React App Proxy Update
Routing Stumbling Block
The Beauty of Create React App's Proxy
[Optional] Why This Architecture?
Developing the Client Side
Async/Await Syntax
Refactoring with Async/Await
Important Note About Proxy
Front End Tech
Client React Setup
ReactDOM warning with React v18
Installing Root Modules
Troubleshooting NPM
createStore Strikethrough in Code Editor
Redux Review and Setup
The Auth Reducer
Finishing Reducer Setup
Why We Care About Auth
React Router Setup
Route Configuration
Matching Routes with Exact
Always Visible Components
Materialize CSS
Webpack with CSS
Header Design
Current User API
Additional Proxy Rules
Basics of Redux Thunk
Refactoring the App
Testing FetchUser
Refactoring to Async/Await
AuthReducer Return Values
Accessing State in the Header

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Features many coveted topics for full-stack development, such as routing, authentication, handling payments, and email
Suitable for students who possess prior knowledge of React and Redux, enabling them to enhance their existing skills
Students can create a robust application that incorporates various technologies and real-world functionalities
Incorporates industry-grade tools and frameworks, aligning with prevalent practices in the field
Guided by Stephen Grider, a seasoned instructor in the field of React development

Save this course

Save Node with React: Fullstack Web Development to your list so you can find it easily later:
Save

Reviews summary

Solid for web development

According to students, Node with React: Fullstack Web Development is a worthwhile course for learning the basics of web development. Students say that the course is well-paced and that the instructor, Stephen Grider, does an excellent job of teaching the material in a clear and engaging way.
Students find the instruction clear and engaging.
"Stephen Grider does an excellent job of teaching the material in a clear and engaging way."
Learners say the course provides a solid foundation in web development.
"You get solidly grounded in fundamentals..."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Node with React: Fullstack Web Development with these activities:
Organize your notes, assignments, quizzes, and exams
Organizing your materials will help you stay on track and make it easier to review for exams.
Show steps
  • Gather your notes, assignments, quizzes, and exams.
  • Sort your materials into different categories.
  • Create a system for organizing your materials.
Review your notes and textbooks from your previous courses on web development
Refreshing your knowledge of web development will help you build a stronger foundation for this course.
Browse courses on Web Development
Show steps
  • Gather your notes and textbooks from your previous courses on web development.
  • Review the key concepts from your previous courses.
  • Identify any areas where you need to refresh your knowledge.
Solve coding challenges related to React, Redux, Express, and MongoDB
Solving coding challenges will help you improve your problem-solving skills and strengthen your understanding of the concepts.
Show steps
  • Find coding challenges online or in books.
  • Solve the coding challenges.
  • Review your solutions and identify areas for improvement.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Watch video tutorials on React, Redux, Express, and MongoDB
Watching video tutorials will help you learn from experts and reinforce the concepts you have learned.
Show steps
  • Find video tutorials on React, Redux, Express, and MongoDB.
  • Watch the video tutorials.
  • Take notes on the key concepts.
Join a study group or online community for React, Redux, Express, and MongoDB
Joining a study group or online community will give you the opportunity to connect with other students and learn from each other.
Show steps
  • Find a study group or online community for React, Redux, Express, and MongoDB.
  • Join the study group or online community.
  • Participate in discussions and ask questions.
Write a blog post about your experience learning React, Redux, Express, and MongoDB
Writing about your experience will help you retain what you have learned and will challenge you to explain the concepts in your own words.
Show steps
  • Identify the topics you want to cover in your blog post.
  • Write a draft of your blog post.
  • Edit and revise your blog post.
  • Publish your blog post.
Build a small web application using React, Redux, Express, and MongoDB
Building a project will help you apply the concepts you have learned in a practical setting.
Show steps
  • Define the scope of your project.
  • Design the architecture of your application.
  • Implement the frontend of your application.
  • Implement the backend of your application.
  • Test and deploy your application.
Create a presentation on React, Redux, Express, and MongoDB
Creating a presentation will help you organize your knowledge and communicate the concepts to others.
Show steps
  • Identify the topics you want to cover in your presentation.
  • Gather information from your notes, textbooks, and other resources.
  • Create the slides for your presentation.
  • Rehearse your presentation.
  • Deliver your presentation.

Career center

Learners who complete Node with React: Fullstack Web Development will develop knowledge and skills that may be useful to these careers:
Front-End Engineer
Front-end engineers combine their knowledge of HTML, CSS, and JavaScript to build interactive and responsive user interfaces. The course covers in great detail the use of JavaScript and components of the React library in building front-end applications. The course also covers tools such as Redux for state management. Taking this course will help build a foundation in front-end engineering and make you a stronger candidate for these positions.
Web Developer
Web developers are responsible for the design and development of websites and web applications. They work with a variety of programming languages and technologies, including HTML, CSS, JavaScript, and server-side languages like Python or Node.js. This course covers the fundamentals of web development, including the use of React for front-end development, Express for back-end development, and MongoDB for database management.
Full-Stack Developer
Full-stack developers are responsible for both the front-end and back-end of web applications. They have a deep understanding of both client-side and server-side technologies. This course covers both React for front-end development and Express for back-end development. This course may be particularly useful if you are interested in pursuing a career as a full-stack developer.
Software Engineer
Software engineers are responsible for the design, development, and maintenance of software systems. They work with a variety of programming languages and technologies, and may specialize in a particular area, such as web development, mobile development, or data science. This course provides a strong foundation in software engineering principles and the use of React, Redux, Express, and MongoDB.
Data Engineer
Data engineers are responsible for the design, development, and maintenance of data systems. They work with big data technologies, such as Hadoop and Spark, and may specialize in a particular area, such as data warehousing, data mining, or machine learning. This course provides a strong foundation in data engineering principles and the use of MongoDB.
Database Administrator
Database administrators are responsible for the design, development, and maintenance of database systems. They work with a variety of database technologies, such as MySQL, PostgreSQL, and MongoDB, and may specialize in a particular area, such as data security, data recovery, or performance tuning. This course provides a strong foundation in database administration principles and the use of MongoDB.
Systems Administrator
Systems administrators are responsible for the design, development, and maintenance of computer systems. They work with a variety of operating systems, such as Windows, Linux, and Unix, and may specialize in a particular area, such as network administration, security, or performance tuning. This course provides a strong foundation in systems administration principles and the use of Express.
Network Engineer
Network engineers are responsible for the design, development, and maintenance of computer networks. They work with a variety of network technologies, such as routers, switches, and firewalls, and may specialize in a particular area, such as network security, network performance, or network management. This course provides a strong foundation in network engineering principles and the use of Express.
Security Analyst
Security analysts are responsible for the design, development, and maintenance of computer security systems. They work with a variety of security technologies, such as firewalls, intrusion detection systems, and antivirus software, and may specialize in a particular area, such as network security, application security, or information security. This course provides a strong foundation in security analysis principles and the use of Express.
Data Scientist
Data scientists are responsible for the design, development, and maintenance of data science systems. They work with a variety of data science technologies, such as machine learning, artificial intelligence, and big data, and may specialize in a particular area, such as data mining, data visualization, or predictive analytics. This course provides a strong foundation in data science principles and the use of MongoDB.
Machine Learning Engineer
Machine learning engineers are responsible for the design, development, and maintenance of machine learning systems. They work with a variety of machine learning technologies, such as supervised learning, unsupervised learning, and deep learning, and may specialize in a particular area, such as natural language processing, computer vision, or speech recognition. This course provides a strong foundation in machine learning principles and the use of MongoDB.
Artificial Intelligence Engineer
Artificial intelligence engineers are responsible for the design, development, and maintenance of artificial intelligence systems. They work with a variety of artificial intelligence technologies, such as natural language processing, computer vision, and machine learning, and may specialize in a particular area, such as robotics, self-driving cars, or facial recognition. This course provides a strong foundation in artificial intelligence principles and the use of MongoDB.
Product Manager
Product managers are responsible for the design, development, and marketing of products. They work with a variety of stakeholders, including engineers, designers, and customers, and may specialize in a particular area, such as software products, hardware products, or online products. This course provides a strong foundation in product management principles and the use of React for front-end development and Express for back-end development.
Project Manager
Project managers are responsible for the planning, execution, and closure of projects. They work with a variety of stakeholders, including team members, clients, and vendors, and may specialize in a particular area, such as software projects, construction projects, or marketing projects. This course provides a strong foundation in project management principles and the use of React for front-end development and Express for back-end development.
Business Analyst
Business analysts are responsible for the analysis of business processes and the identification of opportunities for improvement. They work with a variety of stakeholders, including business leaders, engineers, and customers, and may specialize in a particular area, such as financial analysis, operational analysis, or systems analysis. This course provides a strong foundation in business analysis principles and the use of React for front-end development and Express for back-end development.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Node with React: Fullstack Web Development.
Provides a comprehensive overview of the React ecosystem, including React, Redux, and Node.js. It valuable resource for anyone who wants to learn how to build full-stack React applications.
Provides a comprehensive overview of Node.js, including its core concepts, modules, and ecosystem. It valuable resource for anyone who wants to learn how to build Node.js applications.
Comprehensive guide to MongoDB, including its core concepts, data modeling, and administration. It valuable resource for anyone who wants to learn how to use MongoDB.
Provides a practical guide to MongoDB. It covers a wide range of topics, including data modeling, querying, and aggregation.
Fun and engaging guide to design patterns. It uses a visual approach to teach design patterns, which makes it easy to understand.
Provides a set of principles for writing clean and maintainable code. It valuable resource for anyone who wants to improve their coding skills.
Provides a concise and practical guide to JavaScript. It covers the essential parts of JavaScript, including its syntax, data types, and control structures.
Provides a set of design patterns for Node.js. It covers a wide range of design patterns, including creational, structural, and behavioral patterns.
Comprehensive guide to computer programming. It covers a wide range of topics, including algorithms, data structures, and software engineering.
Provides a set of guidelines for writing effective Java code. It covers a wide range of topics, including object-oriented programming, concurrency, and performance.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Node with React: Fullstack Web Development.
MERN Stack Front To Back: Full Stack React, Redux &...
Most relevant
Remix.js - The Practical Guide
Most relevant
Advanced React and Redux
Most relevant
Building Applications with React 17 and Redux
Most relevant
React Front To Back
Most relevant
Building a Full Stack App with React 16 and Express 4
Most relevant
React, NodeJS, Express & MongoDB - The MERN Fullstack...
Most relevant
Modern React with Redux [2024 Update]
Most relevant
Building React Native Apps with Redux and GraphQL
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser