Хранение данных в json файле.

Проверка на существование файла

var fs = require("fs");

Синхронно

var path = __dirname + '/database.json';

if (fs.existsSync(path)==false){
    console.log('File does not exist sync!');
}

Асинхронно

fs.exists( path ,function(result){
    console.log('File does not exist async!');
})

Создание файла (синхронно!).

fs.writeFileSync(path,content)

Запись в файл json массива.

Преобразование json объекта в строку.

 JSON.stringify(obj)

Преобразование строки в json объект.

JSON.parse(str)

server.js

fs.writeFileSync(path,JSON.stringify(

{
    'messages': [
        {'user': 'Vova', 'message': 'Hello from Vova '},
        {'user': 'Dima', 'message': 'Hello from Dima'}, 
        {'user': 'Piter', 'message': 'Hello from Piter'}   
    ]
}        

));

Считаем данные с файла database.json и присвоим объект в глобальную облатсть видимости в проекте.

Синхронное считывание.

var db = fs.readFileSync(path)

Преобразование в объект строки.

db = JSON.parse(db)

Передадим данные в шаблон.

res.render('index.html', db)

Вывведем список в шаблоне.

    <table border="1">
            <tr>
                <td>Пользователь</td>
                <td>Сообщение</td>
            </tr> 
            {{#messages}}
            <tr>
                <td>{{ user }}</td>
                <td>{{ message }}</td>
            </tr> 
            {{/messages}} 

    </table>

Добавим форму нового сообщения.

    <form method="POST" action="/guest">
        <input name="user" />
        <br /><br />
        <textarea name="message">

        </textarea>
        <br /><br />
        <input type="submit" value="Save" />
    </form>

Добавим роутинг и обработчик на урл /guest.

app.post('/guest', function (req, res) {
   res.render('index.html', db)
})

Выведем данные которые передаются формой.

app.post('/guest', function (req, res) {
   console.log(req.body);
   res.render('index.html', db);
})

Необходимо прочитать (спарсить) все данные с форм и заполнить параметр req.body.

const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: false }))

Добавим новый элемент в глобальный массив db['messages'].

db['messages'].push( { 'user': req.body.user, 'message': req.body.message } );