Step 1: Local setup

Initialize a new Node.js project

npm init -y
Wrote to /home/jhz22/package.json:

  "name": "jhz22",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "directories": {
    "doc": "doc"
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  "keywords": [],
  "author": "",
  "license": "ISC"

Install express

npm install express
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN jhz22@1.0.0 No description
npm WARN jhz22@1.0.0 No repository field.

+ express@4.18.2
added 62 packages from 41 contributors and audited 62 packages in 2.929s

11 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Create an index.js file

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3030;

app.get('/', (req, res) => {
    res.send('Hello, World!');

app.listen(PORT, () => {
    console.log(`Server is running on port ${PORT}`);

Step 2: Local test

node index.js
firefox http://localhost:3030

Step 3: Setup of a GitHub repository

This is handy using GitHub API.

Step 4: Heroku deployment (Optional)

Step X: Possible alternative




npm install vue

and a hello-world.html

   <script src=""></script>
     <div id="app">
      const {createApp} = Vue
         return {message:'Hello World!'}