Node JS

Why learn NodeJS ❓ #

For a 🎨 Frontend developer who heavily utilizes JavaScript, Node.js applications offer a significant advantage by enabling them to program both the frontend and the backend in a single language, which is convenient.

πŸŽ“ Take Away Skills #

After completing this learning path you will be knowledgeable in:

  • Blocking and Non-Blocking
  • Event Loop and Timers
  • Working with the File System and Streams
  • Web Server Development
  • Creating your own CLI applications

πŸ› οΈ Prerequisites #

πŸ§‘πŸ»β€πŸ’» Programming Knowledge #

  • A solid understanding of JavaScript fundamentals is essential.

  • Basic understanding of HTML and CSS is helpful for building web applications and understanding client-server interactions.

  • (Optional) Basic understanding of the CLI is important. This includes knowing how to navigate directories, create and edit files, and run commands.

  • (Optional) Basic understanding of API design principles and HTTP methods (GET, POST, PUT, DELETE) is helpful.

πŸ“² Installation and Setup #

You need a code editor, browser and Node.js to follow along this learning path. You can choose the code editor and browser of your choice. The preferred ones are listed below:

  • VS Code

    Light-weight code editor by Microsoft with a large ecosystem of plugins to help your workflow

    Install VS Code

  • Google Chrome

    A browser based on V8 JavaScript engine with developer tools.

    Install Google Chrome

  • Node.js

    JavaScript runtime which helps you run JavaScript programs in your system.

    Install Node

    Note: Install the stable version

πŸ’‘ Learning Session #

Fundamentals of Node JS

> Understanding Node Architecture
> Modules
> Blocking vs Non-Blocking
> File System and Streams
> Node Package Manager (npm)

πŸ§‘πŸ»β€πŸ’» Learn from

πŸ“½οΈ Video Tutorials

πŸ“„ Articles/Blogs

Working with web servers using Node JS

> Understanding 'http' module
> Creating an http server
> Lifecycle of an http request
> Routing incoming requests
> Handling errors
> Using third-party libraries

πŸ§‘πŸ»β€πŸ’» Learn from

πŸ“½οΈ Video Tutorials

πŸ“„ Articles/Blogs

Note: You can use popular libraries like Express to create web servers but it is recommended to understand the fundamentals of http before trying out other libraries

πŸ› οΈ Get into action

A small and easy project to test what you have learned so far:

Random Name Generator:
Create web server that displays a random name from a file named first-names.txt, which has each name on a separate line

πŸ”– Resource Pool #

You can checkout these additional resources to learn more about Node JS

πŸ“„ Articles/Blogs #

πŸ“½οΈ Videos #

πŸš€ Project Pool #

Here are few project ideas you can try out, these are just an inspiration to get started. Try to learn and build ideas that come to your mind.

  • Real-time chat application:

    • You can build a real-time chat application using Node.js and
  • To Do List:

    • You can build a To Do List application that allows users to create, update, and delete tasks.
    • This project will involve building an API with Node.js and using a database such as Mongo DB to store and retrieve tasks.

Working with external libraries:

  • Discord JS: Create a discord bot that greets a user when they say hello in chat learn more.

  • Twitter API: Try creating a Twitter bot that tweets on a daily basis indicating the percentage completion of the year corresponding to the date. check it out.

Don’t limit yourself to these ideas. Feel free to explore your own and try them out

Remember that learning Node JS is a continuous process, so don’t get discouraged if you encounter some challenges along the way. Keep practicing and experimenting, and you’ll eventually become proficient in Node JS.

Created with πŸ’™ by Ritin George & TinkerHub