Okay, it’s time to create a database. Go to the database website by clicking here. There are two ways to install the database
In computer science, a database is an organized collection of data, a structured way of collecting and storing information. It is based on the DBMS (Database Management System), which means you can create, delete, edit, and retrieve data. The DBMS software manages everything, including the storage.
We covered a lot of theory, investigating Node.js from its beginnings to 2025, and now it’s time to take action. But be patient — we'll start with some theory to set the context of what a server is, and then write something. Today, your VS Code or code editor won’t be alone. Node.js will be part of your code base, and we will write something. So, what are we waiting for? Let's begin! We'll read about servers, what development means, what a proxy server is, and what DNS is. Then, we’ll create a server
Welcome back! If you haven’t read the previous blog about the two friends, go and check that out first because things are getting more interesting. We’ve received an official FIR against Node.js, and when Node.js faced trouble, it called in its two best friends for help. One of them, V8, was already investigated in our last episode. Now, it’s time to bring in the second friend: Libuv.
As we know, Node.js has two main parts, like the duo Jai and Veeru: the V8 engine and libuv. Let’s take a closer look at libuv. Just like the V8 engine has its hidden parts, you can learn more about it by clicking here. Now, let’s focus on libuv. Whenever V8 (Jai) can’t handle something—like file access, network calls, or timers—it gives the task to libuv. Also, when these tasks run, we often use callback functions, which are executed after libuv finishes the job.
Now, let's focus on one of Node.js's best friends, the V8 Engine. It takes the code and runs it. Before doing anything, I just want you to read this carefully.
In the last few sessions, we have seen how Node.js code runs. If something is synchronous, the V8 engine handles it, or in case of asynchronous tasks, libUV steps in. You can think of Node.js having two best friends, like Jai and Veeru. Whenever a problem (or code) comes in, they handle it accordingly.
If you read Node.js's definition, it mentions an event-driven architecture and its ability to handle asynchronous I/O. These two concepts are crucial to understand, so take your time to read and grasp them thoroughly. We know JavaScript is a synchronous, single-threaded language, meaning the code runs in one direction like a one-way road, with one task executing at a time.
As we know, each module in Node.js has its own scope. How does Node.js achieve this? In JavaScript, we follow the Principle of Least Privilege (PoLP), which is related to functions and scope. If you're unfamiliar, you can Google it. The idea is to only expose what is necessary to the global scope, keeping everything else private. To achieve PoLP, wrap your code in a function or immediately invoke it (IIFE).
As you saw in the last episode, we wrote our first line of code in Node.js. Now, we could just keep adding whatever we want to app.js, and technically, it would work. But that's not the best way to do things because the file would get cluttered and hard to manage. Instead, we need multiple files.So, you'll use require to include different modules into your main file.
Systems Design is the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. It involves translating user requirements into a detailed blueprint that guides the implementation phase. The goal is to create a well-organized and efficient structure that meets the intended purpose while considering factors like scalability, maintainability, and performance.
Discover how JavaScript powers server-side development with Node.js, transforming the way web applications are built. Node.js is a fast, scalable runtime that enables asynchronous, event-driven programming, making it ideal for real-time applications like chat apps and streaming services. You'll also learn to build server-side applications from scratch, manage dependencies with npm, and use frameworks like Express.js.
Delve into Server-Sent Events. Understand how servers push data to clients, enabling continuous updates in frontend applications without the need for repeated requests, optimizing data streaming.
Discover the power of Web Sockets. Learn to establish persistent connections facilitating real-time, bidirectional communication between clients and servers, enhancing interactivity and responsiveness in frontend applications.
Many companies today use GraphQL. In this blog, we’ll explore what GraphQL is, its benefits, and why it’s so popular. Suppose your app needs information about continents, countries, and languages. If you’re using REST APIs, you’ll likely call multiple APIs to fetch this data and then organize it for your frontend. Be patient—it’s not an Instagram Reel, but for serious learners, it’ll be worth the read.
If you are a junior developer, a senior developer, or just a complete newbie, this is going to be a great place to learn about REST APIs—what they are, why they are used, and how they work. This is going to be a long blog, so it’s for serious readers. If you prefer short TikTok-like videos for instant information, this might not be for you. Let’s get started!
A communications protocol is a set of formal rules describing how to transmit or exchange data, especially across a network. A standardised communications protocol is one that has been codified as a standard. Examples of these include WiFi, the Internet Protocol, and the Hypertext Transfer Protocol (HTTP).
Network is a core part of software, as the frontend needs data and the backend sends it. All of this happens through the network. How is data transferred over the internet? How does it reach the client, and what protocols are required? These are essential concepts for software development. We need to understand what happens when we type 'google.com,'' what DNS is, and its role in the process.
Dive into short polling methodologies. Explore the technique of frequent requests to servers at fixed intervals, enabling frontend applications to obtain recent data updates for dynamic content.
Network is a core part of software, as the frontend needs data and the backend sends it. All of this happens through the network. How is data transferred over the internet? How does it reach the client, and what protocols are required? These are essential concepts for software development. We need to understand what happens when we type 'google.com,'' what DNS is, and its role in the process.
Understand WebHooks' functionalities. Learn how they trigger instant notifications and events, allowing frontend systems to react promptly to external changes or specific actions, ensuring responsiveness and agility.
Systems Design is the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. It involves translating user requirements into a detailed blueprint that guides the implementation phase. The goal is to create a well-organized and efficient structure that meets the intended purpose while considering factors like scalability, maintainability, and performance.
It's kind of like a sibling to REST API or GraphQL, enabling communication with the server in a unique way. RPC stands for Remote Procedure Call, and the 'g' in gRPC stands for Google, as it was created by Google.
1hr 30 mins read
1 tutor
English
Node.js is a powerful runtime that enables server-side JavaScript execution, providing a fast, scalable, and event-driven environment for building backend applications. This course explores the internal workings of Node.js, covering its architecture, core concepts, and underlying components like the JS Engine and libuv. Season 01 focuses on understanding the Node.js ecosystem, delving into how its asynchronous model and event loop operate. Season 02 takes a hands-on approach, guiding you through building real-world applications using Express.js and MongoDB from the ground up.
5hr 30 mins read
1 tutor
English
The mission of this course is to take you from Zero to Hero in Frontend System Design. During this journey, you will learn everything by watching video tutorials and learning through practical examples from real-world applications. The curriculum is designed with the principle of `learn with real application examples`, so there will be a lot of knowledge heavy topics that you'll learn from. So only register if you are ready for a grind. Frontend System Design course will help you with all the knowledge you need to design scalable Frontend web application and will also help you crack your next Frontend System Design Interview. Register Now.