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



