Coder Social home page Coder Social logo

ishannaik / nodejs-ztm Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 4.21 MB

๐Ÿ“š This repository serves as a documentation of my progress through the "Complete Node.js Developer in 2024" course by Zero to Mastery. Explore my journey from beginner to proficiency in Node.js. From learning GraphQL, REST, and WebSockets to mastering advanced JavaScript concepts, follow along as I document my achievements and projects. ๐Ÿš€

License: Apache License 2.0

JavaScript 83.56% TypeScript 5.91% Handlebars 0.37% HTML 7.34% Dockerfile 0.47% CSS 2.34%

nodejs-ztm's Introduction

My Node.js Developer Journey: From Zero to Mastery ๐Ÿš€

Course Stats ๐Ÿ“Š

Version Stars Forks Issues Languages License Downloads Code Quality Version Contributors

Introduction

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.

Foundations

  • 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.

Module System

  • 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.

File I/O: Planets Project

  • Work on the Planets Project, exploring exoplanets using Node.
  • Manipulate data with streams, parse CSV files, and find habitable planets.

Web Servers

  • Explore web servers, HTTP responses, requests, and APIs.
  • Dive into Express.js, comparing it with Next.js and Koa.

ExpressJS

  • 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.

NodeJS NASA Project

  • 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.

Testing APIs

  • Learn about different types of tests: unit tests, API tests, and UI tests.
  • Test Node.js APIs using Jest and Supertest.

Improving Node Performance

  • 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.

Databases

  • 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.

Working With REST APIs

  • Integrate with a REST API by working with SpaceX API.
  • Version REST APIs, run search queries, and handle paginated APIs.

Authentication

  • 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.

Deployment and CI/CD

  • 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.

Node Production and the Cloud (AWS)

  • Deploy applications to AWS using Docker containers.
  • Understand serverless vs. containers, manage Docker containers and images, and use SSH for production deployment.

GraphQL

  • Compare GraphQL with REST, and build a GraphQL API.

Sockets (WebSockets, Socket.io)

  • Learn about real-time communication with WebSockets and Socket.io.
  • Build a full-stack multiplayer Pong game with sockets.

Projects & Highlights โœจ

  • 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.

Challenges & Learning ๐Ÿง 

  • Overcoming challenges in understanding GraphQL and mastering real-time communication.
  • Integrating different technologies for full-stack development.

Looking Ahead ๐Ÿ”ญ

  • Exploring microservices with Node.js.
  • Contributing to open-source projects.

Acknowledgements ๐Ÿ™

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.

Certificate of Completion

For more about the course, visit Complete Node.js Developer in 2024 - Zero to Mastery on Udemy.

nodejs-ztm's People

Contributors

ishannaik avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.