Skip to content

Instantly share code, notes, and snippets.

@malikkurosaki
Created July 1, 2019 11:39
Show Gist options
  • Save malikkurosaki/72c7467a58da97003ce977acb096658f to your computer and use it in GitHub Desktop.
Save malikkurosaki/72c7467a58da97003ce977acb096658f to your computer and use it in GitHub Desktop.
contoh node jadi

contoh node jadi

const express = require('express')
const parser = require('body-parser')
const mysql = require('mysql')
const path = require('path')
const PORT = process.env.PORT || 5000
const admin = require('firebase-admin')
const serviceAccount = require("./admin.json");
const https = require('https')

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://probussystem-32ab2.firebaseio.com"
});
var fbdb = admin.database();
var ref = fbdb.ref("probus/menu");

process.on('uncaughtException',(err)=>{
  console.log(`uncauch : ${err}`)
})
process.on('unhandledRejection',(err)=>{
  console.log(`reject : ${err}`)
})

const app = express();
app.use(parser.json())
app.use(express.static(path.join(__dirname, 'public')));
app.use(parser.urlencoded({extended:true}))
app.set('view engine','pug')
app.set('views','views')

app.get('/',(a,b)=>{
  b.render('index',{
    title:"judul",
    firebase:"firebase.js"
  })
})

// api visi misi
app.get('/api/content/visimisi',(a,b)=>{
  let ambil = ref.child("visimisi").on('value',(snapshot)=>{
    b.send(snapshot)
  },(err)=>{
    console.log(`ambil database error : ${err}`)
  })
})

app.post('/api/simpan/visimisi',(a,b)=>{
  let content = a.body
  let kirim = ref.child("visimisi").set({
    "content":content.isi
  },(err)=>{
    b.send([{"pesan":"error"+err}])
  })

   b.send([{"pesan":"sukses"}])
})

// api product
app.post('/api/simpan/product',(a,b)=>{
    let terima = a.body
    let kirim = ref.child("product").push({
      "nama":terima.nama,
      "image":terima.image,
      "content":terima.content
    },(err)=>{
      b.send([{"pesan":"error"+err}])
    })
  
     b.send([{"pesan":"sukses"}])
})

app.get('/api/content/product',(a,b)=>{
  let ambil = ref.child("product").on('value',(snapshot)=>{
    b.send(snapshot.val())
  },(err)=>{
    console.log(`ambil database error : ${err}`)
  })
})

app.get('*',(a,b)=>{
  b.send([{pesan:"golek opo to mas...."+path.dirname('/views/firebase.js')}])
})

setInterval(()=>{
  https.get('https://probussystem.herokuapp.com/')
},1000)

app.listen(PORT,()=>{
  console.log(`app run on port ${PORT}`)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment