nodejs-dbe

NodeJS DaunBiru Engineering

Usage no npm install needed!

<script type="module">
  import nodejsDbe from 'https://cdn.skypack.dev/nodejs-dbe';
</script>

README

Installing

$ npm install nodejs-dbe --save

Usage

  • Package

      var monita = require('nodejs-dbe');
      var server =  monita.config({
          database: 'mongodb://localhost:port/db',
          port: 8080 //port untuk menjalankan server
      })
    

    *Cat: Jika Anda tidak menyetel konfigurasi port, maka port akan otomatis disetel pada 8090

  • Express

    Sebelum Anda menggunakan fungsi-fungsi yang berada di express seperti method POST GET PUT dan DELETE.
    Anda harus menambahkan app didepan variable yang telah Anda definisikan diikuti dengan method yang ingin Anda gunakan.
    Contoh :

      monita.app.get('/', function(req, res){
          res.send("Hello World");
      })
    
      monita.app.post('/post', function(req, res){
          res.send("data updated");
      })
    
  • Socket

    Untuk menggunakan fungsi ini, Anda harus menambhakan beberapa kode seperti dibawah

      var socket =  monita.use().socket;
    

    Jika sudah, maka Anda dapat langsung menggunakannya.
    Contoh :

    • Membuat koneksi socket

        socket.on('connection', function(client){
            // kode anda disini
        })
      
    • Mengirim event ketika terdapat user yang terhubung dengan socket

        socket.on('connection', function(client){
            client.emit("hello", "Hello from Server");
            // client didapat dari parameter function diatas
        })
      
    • Menerima Event yang dikirimkan oleh user.

      Contoh jika user mengirim event salam dengan data Hallo

        socket.on('connection', function(client){
            client.on('salam', function(data){
                console.log(data) // ini akan menghasilkan Hallo pada layar konsole
            })
        })
      
    • Beberapa method pengiriman pada Socket

      1. socket.emit mengirim event kesemua client yang terhubung
      2. client.emit hanya mengirim event kepada pengirim saja
      3. client.broadcast.emit mengirim event kesemua client kecuali pengirim
  • Mongo

    Sama seperti soket, Anda harus menambahkan beberapa kode juga.

      var mongo = monita.use().mongo;
    

    Jika sudah anda dapat langsung menggunakan fungsi-fungsi seperti dibawah ini

    • Creating Schema and Model

        var UserSchema = mongo.Schema({
            fname: String,
            lname: Sring,
        })				
      
        var users = mongo.model('user', UserSchema);
      
    • Select All Documents

        users.find({}, function(err, result){
            if(err) throw err;
            console.log(result)
        })
      

      Jika, anda menggunakan promise, Anda hanya perlu menambahkan Async seteleh method mongo. Contoh pada pengunaan find :

        users.findAsync()
        .then(function(result){
            console.log(result)
        })
        .catch(function(err){
            console.error(err)
        })
      
    • Insert new document

        users.create({
            fname: "First",
            lname: "Last"
        });
      
    • Update Document

        users.update({_id : id}, {
            first: "Depan",
            last: "Belakang"
        }, function(err){
            if(err) throw err;
            console.log("Data has updated");
        });
      
    • Remove Document

        users.remove({_id: id}, function(err){
            if(err) throw err;
            console.log("Succesfully deleted");
        });
      

Service

  • Installing Forever & Forever-sevice

      $ [sudo] npm i -g forever forever-service
    
    • Install new service

        $ [sudo] forever-service install NAME_YOUR_SERVICE -s PATH/TO/YOUR/SCRIPT.js
      
    • Delete service

        $ [sudo] forever-service delete NAME_YOUR_SERVICE
      
    • Start, stop and restart service

        $ [sudo] {start|stop|restart} NAME_YOUR_SERVICE