Skip to content

Instantly share code, notes, and snippets.

@malikkurosaki
Created July 8, 2019 02:19
Show Gist options
  • Save malikkurosaki/ad96fa4e83ab1f0be7c2cbee9535f53c to your computer and use it in GitHub Desktop.
Save malikkurosaki/ad96fa4e83ab1f0be7c2cbee9535f53c to your computer and use it in GitHub Desktop.
backup bestatk

backup bestatk

const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000
const mysql = require('mysql')
const parser = require('body-parser')
const https = require('https')

process.on('uncaughtException',(a)=>{
  console.log(`error exeption : ${a}`)
})
process.on('unhandledRejection',(a)=>{
  console.log(`error rejection : ${a}`)
})

/*
DATABASE
========
- table : barang
  describe :
    - id
    - nama
    - satuan
    - harga
*/
const db = mysql.createConnection({
  host:"bestmedialearning.com",
  user:"u6045499_apibest",
  password:"makuro123",
  database:"u6045499_bestatk"
})

db.connect((err)=>{
  if(err) console.log(`database error : ${err}`)
})


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

app.set('view engine','pug')
app.set('views','views')

app.get('/',(a,b)=>{
  b.render('index',{
    title:'best ATK'
  })
})

app.get('/api/semua/barang',(a,b)=>{
  let sql = 'select * from barang'
  let query = db.query(sql,(c,d)=>{
    if(c) console.log(`error dapatkan semua barang ${c}`)
    b.send(d)
  })
})

app.get('/api/product/:id',(a,b)=>{
  let idnya = a.params.id
  let sql = `select * from barang where nama like "%${idnya}%"`
  let query = db.query(sql,(c,d)=>{
    if(c) console.log(`error carri prduct : ${c}`)
    b.send(d)
  })
})

app.post('/api/product/delete/:id',(a,b)=>{
  let idnya = a.params.id
  let sql = `delete from barang where id = "${idnya}"`
  let query = db.query(sql,(c,d)=>{
    if(c) {
      b.send([{"pesan":`gagal menghapus : ${c}`}])
    }else{
      b.send([{"pesan":"berhasil menghapus"}])
    }
    
  })
  
})

/*
API EDIT BARANG
===============
- nama : nama
- satuan : satuan
- harga : harga
- idnya : id
/api/edit/barang
*/
app.post('/api/edit/barang',(a,b)=>{
  let badan = a.body
  let sql = `update barang set nama = "${badan.nama}", satuan = "${badan.satuan}", harga = "${badan.harga}" where id = "${badan.idnya}"`
  let query = db.query(sql,(c,d)=>{
    if(c) b.send([{pesan:"ada permasalahan sewaktu update "+c}])
    else b.send([{pesan:"berhasil update barang"}])
  })
})

/*
API TAMBAH BARANG
=================
api : /api/tambah/barang
describe : 
  - nama : nama
  - satuan : satuan
  - harga : harga
*/
app.post('/api/tambah/barang',(a,b)=>{
  let badan = a.body
  let sql = `insert into barang(id,nama,satuan,harga) values(null,"${badan.nama}","${badan.satuan}","${badan.harga}")`
  let query = db.query(sql,(c,d)=>{
    if(c) b.send([{pesan:"error tambah barang : "+c}])
    else b.send([{pesan:"berhasil tambah barang"}])
  })
})


app.get('*',(a,b)=>{
  b.send([{"pesan":"cari apa sih mas ..."}])
})

setInterval(()=>{
  db.query('select 1')
},1000)

app.listen(PORT,()=>{
  console.log(`app run on port : ${PORT}`)
})
doctype html
html
    head
        title=title
        script(src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js")
        public
            link(rel="stylesheet", href="w3.css", attr)
        style.
            .w3-container{
                padding:0px;
            }
            .w3-button{
                padding:0px;
            }

    body.w3-light-grey.w3-container
        h1.w3-text-red.w3-button(onclick="reload()") BEST ATK //||\\
        .w3-container.w3-dark-grey.w3-bar.w3-input.w3-card
            .w3-bar-item.w3-button(onclick="gantian('daftar')") DAFTAR
            .w3-bar-item.w3-button(onclick="gantian('list')") LIST
            .w3-bar-item.w3-button(onclick="gantian('tambah')") TAMBAH
            .w3-bar-item.w3-button(onclick="gantian('edit')") EDIT
            #hapus.w3-bar-item.w3-button(onclick="gantian('daftar')") HAPUS
        .w3-cell-row.w3-container.w3-padding
            input#filter(type="search" placeholder="search").w3-container.w3-padding.w3-input.w3-half.w3-cell
            #cari.w3-button.w3-round.w3-blue.w3-card.w3-padding SEARCH
        #daftar.w3-container.w3-padding.wadah
            #isi.w3-container
        #tambah.w3-container.w3-content.w3-light-grey.w3-card.w3-border.wadah(style="display:none") 
            h1.w3-padding TAMBAH ITEM
            .w3-container.w3-padding
                table.w3-table
                    tr
                        th nama
                        th satuan
                        th harga
                        th simpan
                    tr
                        td
                            input#tnama(placeholder="nama").w3-input
                        td
                            input#tsatuan(placeholder="satuan").w3-input
                        td
                            input#tharga(placeholder="harga").w3-input
                        td
                            button#ttambah.w3-button.w3-round.w3-blue.w3-padding TAMBAH
        #list.w3-container.w3-content.w3-light-grey.w3-card.w3-border.wadah(style="display:none")
            h1.w3-padding LIST ITEM
            #listcon.w3-container
        #edit.w3-container.w3-content.w3-light-grey.w3-card.w3-border.wadah(style="display:none") 
            h1.w3-padding EDIT
            #editcon.w3-container.w3-padding
        script.
            function reload(){
                location.reload()
            }
            $.get('/api/semua/barang',(a,b)=>{
                hasilnya(a)
            })

            $("#cari").click(()=>{
                guyon()
               $.get('/api/product/'+$("#filter").val(),(a,b)=>{
                    hasilnya(a)
               })
            })

            var boleh = true;
            $("#hapus").click(()=>{
                var hap = document.getElementsByClassName("hapus");
                if(boleh){
                    for(var t =0;t < hap.length;t++){
                    hap[t].style.display = ""
                    }
                    boleh = false
                }else{
                    for(var t =0;t < hap.length;t++){
                    hap[t].style.display = "none"
                    }
                    boleh = true
                }
                
            })

            // function nya
            function hasilnya(a){
                var isinya2 = ""
                    isinya2 += `<div style="display: flex;flex-wrap: wrap;">`
                for(var i = 0; i < a.length ; i++){
                    isinya2 +=  `<div id="a${a[i].id}" class="w3-container w3-col s2 con">`+
                                `<button class="w3-button w3-padding w3-card w3-right w3-round w3-red hapus" style="display:none" onclick="hapus('${a[i].id}')">X</button/>`+
                                `<div class="w3-padding w3-container">`+
                                `<img class="w3-card w3-button w3-round" src="https://i.ebayimg.com/images/g/TbAAAOSwqS5b03yG/s-l300.jpg"  style="width:100%" class="w3-blue">`+
                                `<div class="w3-container cin w3-border-bottom w3-small">Nama : ${a[i].nama}</div>`+
                                `<div class="w3-container w3-text-grey w3-border-bottom w3-small ">Satuaan : ${a[i].satuan}</div>`+
                                `<div class="w3-container w3-text-grey w3-small">Harga : ${a[i].harga}</div>`+
                                `</div>`+
                                "</div>"
                }
                    isinya2 += `</div>`
                $("#isi").html(isinya2)

            }

            function hapus(param){
                $.post('/api/product/delete/'+param,(a,b)=>{
                    alert(a[0].pesan)
                    $.get('/api/semua/barang',(a,b)=>{
                        hasilnya(a)
                    })
                })
            }
            
            function guyon(){
                if($("#filter").val() == ""){
                    alert("eh , seneng guyon ya ??")
                    return;
                }
            }

            function gantian(param){
                var wadah = document.getElementsByClassName("wadah");
                for(var i = 0;i<wadah.length;i++){
                    wadah[i].style.display = "none"
                }
                document.getElementById(param).style.display = "block"
            }
            
            listItem()
            function listItem(){
                 $.get('/api/semua/barang',(a,b)=>{
                    var isinya3 = ""
                    isinya3 += `<table class="w3-table-all">`+
                                `<tr><th>NO</th><th>ID</th><th>NAMA</th><th>SATUAN</th><th>HARGA</th></tr>`
                    for(var i = 0; i < a.length ; i++){
                        isinya3+= `<tr>`+
                                    `<td>${i+1}</td><td>${a[i].id}</td><td>${a[i].nama}</td><td>${a[i].satuan}</td><td>${a[i].harga}</td>`+
                                    `</tr>`

                    }
                        isinya3 += `</table>`
                    $("#listcon").html(isinya3)

                })
            }

            ngedit()
            function ngedit(){
                 $.get('/api/semua/barang',(a,b)=>{
                    var nge = ""
                    nge += `<table class="">`+
                            `<tr><th>NO</th><th>ID</th><th>NAMA</th><th>SATUAN</th><th>HARGA</th><th>EDIT</th></tr>`
                    for(var i = 0; i < a.length ; i++){
                        nge += `<tr>`+
                                `<td>${i+1}</td><td>${a[i].id}</td><td><input id="a${a[i].id}a" class="w3-input" value="${a[i].nama}"></td><td><input id="a${a[i].id}b" class="w3-input" value="${a[i].satuan}"></td><td><input id="a${a[i].id}c" class="w3-input" value="${a[i].harga}"></td><td class="w3-yellow w3-button w3-padding" onclick="mengedit('${a[i].id}')">edit</td>`+
                                `</tr>`
                    }
                        nge += `</table>`
                    $("#editcon").html(nge)
                 })
                 }

           /*
            MENGEDIT
            ========
            - aa : name
            - ab : satuan
            - ac : harga
            - idnya : id (param)
            - stock : stock ( todo)
            - gambar : gambar ( todo )
           */
            function mengedit(param){
                var aa = document.getElementById("a"+param+"a");
                var ab = document.getElementById("a"+param+"b");
                var ac = document.getElementById("a"+param+"c");

                var paket = {
                    nama:aa.value,
                    satuan:ab.value,
                    harga:ac.value,
                    idnya:param
                }
                $.post('/api/edit/barang',paket,(a,b)=>{
                    alert(a[0].pesan)
                })
            }

            /*
                TAMBAH BARANG
                =============
                - tnama : nama
                - tsatuan : satuan
                - tharga : harga
                api : /api/tambah/barang
            */

            $("#ttambah").click(()=>{
                var tnama = $("#tnama")
                var tsatuan = $("#tsatuan")
                var tharga = $("#tharga")

                var paketan = {
                    nama: tnama.val(),
                    satuan: tsatuan.val(),
                    harga: tharga.val()
                }

                $.post('/api/tambah/barang',paketan,(a,b)=>{
                    alert(a[0].pesan)
                    tnama.val("")
                    tsatuan.val("")
                    tharga.val("")
                })
            })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment