Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Node.js for Beginners

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course introduces Node.js, one of the most popular tools for building efficient web applications. By exploring server-side JavaScript, asynchronous programming, and RESTful APIs, you'll gain a comprehensive understanding of modern web development. The course is designed to help you build scalable, full-featured applications using Node.js. You will be guided through practical lessons that cover deployment strategies, best practices, and how to effectively manage applications in production environments. What sets this course apart is its hands-on approach, blending theoretical concepts with practical applications. You'll not only learn the theory behind Node.js but also work on real-world projects to reinforce your skills. Ideal for developers looking to transition into back-end or full-stack development, the course is suitable for learners with a basic understanding of JavaScript, Git, and front-end technologies.

Syllabus

  • Introduction to Node.js
    • In this section, we explore Node.js features, architecture, and versioning to guide project decisions and ecosystem navigation.
  • Setting Up the Development Environment
    • In this section, we explore installing Node.js on multiple platforms, managing versions with NVM, and debugging with Chrome DevTools and the Node.js REPL for effective development workflows.
  • JavaScript Fundamentals
    • In this section, we cover JavaScript fundamentals including data types, functions, closures, and versioning.
  • Asynchronous Programming
    • In this section, we explore asynchronous programming in JavaScript, focusing on callbacks, promises, and async/await. Key concepts include avoiding callback hell and converting asynchronous operations between handlers.
  • Node.js Core Libraries
    • In this section, we explore Node.js core libraries, modular code using ESM and CJS, and strategies for interoperability between module systems.
  • External Modules and npm
    • In this section, we cover npm dependency management, package-lock.json, and publishing packages for stable projects.
  • Event-Driven Architecture
    • In this section, we explore event-driven architecture in Node.js, focusing on event handling and HTTP servers.
  • Testing in Node.js
    • In this section, we explore testing in Node.js, focusing on implementing test suites with Jest, analyzing coverage, and applying TDD for reliable code development.
  • Handling HTTP and REST APIs
    • In this section, we cover HTTP, REST APIs, and RFCs, focusing on request methods and debugging for web development.
  • Building Web Applications with Express
    • In this section, we explore Express fundamentals, including routing, middleware, and request/response handling, to build scalable web applications and REST APIs effectively.
  • Building a Web Application Project from Scratch
    • In this section, we build an Express application with REST API, test it using Supertest and Jest, and integrate file system storage for real-world development practices.
  • Data Persistence with MongoDB
    • In this section, we learn to set up MongoDB, use Mongoose, and test for reliable database migration in Node.js.
  • User Authentication and Authorization with Passport.js
    • In this section, we explore user authentication and authorization using JWT and Passport.js, focusing on cryptography, third-party integration, and practical implementation in web applications.
  • Error Handling in Node.js
    • In this section, we explore error handling in Node.js, focusing on custom errors, runtime error recovery, and graceful shutdown with exit codes for application stability.
  • Securing Web Applications
    • In this section, we explore securing web applications using OWASP Top 10, CWE, and CVE. We apply these frameworks to create a Node.js security checklist and foster ethical hacking skills.
  • Deploying Node.js Applications
    • In this section, we explore deploying Node.js applications using GitHub Actions, PM2, and DigitalOcean. Key concepts include defining requirements, CI/CD workflows, and cloud-based database integration.
  • Dockerizing a Node.js Application
    • In this section, we explore deploying a Node.js application with Docker, integrating GitHub Actions for CI, publishing images to Docker Hub, and securing the app with Cloudflare SSL.

Taught by

Packt - Course Instructors

Reviews

Start your review of Node.js for Beginners

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.