React, NodeJS, Express & MongoDB - The MERN Fullstack Guide
Build fullstack React.js applications with Node.js, Express.js & MongoDB (MERN) with this project-focused course.
Build fullstack React.js applications with Node.js, Express.js & MongoDB (MERN) with this project-focused course.
We built the bestselling React course on Udemy - this course now allows you to take your React knowledge to the next level and build fullstack web apps based on React, NodeJS, MongoDB and Express!
Building fullstack applications (i.e. frontend + backend) with the MERN stack is very popular - in this course, you will learn it from scratch at the example of a complete project!
MERN stands for MongoDB, Express.js, React.js and Node.js - and combined, these four technologies allow you to build amazing web applications.
In this course, we'll build an entire project and you will learn how these different technologies work together step by step. We'll first have a look at all the individual building blocks, so that we then can also combine them all into one amazing application by the end of the course.
This course also doesn't stop after the basics - instead, you'll also learn how to add file upload, authentication, authorization and how to deploy your application in different ways to different hosting services.
This course is taught by two instructors - Max (React.js, Node/ Express) and Manuel (MongoDB) who have years of experience of working with these technologies and teaching them to other people. We took and combined our experiences to deliver you the best possible MERN stack course you can find out there.
In detail, this course offers:
Brief refreshers on the core technologies (React, Node, Express, MongoDB)
Project sections for each technology where the theoretic knowledge is applied
Detailed theory about the MERN stack and the different ways of combining the technologies
A complete course project where all the technologies come together into one application
File (image) upload in both React.js (sending the file) and Node/ Express (receiving the file)
User authentication (signup + login)
User authorization (controlling access to certain resources)
Detailed deployment instructions - including different ways of deploying the application
Tons of quizzes and extra resources!
By the end of this course, you'll feel comfortable building your own MERN stack applications and you can build up on all the knowledge taught throughout this course to dive into your own projects and use-cases.
What are the requirements for taking this course?
NO prior MERN stack knowledge is required
Basic React.js knowledge is strongly recommended - a refresher is provided as part of the course but this course is NOT meant to teach React from the ground up
Basic Node + Express knowledge is recommended but not a must-have
As always, this course comes with a 30-day money-back guarantee.
We'd love to dive into this course together with you!
Khu vực Câu hỏi thường gặp trống
Module Introduction
Xem trướcUnderstanding the Big Picture
Xem trướcDiving Into the Frontend
Xem trướcUnderstanding the Backend
Xem trướcREST vs GraphQL
Xem trướcConnecting Node & React
Xem trướcMERN - Essentials
Xem trướcCreating our Development Environment & the Development Servers
Diving Deeper Into the Code
Useful Resources & Links
Module Introduction
What is React?
A Note About The NodeJS Version
React 18
Setting Up a Starting Project
Understanding JSX
Understanding Components
Working with Multiple Components
Using Props to pass Data between Components
Rendering Lists of Data
Handling Events
Efficient Child<=>Parent Communication
Working with "State"
More on State
Fetching User Input (Two-way Binding)
React.js Basics
Wrap Up
Useful Resources & Links
Module Introduction
Xem trướcImportant: Use React Script v5
Starting Setup, Pages & Routes
Adding a UsersList Page / Component
Adding a UserItem Component
Xem trướcStyling our App & More Components
Presentational vs Stateful Components
Adding a Main Header
Adding Navlinks
Xem trướcImplementing a Basic Desktop & Mobile Navigation
Understanding Portals
Handling the Drawer State
Animating the Sidedrawer
Rendering User Places & Using Dynamic Route Segments
Getting Route Params
Adding Custom Buttons
Adding a Modal
Rendering a Map with Google Maps
Continuing without a Credit Card
Optional: More on the useEffect() Hook
Adding a Custom Form Input Component
Managing State in the Input Component
Adding Input Validation
Sharing Input Values & Adding Multiple Inputs
Managing Form-wide State
Finishing the "Add Place" Form
Starting Work on the "Update Place" Page
Adjusting the Input Component
Creating a Custom Form Hook (useForm)
Optional: More on (Custom) React Hooks
Adjusting the Form Hook
Fixing Minor Issues
Showing a Deletion Warning
Adding an "Auth" Page & Login Form
Adding Signup + "Switch Mode" Button
Adding Auth Context for App-wide State Management
Listening to Context Changes
Adding Authenticated & Unauthenticated Routes
More Auth Context Usage
Wrap Up
Useful Resources & Links
Module Introduction
Setting up our Project
Implementing Basic Routing
Adding Place-Specific Routes
Getting a Place By User ID
Handling Errors
Adding our own Error Model
Adding Controllers
Adding a POST Route & Using Postman
Handling Errors for Unsupported Routes
Adding Patch Routes to Update Places
Deleting Places
Finalizing the "Get Places by User ID" Resource
Setting Up the User Routes (Signup, Login, Get Users)
Validating API Input (Request Bodies)
Validating Patch Requests & User Routes
Using Google's Geocoding API to Convert an Address Into Coordinates
Wrap Up
Useful Resources & Links
Module Introduction
What is MongoDB?
SQL vs NoSQL
Connecting React to a Database?
Setting Up MongoDB
Creating a Simple Backend & Connecting it to the Database
Creating a Document with MongoDB
Getting Data from the Database
Installing Mongoose
Understanding Models & Schemas
Creating a Product
Connecting to the Database & Saving the Product
Getting Products
Understanding the ObjectID
Wrap Up
Useful Resources & Links
Module Introduction
Installing Mongoose & Connecting our Backend to MongoDB
Creating the Place Schema & Model
Creating & Storing Documents in the Database
Getting Places by the PlaceID
Getting Places by the UserID
Updating Places
Deleting Places
How Users & Places are Related
Creating the User Model
Using the User Model for Signup
Adding the User Login
Getting Users
Adding the Relation between Places & Users
Creating Places & Adding it to a User
Deleting Places & Removing it From the User
Getting Places - An Alternative
Cleaning Up our Code
Wrap Up
Useful Resources & Links
Module Introduction
Initial Setup
Sending a POST Request to the Backend
Optional: The fetch() API
Handling CORS Errors
Getting Started with Error Handling
Proper Error Handling in the Frontend
Sending a Login Request
Getting Users with a GET Request
Creating a Custom Http Hook
Improving the Custom Http Hook
Using the Http Hook to GET Users
Adding Places (POST)
Loading Places by User Id
Updating Places
Deleting Places
Fixing NavLinks & "My Places"
Final Adjustments
Useful Resources & Links
Module Introduction
Building an ImageUpload Component
Finishing & Using the ImageUpload Component (in a Form)
On the Backend: Using Multer to Save Files
Filtering Files on the Backend (Images Only!)
Wiring Frontend and Backend Up
Connecting Users to Images
Serving Images Statically
Uploading Images for New Places
Deleting Images When Places Get Deleted
Wrap Up
Useful Resources & Links
Module Introduction
How Authentication Works (in a MERN App)
Hashing the User Password
Logging Users In (with Hashed Passwords)
Generating Tokens (JWT) on the Backend
Optional: More on JSON Web Tokens
Backend Route Protection with Auth Middleware
Using & Attaching JWT (Tokens) in React
Using Tokens to Update and Delete Places
Adding Authorization
Authorization on "Delete Places"
Storing the Token in the Browser Storage
Adding Auto-Login (Basic Version)
Managing the Token Expiration Date
Finished Auto-Login & Auto-Logout
Creating a Custom Authentication Hook
Authentication - Summary
General App Improvements
Authentication & Authorization
Useful Resources & Links
Module Introduction
Deployment Steps Overview
Using Environment Variables (Node.js)
Environment Variables in React Apps
Preparing API Keys & Credentials
Building the React App
Adding Code Splitting to React
Understanding Possible Deployment Alternatives
Deploying a Standalone REST API (Example: Heroku)
Deploying a Standalone React SPA (Example: Firebase Hosting)
Fixing Style Issues
Deploying a Combined App
Storing Files/ Uploads
Wrap Up
Basic knowledge about ReactJS is required
ReactJS Hooks knowledge is recommended
Basic knowledge about Node, Express and MongoDB is recommended but not a must-have
NO expert React knowledge or MERN knowledge is required
Learn how to connect ReactJS with NodeJS, Express & MongoDB
Build an entire project from scratch!
Refresh the basics about ReactJS, NodeJS, Express and MongoDB
Learn how to implement Authentication & Authorization
Add File Upload to ReactJS + Node/ Express Applications