Welcome to my journey through the "Complete Node.js Developer in 2024" course by Zero to Mastery. Here, I share my progress, insights, and projects, showcasing my evolution from a beginner to a proficient Node.js developer.
- Dive deep into Node internals including Libuv, threads, processes, and event loop.
- Explore asynchronous programming and compare Node with PHP and Python.
- Understand design patterns like the Observer Design Pattern and Event Emitters.
- Learn about the
require
function, creating custom modules, and module caching. - Compare CommonJS with ECMAScript (ES6) modules.
- Understand package management with NPM, including creating packages, managing dependencies, and handling vulnerabilities.
- Work on the Planets Project, exploring exoplanets using Node.
- Manipulate data with streams, parse CSV files, and find habitable planets.
- Explore web servers, HTTP responses, requests, and APIs.
- Dive into Express.js, comparing it with Next.js and Koa.
- Understand the differences between Express, Next.js, and Koa.
- Learn about route parameters, middleware, and MVC pattern in Express.
- Explore RESTful APIs, CRUD operations, and serving static files.
- Architect and build a Node.js project serving NASA data.
- Implement various routes (GET, POST, DELETE) and serve React.js applications.
- Automate tasks with GitHub Actions and enhance performance.
- Learn about different types of tests: unit tests, API tests, and UI tests.
- Test Node.js APIs using Jest and Supertest.
- Identify and handle blocking event loop scenarios.
- Implement clustering using Node Cluster module and PM2.
- Improve performance of applications with stateless APIs and Node Worker Threads.
- Use MongoDB to add persistence to the NASA Project.
- Understand NoSQL vs. SQL databases, and choose between them.
- Work with Mongoose, MongoDB Atlas, and horizontally scale databases.
- Integrate with a REST API by working with SpaceX API.
- Version REST APIs, run search queries, and handle paginated APIs.
- Focus on security first principles with JWT, cookies, and CSRF.
- Secure servers with HTTPS and SSL/TLS, and work with HelmetJS.
- Implement authentication with Auth0.
- Build out a simple CI pipeline for NASA Project on GitHub.
- Understand CI vs. CD, automated tests, and dynamic configuration with secrets.
- Deploy to production with Docker to Amazon EC2, manage containers, and use PM2.
- Deploy applications to AWS using Docker containers.
- Understand serverless vs. containers, manage Docker containers and images, and use SSH for production deployment.
- Compare GraphQL with REST, and build a GraphQL API.
- Learn about real-time communication with WebSockets and Socket.io.
- Build a full-stack multiplayer Pong game with sockets.
- E-commerce Backend: Implemented a GraphQL schema for an e-commerce platform.
- Real-time Chat Application: Developed a chat application using WebSockets.
- Multiplayer Game (Pong): Built a multiplayer Pong game.
- Overcoming challenges in understanding GraphQL and mastering real-time communication.
- Integrating different technologies for full-stack development.
- Exploring microservices with Node.js.
- Contributing to open-source projects.
A huge thank you to the instructors, Adam Odziemkowski and Andrei Neagoie, for their expert guidance, and to the Zero to Mastery community for the continuous support.
For more about the course, visit Complete Node.js Developer in 2024 - Zero to Mastery on Udemy.