Skip to content

This repository documents my journey through a comprehensive NodeJS course. From fundamentals to advanced topics, I build projects like a NASA Space launch app using the MERN stack, REST APIs, and GraphQL. Follow along as I master modern NodeJS best practices and become a proficient Back End or Fullstack developer.

Notifications You must be signed in to change notification settings

tungphan2823/NodeJS-Developer

Repository files navigation

NodeJS Developer Journey

Welcome to my NodeJS developer journey! This repository documents my progress through an extensive NodeJS course designed to transform learners into skilled Back End or Fullstack developers. This course, taught by industry experts from Silicon Valley and Toronto, focuses on efficiency and modern best practices in NodeJS development. Join me as I build scalable, secure, and performant applications using NodeJS.

Course Highlights

  • Comprehensive Curriculum: Covering Node internals, advanced topics, and modern toolchains.
  • Project-Based Learning: Building a NASA Space launch application and several mini-projects.
  • Fullstack Development: Creating a MERN (MongoDB, Express, React, Node) application.
  • Hands-On Experience: From initial setup to deploying production-grade applications.
  • Advanced Topics: Performance optimization, clustering, CI/CD, and deployment to the cloud.

Course Modules

1. Foundations

  • Node Internals: Libuv, threads, processes, event loop
  • Asynchronous Programming
  • Node vs PHP vs Python
  • Observer Design Pattern and Event Emitters

2. Module System

  • Require Function and Module Creation
  • CommonJS vs ECMAScript Modules
  • Module Caching and index.js

3. Package Management

  • NPM and Creating Packages
  • Third-Party Modules and Semantic Versioning
  • Handling Vulnerabilities in Dependencies

4. File I/O: Planets Project

  • Exploring Exoplanets with Node
  • Streams and Large Data Files
  • Parsing and Analyzing Planetary Data

5. Web Servers

  • HTTP Responses and Requests
  • Routing, CORS, and Streams

6. ExpressJS

  • Express vs NextJS vs Koa
  • MVC Pattern, Middleware, and CRUD Operations
  • Building RESTful APIs and Templating Engines

7. NodeJS NASA Project

  • Architecture Diagrams
  • Integrating ReactJS Applications
  • Fullstack Development and Deployment

8. Testing APIs

  • Unit Tests, API Tests, and UI Tests
  • Testing with Jest and Supertest

9. Improving Node Performance

  • Event Loop Blocking and Clustering
  • Load Balancing with PM2

10. Databases

  • MongoDB and SQL
  • Persistence with Mongoose
  • Scaling and Database Selection

11. Working with REST APIs

  • Integrating with SpaceX API
  • Versioning and Pagination

12. Authentication

  • JWT, Cookies, CSRF
  • HTTPS, SSL/TLS, and Auth0

13. Deployment and CI/CD

  • CI vs CD and Automated Testing
  • Dynamic Configuration

14. Node Production and the Cloud (AWS)

  • Docker, EC2, and Serverless
  • Production Deployment with PM2

15. GraphQL

  • Building GraphQL APIs

16. Sockets (WebSockets, Socket.io)

  • WebSockets vs Polling
  • Building Multiplayer Pong

Bonus Sections

  • Deno, Advanced Asynchronous JavaScript, SQL, and TypeScript

What You’ll Learn

  • Build and deploy enterprise-level Node applications to the cloud (AWS).
  • Create secure, performant, large-scale applications.
  • Lead NodeJS projects and make architectural decisions.
  • Develop production-grade apps including REST and GraphQL APIs.
  • Work with real-life data, SpaceX API, and other projects.
  • Master backend essentials: Authentication, File I/O, Databases, Express, and Sockets.
  • Implement load balancing, monitoring, CI/CD, and zero downtime deployments.
  • Aim to be among the top 10% of NodeJS developers with advanced knowledge.

Prerequisites

  • Basic JavaScript knowledge.
  • No prior experience with NodeJS or backend development required.

Who This Course Is For

  • Students seeking to advance beyond beginner tutorials.
  • Programmers aiming to acquire in-demand backend skills.
  • Developers aspiring to join the top 10% of NodeJS professionals.
  • Backend developers looking to learn NodeJS.
  • Web developers transitioning to fullstack development.

Follow My Journey

Explore the repository to see the code, projects, and learnings as I progress through the course. Each module will be documented with detailed notes, code snippets, and project files.

Happy coding!


This repository serves as a personal log of my journey to mastering NodeJS and becoming a top-tier backend developer. Join me in this exciting learning adventure!

About

This repository documents my journey through a comprehensive NodeJS course. From fundamentals to advanced topics, I build projects like a NASA Space launch app using the MERN stack, REST APIs, and GraphQL. Follow along as I master modern NodeJS best practices and become a proficient Back End or Fullstack developer.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published