We may earn an affiliate commission when you visit our partners.
Mohammad Azam

I have been training developers in one form or the other since 2005. At present I am the lead instructor at DigitalCrafts bootcamp where I teach full stack web development. This course is a result of 1000s of hours of training over the course of several years in which I trained more than 100 developers. Now those developers are working for companies like Apple, LinkedIn, Chase etc.

Requirements

Read more

I have been training developers in one form or the other since 2005. At present I am the lead instructor at DigitalCrafts bootcamp where I teach full stack web development. This course is a result of 1000s of hours of training over the course of several years in which I trained more than 100 developers. Now those developers are working for companies like Apple, LinkedIn, Chase etc.

Requirements

  • Basic understanding of how the web works is recommended but not a must-have

  • Understanding of JavaScript programming language is recommended

  • No NodeJS knowledge is required

Description

According to the latest StackOverFlow survey NodeJS is the most popular framework in software development. NodeJS is in high demand and JavaScript developers who have NodeJS in their tool-belt earns high salary. This course is designed to teach you all the important parts of the NodeJS framework by building real world, data driven applications. After completing this course you will be ready to build full stack web applications using NodeJS and JavaScript.

Here is the outline of this course:

  • Understanding NodeJS and Node Package Manager

  • Installing and Running ExpressJS

  • Understanding Routing

  • Passing QueryString, Parameters and JSON

  • Posting Data in Express

  • Understanding Server Side Pages

  • Building Template Server Side Pages Using Mustache

  • Creating Reusable Components Using Express Partials

  • Consuming Static Resources

  • Developing Express Router

  • Understanding and Implementing Middleware

  • Integrating Session for ExpressJS Apps

  • Debugging Node

  • Setting Up PostgreSQL Database

  • Learning Basic SQL Commands

  • Performing CRUD Operations Using pg-promise for PostgreSQL database

  • Encrypting and Persisting Secure Data Using brcrypt

  • Toggling Menu Options based on the User Login Status

  • Deployment to Heroku

  • Understanding Object Relational Mapping

  • Installing and Configuring Sequelize

  • Performing CRUD Operations Using Sequelize

  • Implementing One to Many Relationships in Sequelize

  • Hosting PostgreSQL Database on ElephantSQL

  • Understanding Document Databases

  • Implementing JSON Web API Using ExpressJS

  • Installing and Running MongoDB Database Server

  • Performing CRUD Operations Using MongoDB

Projects

As a lead instructor at one of the top bootcamps I know that the best way to learn a new technology is utilizing your skills in a real world project. For this reason this course targets multiple projects to enhance your learning experience.

News App

In this app you will learn how to use create server side pages using Mustache template engine. You will build a login and registration screen and eve customize the user’s page based on their credentials. This app integrates with PostgreSQL database using pg-promise library. Finally, you will learn how to deploy your app to Heroku server.

Sell Your Stuff

In this app you will learn how to create an ExpressJS website which allows the user’s to list their products for sale. You will learn how to integrate Sequelize ORM with your Node application. The project also covers how to upload images from your machine to your own server. Just like the previous app you will also implementing login and registration of the user.

Grocery App

In this app you will learn how to create both the client and the server. The client will be implemented using the vanilla HTML and JavaScript and the server will be implementing using ExpressJS and MongoDB (Document Database). You will learn how to persist documents as well as nested documents in the MongoDB database.

Is this course for you?

If you have no NodeJS experience then you are going to enjoy this course. NodeJS is a very high in demand framework and after going through this course you can use your new skills to become a full stack web developer.

If you have novice NodeJS experience then about accessing PostgreSQL and MongoDB databases with pg-promise, Sequelize and mongoose.

Prerequisites

  • No knowledge of NodeJS is required

  • Understanding of HTML and CSS is required

  • Existing knowledge of JavaScript is recommended

Enroll now

What's inside

Learning objectives

  • Learn to create nodejs applications
  • Integrate node expressjs apps with postgresql and mongodb
  • Learn orm and sql to perform crud operations
  • Implement server side pages using mustache template engine
  • Develop json web api and consume it in a javascript application
  • Build 3 real world projects from start to finish

Syllabus

Introduction
Prerequisites
Exercise Files
Hello Node
Read more
What is Node?
What is NPM?
Installing Node
Writing your first Node App
Rendering HTML Pages Using Node
Node Express
What is Express?
Running Express Server
Installing Nodemon
Hello Express
Express Routing
What are Routes?
Route Basics
Parameters
QueryString
JSON
HTTP Post
What is a POST Request?
Implementing Post Route in Express
Parsing Body Using BodyParser
Server Side Pages
What are Server Side Pages?
Server Side Pages Frameworks
Node Express Templates Engines
Template Pages Using Mustache
Setting Up Mustache
Passing Data to Mustache Pages
Displaying List in Mustache Pages
Implementing Conditions in Mustache Pages
Posting Data through Mustache Pages
Parsing Body Using Body Parser
Mustache Partials
What are Partials?
Registering Partials
Rendering Partials
Static Resources
What are Static Files?
Setting Up Static Resources
Express Router and Middleware
What is Express Router?
Implementing Express Router
What is Middleware?
Implementing your Custom Middleware
Express Session
What is Session?
Initializing Session
Populating and Accessing Session Values
Implementing Authorization Using Session and Middleware
Debugging Node
What is Debugging?
Launching Node Debugger in Chrome
Setting Up PostgreSQL Database
Installing PostgreSQL Database
Installing Postico
Creating Database and Tables
Basic SQL Commands
PostgreSQL with pg-promise
What is pg-promise?
Connecting to PostgreSQL Using pg-promise
Inserting Record Using pg-promise
Retrieving Records Using pg-promise
Update Record Using pg-promise
Deleting Record Using pg-promise
User Registration and Login (News App)
What we will be building?
A Note About Designing the User Interface
Setting Up the Node Project
Setting Up Database Tables
Setting Up Mustache Engine and Bootstrap
Implementing User Registration
Persisting User in the Database
Encrypting Password Using Bcrypt
Authenticating the User
Adding Session to the News App
Implementing Partials
Performing CRUD (Create Read Update Delete) Operations (News App)
Creating New Articles
Retrieving List of Articles for User
Updating Articles
Deleting Articles
Adding CSS Static Resources
View All Articles
Securing Routes, Menu Options and Refactoring (News App)
Implementing Express Routers
Protecting Routes Using Middleware
Toggling Menu Options Using Response Locals
Implementing Logout
Async and Await
Async and Await Resources
Deployment (News App)
Deployment Options
Setting Up and Deploying Node Project to Heroku
Configuring PostgresSQL Database on Heroku
Generating SQL Using pg_dump Command Line Tool
Running the Script on the Server

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers a wide range of topics, from basic Node.js setup to advanced concepts like ORM, database integration, and deployment, which is useful for full-stack development
Teaches the use of pg-promise, Sequelize, and Mongoose, which are valuable tools for interacting with PostgreSQL and MongoDB databases in Node.js applications
Requires a basic understanding of HTML, CSS, and JavaScript, which may exclude absolute beginners with no prior web development experience
Includes projects that involve building web applications with user authentication, CRUD operations, and database integration, which are essential skills for web developers
Emphasizes building real-world, data-driven applications, which allows learners to apply their knowledge and build a portfolio of projects
Uses older libraries such as Mustache, which may not be as relevant as newer templating engines like Handlebars or React for modern web development

Save this course

Save NodeJS - The Complete Web Developer Bootcamp 2024 to your list so you can find it easily later:
Save

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 NodeJS - The Complete Web Developer Bootcamp 2024 with these activities:
Review JavaScript Fundamentals
Solidify your understanding of JavaScript fundamentals before diving into NodeJS. This will make grasping server-side JavaScript concepts easier.
Browse courses on JavaScript Fundamentals
Show steps
  • Review data types, variables, and operators.
  • Practice control flow statements (if/else, loops).
  • Revisit functions, objects, and arrays.
SQL Practice with PostgreSQL
Sharpen your SQL skills with PostgreSQL to effectively manage data in your NodeJS applications.
Show steps
  • Set up a local PostgreSQL database.
  • Practice writing SQL queries for CRUD operations.
  • Explore advanced SQL features like joins and aggregations.
Review 'Node.js Design Patterns'
Familiarize yourself with common Node.js design patterns to write more efficient and maintainable code.
Show steps
  • Read the chapters on asynchronous control flow and modularity.
  • Study the examples of common design patterns like callbacks and promises.
  • Consider how these patterns can be applied to the course projects.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Simple REST API
Practice building a REST API with NodeJS and Express. This will reinforce your understanding of routing, middleware, and handling HTTP requests.
Show steps
  • Set up a new NodeJS project with Express.
  • Define routes for common API endpoints (GET, POST, PUT, DELETE).
  • Implement middleware for request logging and error handling.
  • Test the API endpoints using a tool like Postman.
Review 'Pro MERN Stack'
Understand how NodeJS fits into the broader MERN stack for full-stack web development.
Show steps
  • Read the introductory chapters on the MERN stack.
  • Focus on the sections related to Express.js and Node.js.
  • Consider how the concepts apply to the course projects.
Document Your Learning Journey
Create a blog or journal to document your learning process. This will help you reflect on what you've learned and identify areas for improvement.
Show steps
  • Choose a platform for your blog or journal.
  • Write regular entries about your progress and challenges.
  • Share your insights and code snippets with others.
Contribute to an Open Source NodeJS Project
Contribute to an open-source NodeJS project to gain real-world experience and collaborate with other developers.
Show steps
  • Find an open-source NodeJS project on GitHub.
  • Read the project's documentation and contribution guidelines.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete NodeJS - The Complete Web Developer Bootcamp 2024 will develop knowledge and skills that may be useful to these careers:
Full-Stack Developer
A Full Stack Developer is responsible for both front-end and back-end development of web applications. This course directly aligns with the skills needed for full stack development with its emphasis on NodeJS, ExpressJS, database integration with PostgreSQL and MongoDB, and building server-side pages using Mustache. The course also covers the creation of APIs and how to consume them within a JavaScript application which increases the scope as a full stack developer. The hands-on projects, including building a news app, a sales app, and a grocery app, provides practical experience necessary for a full stack developer role.
Web Developer
A Web Developer builds websites and web applications using a variety of programming languages and tools. This course helps a web developer as it emphasizes building full stack web applications using NodeJS and JavaScript which are highly sought after in the field. The course covers a comprehensive range of topics, including setting up servers, handling routing, using template engines to create dynamic pages, and interacting with databases, which are needed for a web developer. The real-world projects provide a practical foundation and allow a web developer to better understand how these technologies are used together.
Web Application Developer
A Web Application Developer creates and maintains web applications, often working on both the front-end and back-end. This course is particularly relevant as it focuses on using NodeJS to build data-driven, full-stack applications. It helps a web application developer understand how to implement server-side logic, handle routing, use databases like PostgreSQL and MongoDB, and integrate templates for dynamic page generation, all of which are crucial for building functional web applications. This course provides experience with real-world projects, which mirrors the work that a web application developer does on a day-to-day basis.
Backend Developer
A Backend Developer primarily focuses on the server-side logic, databases, and APIs that power web applications. This course helps a backend developer by providing in-depth knowledge of NodeJS, ExpressJS, database interactions with PostgreSQL and MongoDB, and creating RESTful APIs. Through this course, a backend developer can learn how to manage data, implement user authentication, and use ORM tools like Sequelize to manage databases as well as implement CRUD operations. The course's focus on deploying applications to Heroku and debugging Node can also round out a backend developer's skill set.
API Developer
An API Developer designs, develops, and maintains Application Programming Interfaces (APIs) that allow different software systems to communicate with one another. This course is highly beneficial for an API developer because it covers the creation of JSON Web APIs using ExpressJS which is a key skill. The course provides a practical approach to understanding HTTP methods and data handling. By working with real-world projects that use ExpressJS to build a server-side API, an API developer can gain a strong foundation in API development.
Software Engineer
A Software Engineer applies principles of computer science and mathematics to design, develop, test, and evaluate software. This course helps a software engineer build a foundation in web development using NodeJS. The skills gained here include understanding server-side logic, routing, database interaction, and deployment, which are applicable to building a variety of software solutions. The project-based approach of the course also enables a software engineer to develop practical skills in building end-to-end applications.
Solutions Architect
A Solutions Architect designs and implements technology solutions for business problems, often overseeing the integration of various systems. This course may help a solutions architect. By understanding how to build and deploy web applications using NodeJS, a solutions architect can make more informed decisions about technology stacks and architecture choices as they relate to web technologies. The course introduces several relevant technologies, including NodeJS, ExpressJS, PostgreSQL, MongoDB, and deployment strategies, providing a broad overview of modern web development infrastructure. This can be useful in designing comprehensive solutions.
Technical Lead
A Technical Lead is responsible for guiding a development team and overseeing technical aspects of projects, often requiring hands on development. This course may be useful for a technical lead. The course teaches several core web development technologies including NodeJS, ExpressJS, PostgreSQL, and MongoDB, and allows a technical lead to understand the technical aspects of full-stack web development and the decisions that are made. By completing the projects, the technical lead can understand how these different technologies are connected in a real world application. This enables them to make better decisions during development processes.
IT Consultant
An IT Consultant provides expert advice and guidance related to information technology, helping businesses implement effective tech strategies. This course may be useful for an IT consultant as it provides a foundational understanding of modern web development technologies using NodeJS. By understanding the practical aspects of full-stack development, an IT consultant can better advise clients on technology choices for web applications. The course's focus on building real-world projects using ExpressJS, PostgreSQL, and MongoDB provides a practical perspective making the consultant’s recommendations more effective.
Database Administrator
A Database Administrator is responsible for the performance, integrity, and security of databases, often working with a variety of database technologies. This course may be useful in becoming a database administrator. The course provides hands-on experience with PostgreSQL and MongoDB, including basic SQL commands, performing CRUD operations, and setting up databases on cloud platforms. While this course does not cover broad topics of database administration, it provides practical skills in database management and interactions with these systems that a database administrator should know.
Software Architect
A Software Architect designs the high-level structure and organization of software systems, making critical decisions about technology choices and frameworks. This course may be helpful for a software architect role. By learning how to build complete web applications using NodeJS and JavaScript, a software architect gains an understanding of the practical implications of different implementation decisions. The course introduces several key technologies, including ExpressJS, PostgreSQL, MongoDB, and various templating frameworks, giving a software architect a better understanding of each option's strengths and weaknesses.
DevOps Engineer
A DevOps Engineer focuses on automating and streamlining the software development lifecycle and deployment process. This course may be useful for a DevOps engineer. The course provides hands-on experience with deploying NodeJS applications to Heroku, which aligns with the responsibilities of a DevOps engineer who would need to deploy changes into a working environment efficiently. Gaining an understanding of how the various components of web applications are constructed can help a DevOps engineer develop a better understanding when automating deployments.
Data Engineer
A Data Engineer builds and maintains data pipelines that collect, store, and prepare data for analysis. This course may be useful for a data engineer, as it provides insight into how data is handled and structured within web applications using data storage technologies. While this course is mainly focused on application development, a data engineer could benefit from understanding how data is structured when creating the systems for collecting it. The course's coverage of database interaction with PostgreSQL and MongoDB is a valuable starting point, alongside the use of ORM tools.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices, often needing to consume data from APIs. This course may be useful for a mobile application developer. While the course does not develop mobile apps directly, it teaches how to develop the JSON Web APIs using ExpressJS that mobile apps rely on. This can help a mobile application developer by allowing them to develop the backend for their own apps. The course provides a solid understanding of client-server communication, database interaction and backend logic, all relevant for mobile application development.
Technical Project Manager
A technical project manager oversees projects from a technical perspective ensuring resources are allocated appropriately and deadlines are met. This course may be useful for a technical project manager. The course provides a foundational understanding of web development technologies including NodeJS, ExpressJS, PostgreSQL, and MongoDB that can help guide project decisions and resource allocation. By learning to build real world projects from concept to deployment, a technical project manager can better understand the different phases of the development process. This enables them to track progress and maintain a development schedule.

Reading list

We've selected two 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 NodeJS - The Complete Web Developer Bootcamp 2024.
Explores common design patterns used in Node.js development. It provides practical examples and explanations of how to apply these patterns to build scalable and maintainable applications. While not strictly required, it offers valuable insights into best practices and architectural considerations for Node.js projects. This book is more valuable as additional reading than it is as a current reference.
Provides a comprehensive guide to building full-stack web applications using the MERN stack (MongoDB, Express.js, React.js, Node.js). It covers everything from setting up the development environment to deploying the application to production. While the course focuses on individual components, this book helps to see how they fit together in a complete application. This book is more valuable as additional reading than it is as a current reference.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser