Backend
Backend Essentials
Setting Up Server

Setting Up a Server: Introduction to Backend Essentials in Node.js

Setting up a server is one of the most important steps when creating a backend for your application. With Node.js, this becomes a lot easier. In this guide, we'll introduce how to set up a basic server using Node.js in simple steps.


What is Node.js?

Node.js is a tool that allows you to run JavaScript on the server (not just in the browser). It's fast and efficient because it uses an event-driven, non-blocking model. This makes it great for building servers that handle many connections at once.


Steps to Set Up a Basic Server

Let's walk through the basic steps to set up your first Node.js server.

1. Install Node.js

Before you start, you need to install Node.js on your computer. You can download it from the official website: nodejs.org (opens in a new tab). Once installed, check the version by running:

node -v   # to check Node.js version
npm -v    # to check NPM version

2. Initialize a New Project

Create a new folder for your project and initialize it with npm (Node's package manager). This step sets up your project:

mkdir my-node-server
cd my-node-server
npm init -y

This will create a package.json file, which helps manage your project's dependencies.

3. Create a Simple Server

Now, create a file named server.js. This file will contain the code to create a basic Node.js server:

const http = require('http'); // Import the built-in http module
 
const hostname = '127.0.0.1'; // Define the hostname
const port = 3000;            // Define the port number
 
// Create the server
const server = http.createServer((req, res) => {
  res.statusCode = 200;         // Send a status code of 200 (OK)
  res.setHeader('Content-Type', 'text/plain'); // Set the response type to plain text
  res.end('Hello, World!
');   // Send a simple "Hello, World!" message
});
 
// Start the server
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

4. Run Your Server

To start the server, run the following command:

node server.js

Now, if you open your browser and go to http://127.0.0.1:3000/, you should see the message "Hello, World!" displayed.


my-node-app/
├── src/
   ├── controllers/          # Controllers handle the business logic
   ├── models/               # Data models or schemas
   ├── routes/               # API routes
   ├── services/             # Service layer for business logic
   ├── middlewares/          # Custom middleware functions
   ├── config/               # Configuration files
   ├── utils/                # Utility functions
   ├── tests/                # Test files
   └── index.js              # Entry point of the application
├── package.json               # Project metadata and dependencies
├── package-lock.json          # Locked dependencies
├── .env                       # Environment variables
└── README.md                  # Project documentation

Conclusion

Setting up a basic server with Node.js is easy. With just a few lines of code, you can create a server that listens for requests and responds with a message. This simple setup is the foundation for building more complex and dynamic backend systems in Node.js.