
Learn how to run Node.js code on your local machine using Visual Studio Code, terminals like Git Bash or PowerShell, and simple console logs to test output.
Learn how modules in node js prevent global scope pollution through an immediately invoked function expression, illustrating the modular pattern and encapsulation.
In Node. js, the CommonJS module system automatically wraps every module in a function. This default wrapper function encapsulates the module's code and provides a private scope for its variables and functions.
Learn how to use the Node.js os module by importing it, then inspect system properties such as type, arch, hostname, platform, freemem, and CPUs to understand your operating environment.
Demonstrates using the fs module to read, write, append, and delete files with readFileSync, writeFileSync, appendFileSync, and unlinkSync. Explains buffers and utf8 encoding, and using toString for display with test.txt.
Discover how Express.js, a popular Node.js framework, simplifies building large-scale apps and teamwork, explore its history from 2010 to IBM, and review its official docs and core sections.
Create your first express server by initializing an app with express, defining a get route for /, and sending a homepage response on port 8000.
Send key=value pairs after a question mark to the server as query strings. Access them with request.query on the server, using destructuring for name and email.
Learn how cookies work in a MERN stack app: read server cookies, set cookies with res.cookie, and clear cookies with res.clearCookie, using postman for testing.
Explore the MERN stack's request object, including headers, URL, path, method, protocol, body, cookies, and query params, and learn how Express extends raw Node requests.
Discover the response object, sending a single reply with json, text, or html, setting headers and cookies, and using methods like send, status, and redirect.
Middleware is a function in an express app that accesses request and response, uses next to pass control, and can send a response or trigger error handling.
Install MongoDB community server on Windows as a service, and install the Mongo shell and Compass for interaction. Add the bin path to PATH and verify the local server.
Learn to read multiple documents in MongoDB by using find instead of find one, converting input types with parseInt, and querying by fields like age or department.
Learn how to delete a single document in a MERN stack app using MongoDB's find one and delete method with email query and clear success or error responses.
Define a schema with mongoose to specify fields and data types, then create a model from it and use it to add, update, delete, and fetch student records.
Add a single and multiple student documents using mongoose by creating post routes, using the student schema, and async/await with try/catch to save data and handle errors.
Learn to delete a single document with Mongoose using findOneAndDelete and findByIdAndDelete via a single route with async/await, error handling, and Postman testing.
Build a todo app with express.js and MongoDB using mongoose and a template engine. Create, edit, and delete todos with created and updated timestamps, plus sorting by last created.
Import mongoose and connect to the MongoDB database using the connect method with a localhost url and the database name, logging a successful connection or any errors.
Connect MongoDB with a Node.js app and scaffold a to-do list page, creating views/index.js with HTML boilerplate and a get route to render the page at localhost:8000.
Create a delete todo confirmation page by adding a new view, setting up a route, and rendering a confirmation with a back button and a yes option for deletion.
Add an external CSS file to a MERN stack project by creating a public/css folder, linking style.css in index.js, and serving static assets with express.static, resulting in styled pages.
Add todo functionality using a todo model, enabling creating todos via a post route /addtodo with urlencoded data, using body-parser to parse data, validating title, handling errors, and showing timestamps.
This code refactoring lecture separates the database connection from index.js by introducing an init/mongodb.js with a connectMongoDB function using async/await and try/catch.
Update a todo item by editing the preface title and description in edit form, passing the todo id via the query string, and handling the update with a post route.
Implement delete todo functionality with a confirmation page, passing the id via query string and handling yes or no to delete and redirect to the home page.
Add a new todo with a title and description, save it, and verify the list updates. Edit the item and update the title, description, and time, then delete with confirmation.
Clone this project from the GitHub repository using the ssh link, install dependencies with npm i, and start the app with npm start to view it at localhost:8000.
Create a signup route in the auth module, wire a signup controller to create and save a new user from the user model, and respond with a 201 status.
Test the signup route using postman by sending name, email, and password to localhost:8000/api/v1/auth/signup, then confirm a new user appears in MongoDB with default role 3.
Navigate MongoDB Cloud Atlas in the browser, log in, and browse the blog database to view the user collection and user one details (email, password, role) from anywhere.
Install and import Morgan, a third-party middleware, to log signup requests in a MERN app, then test the sign-up route and review the console logs.
Learn to structure API responses in a MERN stack app by returning an object with status code, status boolean, and message, as demonstrated with Postman tests.
Learn to implement error handling middleware by creating a middleware folder with error handler and index files, exporting the middleware, and applying it in app.js to standardize error responses.
Learn how to test custom error handling middleware in a MERN stack project using Postman, by throwing errors in the controllers and validating 500, 400, and 404 responses.
Learn to send verification emails in a MERN app with node mailer, configure Gmail SMTP, and deliver an HTML email containing a code to users.
Create a category model with mongoose by defining a category schema featuring title and description, add an updated by user reference, enable timestamps, and export the category module via index.js.
Build an add category feature in a MERN app by creating a category route, validator, and controller, protecting the route and saving category with title, description, and updated by user.
update category workflow uses admin middleware to validate category id, update title or description, set updated by user, and enforce existence and duplicate title checks with a 200 response.
Create a delete route for a category, protect with admin and id validation, implement a delete category controller with async try-catch, and return 200 after deleting; 404 if not found.
Build a get categories endpoint with a controller and route, using regex to search by title or description. Test with Postman and MongoDB Compass to verify 200 responses and results.
Upload a single image to an S3 bucket by validating jpg, jpeg, or png extensions, generating a unique key, and using S3 putObject with the file buffer.
Develop a delete file route and controller to remove a file from an S3 bucket, then delete its database record and return a 200 success.
Build the add post API with routes, controllers, and validators, validate title, file, and category, confirm file and category exist, create the post with the user, and return 201 response.
Create and protect the update post route, validate IDs, and implement the update post controller to modify title, description, file, and category, returning the updated post.
Fetch a single post by id in a mern stack project using a dynamic route, populate related fields, and handle errors with a clear json response.
Discover how the virtual DOM compares two tree states to detect changes and update only affected elements, delivering better development experience for large apps.
Learn what a JSX element is in React, how to create and render it, and how JSX converts to plain JavaScript objects via Babel, comparing it with DOM and HTML.
Do you want to build fast and powerful full-stack applications with JavaScript? Would you like to become a more complete and in-demand developer?
Then MENR stack is the hottest technology for you to learn right now, and you came to the right place to do it!
This is a project based course where we build an extensive, in-depth full-stack application. We will start from scratch and end up with a professional project. We will dive deep into Node, Express, MongoDB, Mongoose, React, React hooks, integrating RESTful APIs . Here is some of what you will learn in this course and project:
How Nodejs work
Nodejs built-in core library
Stream and Buffer
Express Framework
Routing & Controller
Express middleware
Custom Error Handling
EJS template engine
Upload file to S3 bucket
Sending Email
Authentication With JWT
Password hashing
MongoDB database
MongoDB Atlas & Compass
Mongoose ODM
Models & Relationships
Multi user role
Authentication and Authorization
Advanced Query (pagination, filter, searching etc)
React core functionality
How React works
Virtual DOM
Rendering JSX element
Component, State & Props
React Form
Controlled form vs Uncontrolled form
Rendering list & key
Props drilling
Context API
Render Props
React hooks
Custom hooks
Handling CSS with React
React routing
Authentication and Protected route
Recover password by email
Verify user email
Integrating RESTful APIs
HTTP Essentials
Postman Client
Web development is evolving, in the past, server-side rendering handled all views and templates, but with the emergence of frontend frameworks like React, Angular, and Vue, projects are now divided into backend and frontend components. The backend manages database interactions and serves JSON, while the frontend fetches data and creates the user interface. This course focuses on the entire full-stack aspect, enabling you to construct robust APIs and integrating RESTful APIs with React project.
Our curriculum goes beyond typical Nodejs, Express and React tutorials, as we cover advanced topics like authentication, multi-user roles, permissions, password reset mechanisms, sending email integration, integrating RESTful APIs with React and many more. By the end of this course, you'll have a deep understanding of what it takes to be a proficient full-stack engineer.