Skip to content

Instantly share code, notes, and snippets.

@malikkurosaki
Created June 22, 2019 05:16
Show Gist options
  • Save malikkurosaki/7b665b3825be79cccef80666c070945b to your computer and use it in GitHub Desktop.
Save malikkurosaki/7b665b3825be79cccef80666c070945b to your computer and use it in GitHub Desktop.
versi node js terbaru dengan update

index js

const admin = require("firebase-admin");
const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000
const mysql = require('mysql')
const parser = require('body-parser')
const notifier = require('node-notifier')
const http = require('https')
const multer = require('multer')
const upl = multer({dest:'upload/'})

var serviceAccount = require("./key.json");
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://probuspresto.firebaseio.com",
  storageBucket:"https://probuspresto.appspot.com"
});
var bucket = admin.storage().bucket();


const db = mysql.createConnection({
  host:'bestmedialearning.com',
  user:'u6045499_test',
  password:'makuro123',
  database:'u6045499_test'
})

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

db.connect((err)=>{
  if(err)throw err;
})

const app = express();
app.use(parser.json({limit: '10mb', extended: true}))
app.use(parser.urlencoded({limit: '10mb',extended:true}))
app.set("view engine","pug")
app.set("views","views")

app.post('/api/user/upload',(req,res)=>{
  let datanya = req.body
  console.log(datanya.nama)
  let sql =`insert into newpost(id,title,content,image) values(null,"${datanya.judul}","${datanya.isi}","${datanya.nama}")`
  let sql2 = `insert into imagebank(id,name,content) values(null,"${datanya.nama}","${datanya.gambar}")`
  let query = db.query(sql,(err,result)=>{
    if(!err){
      let query2 = db.query(sql2,(eer,rsut)=>{
        if(!eer){
          res.send("ok")
        }else{
          console.log(eer)
        }
      })
    }else{
      console.log(err)
    }
  })

  var payload = {
    notification: {
        title:datanya.judul,
        body:datanya.isi,
        sound: "default"
    },
    data:{
        title:datanya.judul,
        body:datanya.isi
    }
}

admin.messaging().sendToTopic("probuspresto",payload).then((response) => {
// Response is a message ID string.
    res.send(response)
}).catch((error) => {
    res.send(error)
});

})

app.get('/api/postnya',(req,res)=>{
  let sql = 'select * from newpost'
  let query = db.query(sql,(err,result)=>{
    res.send(result)
  })
})

app.get('/api/user/poin/:id',(req,res)=>{
    let nama = req.params.id
    let sql = `select nm_cus,tot_poin from customer where nm_cus="${nama}"`
    let mysql = db.query(sql,(err,result)=>{
      res.send(result)
    })
})

app.get('/api/user/email/:id',(req,res)=>{
  let email = req.params.id;
  let sql = `select email,telpon from customer where email="${email}"`;
  let query = db.query(sql,(err,result)=>{
    if(err)throw err;
    res.send(result)
  })

})

app.get('/api/user/poin',(req,res)=>{
    let sql = `select nm_cus,tot_poin from customer`
    let query = db.query(sql,(err,result)=>{
      res.send(result)
    })
    
})

app.get('/api/user/phone/:id',(req,res)=>{
  let sql = `select telpon from customer where telpon="${req.params.id}"`;
  let query = db.query(sql,(err,result)=>{
    if(err) throw err;
    res.send(result)
  })
})

app.get('/api/user/:id',(req,res)=>{
  let nama = req.params.id;
  let sql = `select * from customer where nm_cus="${nama}"`
  let sql2 = 'update customer set telpon = "+6289697338821" where email = "branantayuda11@gmail.com"'
  let query = db.query(sql,(err,result)=>{
    if(err)throw err;
    res.send(result)
  })
  
});

app.get('/api/user/update/yudha/:id',(req,res)=>{
  let sql = `update customer set telpon="${req.params.id}" where nm_cus = "yudha"`
  let query = db.query(sql,(err,result)=>{
    if(err) throw err
    res.send(result)
  })
})


app.get('/api/buattabel',(req,res)=>{
  // let sql = 'create table newpost(id int(100) auto_increment primary key,title varchar(1000),content text)'
  // let sql2 = 'create table imagebank(id int(100) auto_increment primary key,name varchar(1000),content text)'
  // let query = db.query(sql,(err,result)=>{
  //   if(err) throw err
  // })
  // res.send("table created")
})

app.get('/',(req,res)=>{
  res.render('index',{
    title:"malik"
  })
})

app.get('*',(req,res)=>{
  res.send([{"pesan":"hidup tak semudah cocote mario teguh"}])
})

setInterval(() => {
  db.query('select 1')
  http.get("https://mypizz.herokuapp.com");
  //console.log("update db")
}, 10000);

app.listen(PORT,()=>{
  console.log('app runing on port 5000')
})

index pug

doctype html
html
  head
    title mypizza
    link(rel="stylesheet", href="https://www.w3schools.com/w3css/4/w3.css")
    script(src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js")
    style(type="text/css").
      .w3-container{
        padding:0px;
      }
  body
    .w3-container.w3-blue.w3-card
      h3.w3-wide.w3-text-light-grey PROBUS PRESST
    .w3-container
      .w3-sidebar.w3-bar-block.w3-blue-grey.w3-card(style="width:25%")
        h3.w3-center.w3-padding.w3-border-top.w3-border-grey.w3-card.w3-text-blue ACTIVITY
        a(href="#" onclick="muncul('a1')").w3-bar-item.w3-button.w3-blue-grey.w3-text-light-grey.w3-wide.w3-large.w3-hover-blue new post
        a(href="#" onclick="muncul('a2')").w3-bar-item.w3-button.w3-blue-grey.w3-text-light-grey.w3-wide.w3-large.w3-hover-blue show content
      .w3-container.w3-light-grey.w3-padding(style="margin-left:25%")
        #a1.w3-container.w3-content.w3-card.con
          .w3-container.w3-blue-grey.w3-input.w3-xlarge.w3-card.w3-border-light-grey.w3-border-top.w3-text-light-grey new post
          input#judul(type="text" placeholder="input title").w3-input.w3-white
          w3-container
            input#gambar(type="file" accept="image/*" name="gambar" onchange="gambarnya(this)")
          textarea#isi(name="", cols="30", rows="10" placeholder="input content here").w3-input.w3-white
          #simpan( onclick="kirim()" ).w3-button.w3-blue.w3-right.w3-card.w3-border-top.w3-border-white SAVE
        #a2.w3-container.w3-content.w3-card.con(style="display:none")
          .w3-container.w3-blue-grey.w3-input.w3-xlarge.w3-card.w3-border-light-grey.w3-border-top.w3-text-light-grey  content
          
          

      

    script.
      var gambar = "";
      var nama = "";
      function gambarnya(element) {
        var file = element.files[0];
            nama = file.name
        var reader = new FileReader();
        reader.onloadend = function() {
          gambar = reader.result
        }
        reader.readAsDataURL(file);
      }


      //- $("#gambar").change((e)=>{
      //-   var formdata = new FormData()
      //-       formdata.append("file",e.target.files[0])
      //-       $.ajax({
      //-         url: 'api/user/upload',
      //-         data: formdata,
      //-         processData: false,
      //-         contentType: false,
      //-         enctype:"multipart/form-data",
      //-         type: 'POST',
      //-         success: function(data){
      //-           if(data == "ok"){
      //-              sudahUpload = true;
      //-              alert("file uploaded")
      //-           }
      //-         }
      //-       });
      //- })
      

      function kirim(){
        var judul = $("#judul").val()
        var isi = $("#isi").val()
        var simpan = $("#simpan")
        if(judul == "" || isi == ""){
          alert("field not be empty ok !")
          return;
        }

        let datanya = {
          judul:judul,
          isi:isi,
          gambar:gambar,
          nama:nama
        }

        $.post('/api/user/upload',datanya,(data,response)=>{
            alert(response)
            location.reload();
        })

      }
      function muncul(param){
          var kon = $(".con")
          for (var i = 0;i< kon.length;i++){
            kon[i].style.display = "none"
          }
          document.getElementById(param).style.display = "block"; 

      }
      $.get('/api/postnya',(dat,response)=>{
          var a = ""
          for (var y = 0;y < dat.length;y++){
            a += `<a href="#">${dat[y].title}</a><br>`
          }
          $("#a2").append(a)
      })

      ```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment