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



