Learn from real NodeJS experts! Includes REALLY Advanced NodeJS. Express, GraphQL, REST, MongoDB, SQL, MERN + much more
- You DO NOT need any prior experience with NodeJS!
- You DO NOT need any prior Backend Development knowledge!
Just released with all new NodeJS best practices and trends for 2023! 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 Node.js.
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 in 2023. Along the way, we will build a massive NASA Space launch application using Node.js, 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 Node.js 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) Node.js 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!
Finally, this course will be constantly evolving and updating as the landscape changes. Just as the Node ecosystem evolves, we want this course to be constantly updated with lectures and resource for you to come back to, in order to find the latest Node best practices anytime in the future.
Here is what the course will cover:
- 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
- Express vs Next.js vs Koa
- Route Parameters
- Model View Controller (MVC) pattern
- Postman and Insomnia
- Development Dependencies
- Logging Middleware Example / Writing Our Own Middleware
- POST Requests in Express
- MVC In Express
- Express Routers
- RESTful APIs
- Sending Files
- Serving Websites With Node
- Templating Engines
7. NodeJS NASA Project
- Architecture diagrams on LucidChart
- GET, POST, DELETE routes.
- Serving React.js 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
- 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 Models vs MVC Models
- ObjectIDs in MongoDB
- 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
- Focus on Security first principles with JWT, cookies, CSRF
- Servers with HTTPS and SSL / TLS
- 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
- 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
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 Node.js! 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!
Andrei Neagoie is the instructor of the highest rated Development courses on Udemy as well as one of the fastest growing. His graduates have moved on to work for some of the biggest tech companies around the world like Apple, Google, Amazon, JP Morgan, IBM, UNIQLO etc… He has been working as a senior software developer in Silicon Valley and Toronto for many years, and is now taking all that he has learned, to teach programming skills and to help you discover the amazing career opportunities that being a developer allows in life.
Having been a self taught programmer, he understands that there is an overwhelming number of online courses, tutorials and books that are overly verbose and inadequate at teaching proper skills. Most people feel paralyzed and don’t know where to start when learning a complex subject matter, or even worse, most people don’t have $20,000 to spend on a coding bootcamp. Programming skills should be affordable and open to all. An education material should teach real life skills that are current and they should not waste a student’s valuable time. Having learned important lessons from working for Fortune 500 companies, tech startups, to even founding his own business, he is now dedicating 100% of his time to teaching others valuable software development skills in order to take control of their life and work in an exciting industry with infinite possibilities.
Andrei promises you that there are no other courses out there as comprehensive and as well explained. He believes that in order to learn anything of value, you need to start with the foundation and develop the roots of the tree. Only from there will you be able to learn concepts and specific skills(leaves) that connect to the foundation. Learning becomes exponential when structured in this way.
Taking his experience in educational psychology and coding, Andrei’s courses will take you on an understanding of complex subjects that you never thought would be possible.
Adam is one of the instructors at Zero To Mastery, one of the highest rated and fastest growing software development academies on Udemy. He has been working as a senior software developer for many years and has worked for some of the top companies in the world with revenues exceeding $50 billion. Now, Adam aims to instil his students with his love for learning and development, while helping them achieve real world success that extends far beyond the completion of his courses.
Adam walks the walk when it comes to building applications that are secure, scalable, and performant and he is going to share his expertise with you to show you how real world systems are built. He understands what it’s like to go from “hello world” to large scale production deployments and promises to take you on that very same journey. Courses should teach practical skills that are current and should lay a foundation for a future in this incredible and exciting industry. And, having started as a self-taught developer, Adam knows the overwhelming feeling of not knowing where to begin, and the importance of learning from the best available sources.
Drawing from his deep experience, Adam’s courses will show you that you don’t need to spend tens of thousands of dollars to take your flourishing skills into the real world and make a difference.
See you inside the course!
Who this course is for:
- Students who are interested in going beyond a normal “beginner” tutorial
- Programmers who want to learn the most in demand skills of a backend developer
- Developers that want to be in the top 10% of NodeJS developers
- Students who want to gain experience working on scalable large scale applications
- Bootcamp or online tutorial graduates that want to go beyond the basics
- Any backend developer who wants to learn NodeJS
- Web developers and Front End Developers who want to get into the backend development world or become Fullstack Developers