
Learn to create a React app with npx, verify Node and npm, view the app skeleton in Visual Studio Code, and run npm start to see live browser updates.
Explore the folder structure and program flow of a react-based project, including npm/yarn dependencies, node_modules, and the single-page app rendered by the app component via the virtual DOM.
Learn to convert a hello functional component to an ES6 functional component using arrow functions, and master default and named exports with import syntax.
Compare stateless functional components with stateful class components, noting how functional components handle UI while class components manage private state and lifecycle details, and why functional components are preferred.
JSX explained clarifies how JSX (JavaScript XML) simplifies writing code with both functional and class components, covering syntax rules, attributes, event handling, and the need for closing tags.
Set up a local development environment for a Node.js based application. Install the runtime, MongoDB community edition, Visual Studio Code, Postman, and Chrome according to your operating system.
Create and export a database configuration file, install and import mongoose, and connect to the database using mongoose with success and error event handling.
Set up a user model with Mongoose by defining a comprehensive user schema, including full name, email, and password, then register and import the model in your mern app.
Build a registration rest API with a post endpoint that maps the request body via object destructuring, validates mandatory fields, and returns clear error or success responses.
Install a password hashing module with npm, hash user passwords with 16 salt rounds, and save the encrypted password in the database, verifying via postman tests.
Set up a post model with mongoose by defining a post schema with title, body, and image fields, plus author reference to the user model via ObjectId; register after connection.
Install and restart a React VS Code extension to generate components, then customize the nav bar styling with CSS using className conventions to set a white background and black text.
Option 1 - Install the exact same version(V5) of react-router-dom as used in the course as shown below
npm i react-router-dom@5.3.0
Option 2 - If you want to use new version of React-Router-Dom(V6) then please modify code in App.js as mentioned below
https://github.com/obify/instamern-fe/blob/master/src/App.js
import { BrowserRouter, Route, Routes } from 'react-router-dom';
<BrowserRouter>
<NavBar />
<Routes>
<Route path="/" exact element={<Home />} />
<Route path="/login" exact element={<Login />} />
<Route path="/signup" exact element={<Signup />} />
<Route path="/profile" exact element={<Profile />} />
<Route path="/create-post" exact element={<CreatePost />} />
{/* catch-all 404 page */}
<Route path="*" element={<Page404 />} />
</Routes>
</BrowserRouter>
Create and wire up website pages for a MERN app, including home, login, sign up, and profile, with a centralized routing system and conditional navigation.
Copy the login logic into the signup screen, add a full name placeholder, and configure an email, password, and signup button. Add and test a login link for existing accounts.
Learn to style a profile page in a MERN stack project by implementing a profile image, flexbox layout, and spacing with borders and margins, plus responsive tweaks for mobile.
Enhance the homepage post section by adding a red heart icon to each post, styling it with inline color and size adjustments, and duplicating the card for multiple posts.
Style the create-post page, apply button colors and image uploads, and refine sign-up and login themes for a cohesive dark and light post, profile, and home look.
Add three state variables—fullName, email, and password—on a signup page using useState. Bind input values and update them with onChange in preparation for a backend API call.
Learn how cross-origin resource sharing causes api requests to fail when frontend and backend run on different ports, and implement solutions using backend cors middleware or a frontend proxy.
Add email validation across the form using a regular expression, display error toasts for invalid emails, and navigate to the login page after a valid signup.
Connect the login screen to the backend login API, implement error handling and input management for email and password. Test redirects to the home screen after successful authentication.
enrich the login api to return the JWT token and include user info such as id, full name, and email from the backend to the front end, enabling future videos.
Enrich the home page styling by conditionally showing links based on login status, fix incorrect class references, and apply consistent padding to home cards for a dynamic, polished UI.
Implement logout by clearing local storage, dispatching a logout event, and redirecting to the login page using history. Verify token and user data are removed, ensuring a clean sign-out experience.
Integrate the frontend with the backend delete post API by showing the delete button only for authors, sending delete requests, and updating the post list to remove the deleted item.
Test the functionality by adding a delete comment icon, mirroring the delete post feature, enabling users to remove comments on posts with an upload image flow.
Navigate to user profiles by tapping post authors: if the author equals the current user, open own profile; otherwise open the other user's profile.
Update the frontend state to reflect a new follower, increasing John Doe's followers. Append Jane Doe's id to John Doe's followers array using the previous state.
Implement an API to fetch posts from users you follow in a MERN app by filtering posts by your following list and updating the request and endpoint.
Fix the follow unfollow bug by making the initial boolean state dynamic based on whether the user is followed, so returning to a profile shows the correct button.
In this course, you will learn everything that is needed for you to become a Pro Fullstack developer in a hands-on step by step approach.
In this MERN stack course you are going to learn all the components that will help you develop your own production grade full stack application.
You will be able to apply for any Job related to MERN stack.
Everything will be taught from scratch with practical examples.
Following are the topics that will be covered in this course:
1.1-ReactJS introduction and environment setup
1.2-create react app
1.3-program flow and project files walkthrough
1.4-types of components in react
1.5-creating and using 1st functional component
1.6-creating 1st stateful class component
1.7-ES6 functional component, export and import
1.8-comparision between functional and class component
1.9-react hooks intro
1.10-jsx explained
1.11-props in functional and class component
1.12-state vs props
1.13-deep dive into setState
1.14-Handling form in class component part-1
1.15-Handling form in class component part-2
1.16-componentDidMount lifecycle onload method
We will use the following technologies:
MONGODB - NoSQL database for storing data as documents and collection
EXPRESS JS - Web framework for developing RESTful web services/API’s
REACT JS - Library for developing the single page UI with functional components
NODE JS - Runtime environment for developing our backend application
Bcrypt JS - Npm package for encrypting and decrypting password
Json Web Token(JWT) - For secure token based communication between frontend and backend via API calls
REACT REDUX - For state management in our React application
localStorage - For storing application information in the frontend
Nodemon - Npm package for auto-reload of backend changes
Cloudinary - Cloud storage for storing images
Visual studio code - Development tool/IDE
12. ES7 React Extension - Helps to create React functional component faster
We will also learn the debugging techniques and best practices that will help you become an awesome MERN stack developer.