Node.js API + MongoDB CRUD Operations | Part 01
This is Part 01 of the series of Node.js API + MongoDB CRUD Operations. I think definitely you are familiar with JavaScript before doing the hands-on practices on NodeJs. As the first step, you need to set up your environment.
Then open your command prompt and check whether you have installed the node to your local machine. To that, you can use node -v
as below,
🔶If you need to upgrade the node version already installed, refer to this article: How to Upgrade or Downgrade the node Version?
Otherwise, you can use this link to download the node and you can install it as how you install software usually.
https://nodejs.org/en/ [I recommend you to download the LTS version]
Now you can create a new folder and open that folder in VS Code. You can open the gitbash inside the newly created folder and run code .
in that terminal.
Then open an integrated terminal and initiate the project using npm init
Then package.json
the file will be created as below,
Then prepare the file structure to go ahead. In this app-structure.txt
folder structure is finalized.
Now we have to install node modules and some packages. First, run npm install
. Then,
To install these packages,
npm i nodemon express body-parser mongoose dotenv
Rather than installing like this, you can do the installation of packages separately as below.
npm i nodemon
npm i express
npm i mongoose
npm i mongoose
npm i dotenv
Dependencies in package.json file after the installation of npm packages.
"dependencies": {
"body-parser": "^1.20.1",
"dotenv": "^16.0.3",
"express": "^4.18.2",
"mongoose": "^6.8.2",
"nodemon": "^2.0.20"
}
We will have a small clarification on the packages we installed here,🤗
- nodemon — Install nodemon to restart the project automatically whenever the changes are made in the project directory. When you globally install it can use in future nodejs projects also.
- body-parser — Node.js body parsing middleware. Parse incoming request bodies in middleware before your handlers, available under the
req.body
property. - express — Express provides methods to specify what function is called for a particular HTTP verb ( GET, POST, SET, etc.).
json()
is a built-in middleware function in Express. This method is used to parse the incoming requests with JSON payloads and is based on the body-parser. This method returns the middleware that only parses JSON. - mongoose — Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment.
- dotenv — Dotenv is a zero-dependency module that loads environment variables from a
.env
file intoprocess.env
. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology.
Then create a new file index.js
to create the server. As the first step import the express. After that, assign the value return from the express method to start the server, called the method listen()
Passing the port number using a callback function should be done as below.
const express = require("express");
const app = express();
app.listen(3000, () => console.log("Server is started on 3000"));
In the package.json
file, you can see this.
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
This runs a predefined command specified in the "start"
property of a package's "scripts"
object.
If the "scripts"
object does not define a "start"
property, npm will run node index.js
.
"scripts": {
"start": "nodemon index.js"
},
Finally, Run the application by npm start
. The project will restart automatically whenever the changes are made in the project directory.
Hey super cool….😎Now our application is running on port 3000 successfully. We will continue with Part 02. Stay tuned and If you have anything to clarify please drop a comment here.
Source code for this Blog series…😉
Link to Part 02: Node.js API + MongoDB CRUD Operations | Part 02
https://github.com/Nimasha-Madhushani/NodeJS-Rest-API
Ok… Then…Bye for now…!!👋👋