
Choose between Mongo Atlas and a local MongoDB setup, install locally to visually inspect the database, whitelist IP addresses, set the Atlas connection string in an environment variable, and verify.
Connect your MERN stack app to MongoDB locally or with Atlas, using localhost:27017 and a chosen database name, then restart the server to confirm the connection.
Define a user model and schema in MongoDB with Mongoose, implementing username, name, email, profile, and hashed passwords using crypto, plus salt and password reset tokens for secure authentication.
Install and configure npm packages to enable auth and blogging features. Validate user inputs, prevent duplicate emails, and generate jwt tokens, while implementing slug generation and meta descriptions for SEO.
Implement a signup validator with express-validator to enforce nonempty name, valid email, and password of at least six characters; create reusable middleware and apply it to the signup route.
Learn how to implement a robust user signup flow: validate unique email, generate a unique username with shortid, create user and profile, and handle errors with MongoDB/Mongoose.
Implement sign-in with email and password validation, authenticate against hashed passwords, issue JWT stored in a cookie, and pair the token with user info while supporting cloud or local databases.
Implement sign out and require sign in middleware to protect routes with a token verified by a secret; sign in to obtain the token and use it in authorization header.
Learn fundamentals of Next.js by setting up a project, installing dependencies, and creating a home page from the pages directory, with steps for running and building in development and production.
Learn how to set up a Next.js project with a custom document to include bootstrap for navigation, add the bootstrap CDN, and integrate analytics and head elements.
Learn how to configure environment variables in Next.js using a root next.config.js and a config helper, expose public runtime config, switch between development and production, and access variables in components.
Implement client-side navigation in a Next.js app by using the next/link component to connect sign up and sign in pages, delivering seamless, reload-free transitions and improved user experience.
Create a sign up form component in React, with name, email, and password fields, using state and a dynamic handleChange and handleSubmit to prepare data for user creation.
Implement a signup action that sends user data to the backend, handling loading states, errors, and success alerts within the sign up component.
Learn to implement authentication and admin middlewares in a MERN backend, exposing the user via request.user and protecting routes by role (0 for user, 1 for admin).
Create separate admin and user dashboards, then implement route protection for admin and authenticated users using private and admin components with role-based redirects.
Create private and admin route components to guard user and admin pages, using use effect for auth checks and redirects to sign-in or homebase based on user roles.
Implement a duplicate category error handler that extracts the first error message from the error object and uses a helper in the category controller to return a concise message.
Implement tag management with a mongoose tag model, including name and slug, timestamps, and validators, with endpoints to create, list, read, and remove tags for admin control in MERN.
Learn to build the frontend for categories and tags in the MERN app, with admin login, left-side navigation, and bootstrap-styled grids for managing categories and blogs.
Master the Art of Building Real World SEO Web Applications using MERN (Mongo Express React Node) Stack. Become a true Web Developer with this Ultimate Project based course where you will learn to build real web app that is currently running live on the server :)
Welcome to learn Full Stack / MERN Stack Web Development with React Node Mongo DB and NextJs. In this course you will learn to build backend API with Node, Express and Mongo DB. You will learn to build frontend web app with React and NextJs. You will learn to build SEO web app using NextJs which is a framework for building production level React apps.
By the end of this course you will have build a production ready SEO multi user blogging platform. This course is your ultimate workshop for building full stack MERN Web Apps with detailed focus on Node React NextJs and SEO.
Why we choose React Node NextJs for building SEO Blogging Project
We choose Node React and NextJs because they all use same programming language JavaScript. So even though it's a FullStack app with separate API and separate frontend, we will be dealing with only one language - JavaScript.
We choose Node js and Mongo DB for building API because its incredibly easy, flexible and easy to scale.
We choose React because its extremely powerful, performant and recently became so much fun and easy to use with the introduction of hooks.
We choose NextJs because it takes the development process of React apps to whole new level.
NextJs comes with SSR out of the box and SSR is necessary for SEO
NextJs starting with version 9 automatically decides if your web page can be served as a static page or dynamic page.
If your page is not making request to backend server to fetch data then NextJs automatically serves that page as static page.
Static pages load extremely fast because they are static. there is no need to wait for server response.
So you can build your site's homepage or landing page a static page with static content such as pre-written text and images to make it extremely fast.
I have used NextJs professionally to build a web app and it scores 100 out of 100 in google page speed test. which is hard to believe but true!
How NextJs makes serving your web pages so fast?
First of all NextJs analyzes if the pages can be served as static or dynamic during its build process. So if a page can be served as static it will be served as static making it faster than pages that require server response.
Second reason is that even though your landing page might have a lot of images, they are served as static content so first the page loads with actual content (text/html) without waiting for images as a result page is loaded in less than a second.
NextJs from version 9 prefetch the pages automatically behind the scene so when the home page is loaded other pages of your site is prefetched behind the scene as long as you are using next link component. So when user navigates to different pages... it is lightning fast.
With NextJs all your pages are SEO so either static or dynamic pages, they are all Search Engine Optimized.
Don't want to learn yet another framework?
Me too :) The best thing about NextJs is that it's pretty much React. you still create components the way you would usually do with React.
There are only few differences such as routing and a lifecycle method (getInitialProps) provided by NextJs which makes SSR possible.
You will learn all the good stuff about NextJs while building this awesome project.
So if you are looking to build extremely high performant app that will leave all your competitions behind and stand out in the crowd, this course will show you exactly how you can build such app.
This blogging app is built for production use and is flexible enough for you to use as a one person blogging platform or a blogging platform for your business or use as a foundation of a marketplace app because it has role based multi user blogging system in place.
So join me in this course and start coding this awesome app together < />