Just released with all new NodeJS best practices and trends! Join a live online community of over 900,000+ developers and a course taught by industry experts that have actually worked both in Silicon Valley and Toronto with NodeJS.
Using the latest version of Node, this course is focused on efficiency and turning you into a Back End or Fullstack developer. Never spend time on confusing, out of date, incomplete tutorials anymore! Graduates of Andrei’s courses are now working at Google, Tesla, Amazon, Apple, IBM, JP Morgan, Facebook, + other top tech companies for a reason.
We guarantee you this is the most comprehensive online resource on NodeJS. This project based course will introduce you to all of the modern toolchain of a Node JS developer. Along the way, we will build a massive NASA Space launch application using NodeJS, Express Framework, RESTful APIs, GraphQL, and much more! This is going to be a Fullstack MERN app. We will also build many other mini projects along the way so you feel confident deploying any NodeJS project to production in the future by yourself!
All code is going to be provided step by step and even if you don’t like to code along, you will get access to all the code from the projects we build so anyone signed up for the course will have their own project to put on their portfolio right away.
The curriculum is going to be very hands on as we walk you from start to finish of releasing a professional (performant and secure) NodeJS project all the way into production. We will start from the very beginning by teaching you Node basics and then going into advanced topics so you can make good decisions on architecture and tools on any of your future NodeJS projects. The goal is to turn you into a senior backend developer!
Here is what the course will cover:
1. Foundations
Focus on Node internals
Libuv, threads, processes, event loop
Asynchronous programming
Node vs PHP vs Python
Observer Design Pattern
Event Emitters
2. Module System
The require Function
Creating Your Own Modules
CommonJS vs ECMAScript (ES6) modules
Module Caching
Using index.js
3. Package Management
NPM: The Node Package Manager
Creating Your Own Packages
Package And the NPM Registry
Third Party Modules
The node_modules Folder
Semantic Versioning
package-lock json And Versioning
Vulnerabilities in Dependencies
4. File I/O: Planets Project
Exploring Exoplanets With Node
Exploring Kepler Space Telescope Data
Working With Streams
Streaming Large Data Files
Parsing Our Planets Data
Working With CSV Files
Finding Habitable Planets
5. Web Servers
What is a Web Server?
HTTP Responses and Requests
HTTP APIs and Routing, Parameterized URLs
Same Origin Policy, CORS
Requests and Responses as Streams
6. ExpressJS
Express vs NextJS vs Koa
Route Parameters
Model View Controller (MVC) pattern
Postman and Insomnia
Development Dependencies
Middleware
Logging Middleware Example / Writing Our Own Middleware
POST Requests in Express
MVC In Express
Express Routers
RESTful APIs
CRUD
Sending Files
Serving Websites With Node
Templating Engines
7. NodeJS NASA Project
Architecture diagrams on LucidChart
GET, POST, DELETE routes.
Serving ReactJS Applications in Express
CORS middleware
Models vs Controllers vs Routers
Loading Data On Startup
Automating Full Stack Applications With NPM
Serving React Front End (in Production)
Logging Requests with Morgan
Serving Applications With Client Side Routing
Building A Data Access Layer
Integrating with Frontend, Top Down Approach, Bottom Up Approach
Updating Our Architecture
8. Testing APIs
Unit tests vs API tests vs UI tests
Testing Node APIs with Jest and Supertest
9. Improving Node Performance
Example app which blocks event loop + real life blocking functions
Node Cluster Module theory + in action
Clustering in the real world
Load balancing
PM2 theory + in action
Managing Live Clusters with PM2
Zero Downtime Restarts
Improving Performance of NASA Project
Stateless APIs
Node Worker Threads
10. Databases
Using MongoDB to add persistence to NASA Project
Big focus on NoSQL vs SQL, PostgreSQL vs MongoDB, when to use both including Trends, Object-Relational Mismatch, ACID, References, Schemas. Schema-less vs Schemas
MongoDB Atlas
Horizontally Scaling Databases
Mongoose
Mongoose Models vs MVC Models
ObjectIDs in MongoDB
Pagination
Choosing A Database For Our NASA API
11. Working With REST APIs
Demonstrate integrating with a REST API by working with SpaceX API
Versioning REST APIs
Running Search Queries
SpaceX Launch Data
Mapping API Data to Our Database
Using Paginated APIs
Adding Pagination To Our API
12. Authentication
Focus on Security first principles with JWT, cookies, CSRF
Servers with HTTPS and SSL / TLS
HelmetJS
Working With Auth0
13. Deployment and CI/CD
Focus on building out a simple CI pipeline for NASA Project on GitHub
What is CI vs CD?
Automated tests
Dynamic configuration with secrets
14. Node Production and the Cloud (AWS)
Deploy to production with Docker to Amazon EC2
Virtual Machines
Serverless vs Containers
Docker files
Managing Docker Containers and Images
Working With SSH
Production Deployment with PM2 and Mongo Atlas
15. GraphQL
GraphQL vs REST
Building a GraphQL API
16. Sockets (WebSockets, Socket io)
Sockets overview
Sockets vs polling
WebSockets (vs Socket io)
Socket io Client and Server APIs
Broadcasting Events
Build out Full Stack Multiplayer Pong with Sockets
Implementing Pong Game Logic
Using Socket io With Express.js
Namespaces and Rooms
17-20. Bonus Sections on Deno, Advanced Asynchronous JavaScript, SQL, and TypeScript!
This course is not about making you just code along without understanding the principles so that when you are done with the course you don’t know what to do other than watch another tutorial. No! This course will push you and challenge you to go from an absolute beginner in NodeJS to someone that is in the top 10% of NodeJS backend developers.
We guarantee you this is the most comprehensive online course on NodeJS! Have a look at the course outline video to see all the topics we are going to cover, all the projects we’re going to build, and all the techniques you’re going to learn to become a top Node developer!
See you inside!
28146
432
TAKE THIS COURSE