user100DaysOfCode
CommunityDevTermsResources|Login

Loading

Nodejs Roadmap

Join the 100 day Nodejs coding challenge. Master Nodejs with daily challenges, projects, and expert guidance.
Start coding today!

Day 1: Node.JS Download and Installation
Day 2: Global Objects
Day 3: Console
Day 4: Simple HTTP Server
Day 5: NodeJS Timers
Day 6: File System Module Basics
Day 7: Routing in HTTP Server
Day 8: Express Basics
Day 9: Middleware in Express
Day 10: Handling POST Requests
Day 11: Static Files with Express
Day 12: Query Parameters
Day 13: RESTful API Design
Day 14: JSON Web Tokens (JWT)
Day 15: CRUD Operations with MongoDB
Day 16: Express Middleware for Error Handling
Day 17: Basic Authentication
Day 18: Sessions and Cookies
Day 19: File Uploads
Day 20: Environment Variables
Day 21: Promises in Nodejs
Day 22: Async/Await in Nodejs
Day 23: Basic WebSocket Server
Day 24: CRON Jobs in Nodejs
Day 25: Testing with Mocha and Chai
Day 26: Debugging in Nodejs
Day 27: Express Router
Day 28: JWT Authorization Middleware
Day 29: REST API Documentation
Day 30: Basic GraphQL Server
Day 31: Handling CORS
Day 32: Sending Emails with Nodemailer
Day 33: Express Validation Middleware
Day 34: User Authentication with Passport
Day 35: SocketIO for Real-Time Communication
Day 36: Express Rate Limiting
Day 37: GraphQL with Apollo Server
Day 38: File Streaming
Day 39: Pagination in API
Day 40: OAuth2 Authentication
Day 41: Data Seeding in MongoDB
Day 42: Express Global Error Handling
Day 43: Authentication with JWT and Cookies
Day 44: Caching in Nodejs
Day 45: Web Scraping with Cheerio
Day 46: GraphQL Subscriptions
Day 47: WebSockets with Redis
Day 48: Integration Testing with Supertest
Day 49: JWT Token Refreshing
Day 50: Database Migrations
Day 51: Webhooks in Nodejs
Day 52: Error Logging with Winston
Day 53: Dockerizing Nodejs Apps
Day 54: CI/CD with Jenkins
Day 55: GraphQL with Prisma
Day 56: Serverless Functions
Day 57: Rate Limiting with Redis
Day 58: WebSocket Load Testing
Day 59: Custom Authentication Strategies in Passport
Day 60: Optimizing Express Apps
Day 61: Error Handling in GraphQL
Day 62: Event Emitters in Nodejs
Day 63: JWT Blacklisting
Day 64: GraphQL Middleware
Day 65: Mocking API Responses
Day 66: JWT Best Practices
Day 67: Data Validation with JOI
Day 68: Using WebSockets with Express
Day 69: Mongoose Population
Day 70: Server-Side Rendering (SSR) with Express
Day 71: Building a CLI Tool with Nodejs
Day 72: Rate Limiting GraphQL Queries
Day 73: GraphQL Federation
Day 74: Microservices with Nodejs
Day 75: Nodejs and gRPC
Day 76: Real-Time Analytics
Day 77: JWT Revocation
Day 78: Event Sourcing with Nodejs
Day 79: Distributed Tracing
Day 80: GraphQL Code Generation
Day 81: CQRS with Nodejs
Day 82: GraphQL Batch Processing
Day 83: Using WebSockets with Redis
Day 84: GraphQL Performance Tuning
Day 85: Service Workers in Nodejs
Day 86: Nodejs Profiling
Day 87: Custom NPM Package
Day 88: JWT Encryption
Day 89: GraphQL Subscriptions with Redis
Day 90: Serverless GraphQL with AWS AppSync
Day 91: JWT Audience and Issuer Validation
Day 92: Nodejs Design Patterns
Day 93: GraphQL Testing with Apollo Client
Day 94: Continuous Monitoring with Prometheus
Day 95: Building a CMS with Nodejs
Day 96: Using Kubernetes with Nodejs
Day 97: GraphQL Schema Stitching
Day 98: Nodejs and WebAssembly (Wasm)
Day 99: Optimistic UI Updates in GraphQL
Day 100: Building a Chat Application

Join the 100 day Nodejs coding challenge. Master Nodejs with daily challenges, projects, and expert guidance.
Start coding today!

Day 1 - Node.JS Download and Installation

Goals

  • Set up your development environment and install necessary software
  • Write your first "Hello World" program

Tasks

1. Install Node.js and npm

  • Download and install Node.js from the official website https://nodejs.org
  • Verify the installation by running `node -v` and `npm -v` in your terminal to check the versions.

2. Install a Code Editor

  • Download and install a code editor if you don't have one.
    We recommend: Visual Studio Code

3. Set Up the Project Directory

  • Create a new directory for your project
  • Open your terminal and navigate to the project directory

4. Initialize a Node.js Project

  • Run `npm init -y` in your terminal to create a `package.json` file with default settings.

5. Write Your First JavaScript Program

  • Create a file named `index.js` in your project directory and write a simple program that outputs "Hello World!" in your console

Day 2 - Global Objects

Goals

  • Understand and explore Node.js global objects
  • Learn how to use these global objects effectively in your Node.js applications

Tasks

1. Global Objects

  • __dirname: The directory name of the current module
  • __filename: The file name of the current module
  • process: Information about the current Node.js process

2. Understanding 'process' Object

  • process.env: Access environment variables.
  • process.argv: Command line arguments.
  • process.exit(): Exiting the current process
  • process.cwd(): Current working directory
  • process.memoryUsage(): Memory usage of the Node.js process.

Day 3 - Console

Goals

  • Using console for Debugging

Tasks

1. Introduction to console

  • Provides a simple debugging console
  • Common methods: console.log(), console.error(), console.warn(), console.time(), console.timeEnd(), console.trace()

2. Use console

  • Create a file named consoleExample.js and use the above methods in your code.

Day 4 - Simple HTTP Server

Goal

  • Create and run a simple HTTP server using the built-in http module

Tasks

1. Introduction to HTTP Module

  • The http module provides functionalities to create an HTTP server and handle HTTP requests and responses.

2. Creating an HTTP Server

  • Create a file named server.js and implement the code to create a http server on port 3000. Send 'Hello World!' as response
  • Test your server by opening your browser and navigating to http://localhost:3000/. You should see Hello World!.

Day 5 - NodeJS Timers

Goal

  • Use timers in Node.js to execute functions after a delay or repeatedly

Tasks

  • Executes a function after a delay using setTimeout()
  • Executes a function repeatedly with a delay between each call using setInterval()
  • Stop a timeout and interval from running using clearTimeout() and clearInterval()

Day 6 - File System Module Basics

Node.js provides a built-in module, fs (File System), to interact with the file system. Explore how to read, write, and manage files and directories.

Tasks

  • Read and write text files using both synchronous and asynchronous methods
  • Append data to files
  • Handle common file errors
  • Create and read directories, and explore directory manipulation functions

Day 7 - Routing in HTTP Server

Implement simple routing for different HTTP endpoints

Day 8 - Express Basics

Set up an Express application and create routes

Day 9 - Middleware in Express

Use middleware functions in Express

Day 10 - Handling POST Requests

Parse and handle POST requests in an Express app

Day 11 - Static Files with Express

This content is locked. Please login to view it

Day 12 - Query Parameters

This content is locked. Please login to view it

Day 13 - RESTful API Design

This content is locked. Please login to view it

Day 14 - JSON Web Tokens (JWT)

This content is locked. Please login to view it

Day 15 - CRUD Operations with MongoDB

This content is locked. Please login to view it

Day 16 - Express Middleware for Error Handling

This content is locked. Please login to view it

Day 17 - Basic Authentication

This content is locked. Please login to view it

Day 18 - Sessions and Cookies

This content is locked. Please login to view it

Day 19 - File Uploads

This content is locked. Please login to view it

Day 20 - Environment Variables

This content is locked. Please login to view it

Day 21 - Promises in Nodejs

This content is locked. Please login to view it

Day 22 - Async/Await in Nodejs

This content is locked. Please login to view it

Day 23 - Basic WebSocket Server

This content is locked. Please login to view it

Day 24 - CRON Jobs in Nodejs

This content is locked. Please login to view it

Day 25 - Testing with Mocha and Chai

This content is locked. Please login to view it

Day 26 - Debugging in Nodejs

This content is locked. Please login to view it

Day 27 - Express Router

This content is locked. Please login to view it

Day 28 - JWT Authorization Middleware

This content is locked. Please login to view it

Day 29 - REST API Documentation

This content is locked. Please login to view it

Day 30 - Basic GraphQL Server

This content is locked. Please login to view it

Day 31 - Handling CORS

This content is locked. Please login to view it

Day 32 - Sending Emails with Nodemailer

This content is locked. Please login to view it

Day 33 - Express Validation Middleware

This content is locked. Please login to view it

Day 34 - User Authentication with Passport

This content is locked. Please login to view it

Day 35 - SocketIO for Real-Time Communication

This content is locked. Please login to view it

Day 36 - Express Rate Limiting

This content is locked. Please login to view it

Day 37 - GraphQL with Apollo Server

This content is locked. Please login to view it

Day 38 - File Streaming

This content is locked. Please login to view it

Day 39 - Pagination in API

This content is locked. Please login to view it

Day 40 - OAuth2 Authentication

This content is locked. Please login to view it

Day 41 - Data Seeding in MongoDB

This content is locked. Please login to view it

Day 42 - Express Global Error Handling

This content is locked. Please login to view it

Day 43 - Authentication with JWT and Cookies

This content is locked. Please login to view it

Day 44 - Caching in Nodejs

This content is locked. Please login to view it

Day 45 - Web Scraping with Cheerio

This content is locked. Please login to view it

Day 46 - GraphQL Subscriptions

This content is locked. Please login to view it

Day 47 - WebSockets with Redis

This content is locked. Please login to view it

Day 48 - Integration Testing with Supertest

This content is locked. Please login to view it

Day 49 - JWT Token Refreshing

This content is locked. Please login to view it

Day 50 - Database Migrations

This content is locked. Please login to view it

Day 51 - Webhooks in Nodejs

This content is locked. Please login to view it

Day 52 - Error Logging with Winston

This content is locked. Please login to view it

Day 53 - Dockerizing Nodejs Apps

This content is locked. Please login to view it

Day 54 - CI/CD with Jenkins

This content is locked. Please login to view it

Day 55 - GraphQL with Prisma

This content is locked. Please login to view it

Day 56 - Serverless Functions

This content is locked. Please login to view it

Day 57 - Rate Limiting with Redis

This content is locked. Please login to view it

Day 58 - WebSocket Load Testing

This content is locked. Please login to view it

Day 59 - Custom Authentication Strategies in Passport

This content is locked. Please login to view it

Day 60 - Optimizing Express Apps

This content is locked. Please login to view it

Day 61 - Error Handling in GraphQL

This content is locked. Please login to view it

Day 62 - Event Emitters in Nodejs

This content is locked. Please login to view it

Day 63 - JWT Blacklisting

This content is locked. Please login to view it

Day 64 - GraphQL Middleware

This content is locked. Please login to view it

Day 65 - Mocking API Responses

This content is locked. Please login to view it

Day 66 - JWT Best Practices

This content is locked. Please login to view it

Day 67 - Data Validation with JOI

This content is locked. Please login to view it

Day 68 - Using WebSockets with Express

This content is locked. Please login to view it

Day 69 - Mongoose Population

This content is locked. Please login to view it

Day 70 - Server-Side Rendering (SSR) with Express

This content is locked. Please login to view it

Day 71 - Building a CLI Tool with Nodejs

This content is locked. Please login to view it

Day 72 - Rate Limiting GraphQL Queries

This content is locked. Please login to view it

Day 73 - GraphQL Federation

This content is locked. Please login to view it

Day 74 - Microservices with Nodejs

This content is locked. Please login to view it

Day 75 - Nodejs and gRPC

This content is locked. Please login to view it

Day 76 - Real-Time Analytics

This content is locked. Please login to view it

Day 77 - JWT Revocation

This content is locked. Please login to view it

Day 78 - Event Sourcing with Nodejs

This content is locked. Please login to view it

Day 79 - Distributed Tracing

This content is locked. Please login to view it

Day 80 - GraphQL Code Generation

This content is locked. Please login to view it

Day 81 - CQRS with Nodejs

This content is locked. Please login to view it

Day 82 - GraphQL Batch Processing

This content is locked. Please login to view it

Day 83 - Using WebSockets with Redis

This content is locked. Please login to view it

Day 84 - GraphQL Performance Tuning

This content is locked. Please login to view it

Day 85 - Service Workers in Nodejs

This content is locked. Please login to view it

Day 86 - Nodejs Profiling

This content is locked. Please login to view it

Day 87 - Custom NPM Package

This content is locked. Please login to view it

Day 88 - JWT Encryption

This content is locked. Please login to view it

Day 89 - GraphQL Subscriptions with Redis

This content is locked. Please login to view it

Day 90 - Serverless GraphQL with AWS AppSync

This content is locked. Please login to view it

Day 91 - JWT Audience and Issuer Validation

This content is locked. Please login to view it

Day 92 - Nodejs Design Patterns

This content is locked. Please login to view it

Day 93 - GraphQL Testing with Apollo Client

This content is locked. Please login to view it

Day 94 - Continuous Monitoring with Prometheus

This content is locked. Please login to view it

Day 95 - Building a CMS with Nodejs

This content is locked. Please login to view it

Day 96 - Using Kubernetes with Nodejs

This content is locked. Please login to view it

Day 97 - GraphQL Schema Stitching

This content is locked. Please login to view it

Day 98 - Nodejs and WebAssembly (Wasm)

This content is locked. Please login to view it

Day 99 - Optimistic UI Updates in GraphQL

This content is locked. Please login to view it

Day 100 - Building a Chat Application

This content is locked. Please login to view it

      Sponsor Us|Community|Blog|YoutubeCareersContact UsDisclaimerPrivacy PolicyTerms of Service
      Have Feedback or want to contribute? Email: hello[@]100DaysOfCode.io
      100DaysOfCode@2024