Creating a Node project 
Initialising with npm init 
We make a folder for our project:
mkdir health-tracker
cd health-trackerTo initialise a project inside the folder, you run npm init -y in the terminal:
npm init -yWrote to ~/Repos/health-tracker/package.json:
{
  "name": "health-tracker",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}Running scripts with npm run 
In package.json, you will notice a "scripts" key. This is where we can put terminal commands.
"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "hello": "echo \"Hello, world!\"", 
}Now, from anywhere in your project, you can open a terminal and run
npm run hello> health-tracker@1.0.0 hello
> echo "Hello, world!"
Hello, world!Installing packages with npm install 
INFO
A package is just someone else's code that you download into your project. This code lives on the npm registry. Anybody can put a package on the registry, and anybody else can download it.
Let's download the mocha testing library so that we can run tests in our project.
npm install -D mochaadded 77 packages, and audited 78 packages in 3s
20 packages are looking for funding
  run `npm fund` for details
found 0 vulnerabilitiesTIP
The -D flag in this command installs mocha as a development dependency. That means, when we send our app to our customers, all the mocha code doesn't get sent to them.
When you're installing a package that is required to make the app actually work, don't put the -D flag.
Tracking with git 
Finally, cd to the root of the project (the health-tracker directory) and run
git initInitialised empty Git repository in ~/Repos/health-tracker/.git/WARNING
After we did git init, the entire contents of the node_modules folder is also tracked. This is undesirable, as this code is available on the npm registry, and packages receive security updates over time.
Create a file called .gitignore (include the . at the front) and type node_modules at the top of the file. Make sure to save the file. Now, git will ignore the node_modules folder.
Once your .gitignore is made, feel free to run
git add .
git commit -am "initial commit"
[main (root-commit) 8f34434] initial commit
 3 files changed, 933 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 package-lock.json
 create mode 100644 package.jsonto add and commit the new files.
Corndel