npm init -y

Install packages

npm install express mongoose dotenv colors express-async-handler cors
  • Express for rest API
  • Mongoose for MongoDB ODM
  • dotenv for working with dotenv files
  • colors for seeing things better in the terminal
  • express-async-handler for handling exceptions inside async express routes and passing them to your express error handlers
  • cors for sharing resources between servers (backend) and clients (frontend)

Install nodemon as a dev dependency`

npm install -D nodemon

Create backend folder and server.js file inside it

Update package.json file

{
  "name": "quote-gen",
  "version": "1.0.0",
  "description": "A fullstack quote generator",
  "main": "server.js",
  "scripts": {
    "start": "node backend/server.js",
    "dev": "nodemon backend/server.js"
  },
  "author": "Kolade Chris",
  "license": "MIT",
  "dependencies": {
    "colors": "^1.4.0",
    "dotenv": "^16.0.0",
    "express": "^4.17.3",
    "express-async-handler": "^1.2.0",
    "mongoose": "^6.2.4"
  },
  "devDependencies": {
    "nodemon": "^2.0.15"
  }
}

Put a test code inside server.js

console.log("Hello codecontinuers");

Run the development server

npm run dev //Output: Hello codecontinuers

This is what the folder structure looks like so far:

folder-structure