Advance 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. Using MongoDB with Mongoose

  • Connecting Our Database with the Express App
  • Creating a Simple Tour Model
  • Creating Documents and Testing the Model
  • Intro to Back-End Architecture: MVC, Types of Logic, and More
  • Refactoring for MVC
  • Another Way of Creating Documents
  • Reading Documents
  • Updating Documents
  • Deleting Documents
  • Modelling the Tours
  • Importing Development Data
  • Making the API Better: Filtering
  • Making the API Better: Advanced Filtering
  • Making the API Better: Sorting
  • Making the API Better: Limiting Fields
  • Making the API Better: Aliasing
  • Refactoring API Features
  • Aggregation Pipeline: Matching and Grouping
  • Aggregation Pipeline: Unwinding and Projecting
  • Virtual Properties
  • Document Middleware
  • Query Middleware
  • Aggregation Middleware
  • Data Validation: Built-In Validators
  • Data Validation: Custom Validators

2. Error Handling with Express

  • Debugging Node.js with ndb
  • Handling Unhandled Routes
  • An Overview of Error Handling
  • Implementing a Global Error Handling Middleware
  • Better Errors and Refactoring
  • Catching Errors in Async Functions
  • Adding 404 Not Found Errors
  • Errors During Development vs Production
  • Handling Invalid Database IDs
  • Handling Duplicate Database Fields
  • Handling Mongoose Validation Errors
  • Errors Outside Express: Unhandled Rejections
  • Catching Uncaught Exceptions

3. Authentication, Authorization and Security

  • Modelling Users
  • Creating New Users
  • Managing Passwords
  • How Authentication with JWT Works
  • Advanced Postman Setup
  • Authorization: User Roles and Permissions
  • Password Reset Functionality: Reset Token
  • Sending Emails with Node mailer
  • Password Reset Functionality: Setting New Password
  • Updating the Current User: Password
  • Updating the Current User: Data
  • Deleting the Current User
  • Security Best Practices
  • Sending JWT via Cookie
  • Implementing Rate Limiting
  • Setting Security HTTP Headers

4. Containerize a full-stack NodeJS application in Docker

  • Run docker-compose
  • Writing first Dockerfile and review NodeJS code
  • Set a working directory inside our application container
  • Writing our docker-compose file
  • Configure our code for db configuration
  • 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