Basic Node JS Application

I. Duration: 30 hours
II. Objectives:
  • Master the entire modern back-end stack: Node, Express, MongoDB and Mongoose (MongoDB JS driver)
  • Build a fast, scalable, feature-rich RESTful API (includes filters, sorts, pagination, and much more)
  • How to work with data in NoSQL databases (including geospatial data)
  • Build a complete, beautiful & real-world application from start to finish (API and server-side rendered website)
  • Learn how Node really works behind the scenes: event loop, blocking vs non-blocking code, streams, modules, etc.
  • Advanced authentication and authorization (including password reset)
  • Sending emails & uploading files
  • Downloadable videos, code and design assets for projects
  • Understand how Node.js works behind the scenes
  • Be building you own fast, scalable, and powerful Node.js RESTful APIs or web applications
  • Manage data exchange between server and users, develop back-end components, link application with other web services using NodeJs
  • Integrate user-facing elements developed by Front-End Developers with server-side logic via NodeJs
  • Able to build Real-time Applications with Nodejs
  • Able to build the beautiful Core Modules, Common Modules
  • Able to using Clusters and Child Processes
  • Deploy high-performance, low-latency real-time applications for data exchange between servers and users.
  • Implement clustering methods to optimize processing workflows and resource utilization (CPU, threads), ensuring maximum application performance.
  • Utility Module
III. Prerequisites:
  • Basic understanding of Frontend: Html, Css, Javascript, Angular, ajax, SQL/NoSQL.
  • Mindset of dev
IV. Course outlines:

1. Introduction to Node.js and NPM

  • Running Javascript Outside the Browser
  • Reading and Writing Files
  • Blocking and Non-Blocking: Asynchronous Nature of Node.js
  • Reading and Writing Files Asynchronously
  • Routing
  • Building a (Very) Simple API
  • HTML Templating: Building the Templates
  • HTML Templating: Filling the Templates
  • Parsing Variables from URLs
  • Introduction to NPM and the package.json File
  • Types of Packages and Installs
  • Package Versioning and Updating
  • HTTP in Action
  • Front-End vs. Back-End Web Development
  • Static vs Dynamic vs API

2. How Node.js Works: A Look Behind the Scenes

  • Node, V8 and C++
  • Processes, Threads and the Thread Pool
  • The Node.js Event Loop
  • The Event Loop in Practice
  • Events and Event-Driven Architecture
  • Events in Practice
  • Introduction to Streams
  • How Requiring Modules Really Works
  • Requiring Modules in Practice

3. [Optional] Asynchronous JavaScript: Promises and Async/Await

  • The Problem with Callbacks: Callback Hell
  • From Callback Hell to Promises
  • Building Promises
  • Consuming Promises with Async/Await
  • Returning Values from Async Functions
  • Waiting for Multiple Promises Simultaneously

4. Express: Building the API

  • Setting up Express and Basic Routing
  • APIs and RESTful API Design
  • Starting Our API: Handling GET Requests
  • Handling POST Requests
  • Responding to URL Parameters
  • Handling PATCH Requests
  • Handling DELETE Requests
  • Refactoring Our Routes
  • Middleware and the Request-Response Cycle
  • Creating Our Own Middleware
  • Implementing the "Users" Routes
  • Creating and Mounting Multiple Routers
  • A Better File Structure
  • Param Middleware
  • Chaining Multiple Middleware Functions
  • Serving Static Files
  • Environment Variables

5. Introduction to MongoDB

  • Creating a Local Database
  • CRUD: Creating Documents
  • CRUD: Updating Documents
  • CRUD: Deleting Documents
  • Using Compass App for CRUD Operations
  • Creating a Hosted Database with Atlas
  • Connecting to Our Hosted Database
  • Học trực tuyến

  • Học tại Hồ Chí Minh

  • Học tại Hà Nội


Các khóa học khác