Mencoba menggunakan Excalibur

Mon Aug 30 2021 12:05:02 GMT+0000 (Coordinated Universal Time)

Excalibur Fate/Zero Arthuria Saber

Excalibur: Noble phantasm dari Arthuria di Fate series.

Excalibur adalah REST API builder. Sehingga, bagi developer frontend, bisa fokus ke tampilan website aja, nggak perlu generate JSON dengan backend. Itu. Kalau mau langsung mencobanya, bisa kunjungi https://excalibur.nasihosting.com/

Tapi, kita coba dengan tutorial bertahap-bertahap, supaya mudah dipahami. Oke?

Persiapan

Install Node JS dulu. Kalau ada, Googling aja ya, bagaimana cara install Node JS.

Nah, sekarang kita install pnpm jika belum punya:

npm i -g pnpm

Menyiapkan project

Kita buat folder main-excalibur lalu masuk ke folder itu:

mkdir main-excalibur
cd main-excalibur

Kita buka dulu foldernya di Sublime:

subl . -a

Lalu, kita init project Node JS di situ:

pnpm init -y

Maka, akan terbentuk package.json:

{
  "name": "main-excalibur",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

Lalu, kita tambahkan "type": "module" di situ:

{
  "name": "main-excalibur",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
+  "type": "module"
}

Lalu, kita install axios dan qs supaya mudah:

pnpm i -D axios qs

Merancang database

Jadi, kita buat database yang menampung nama santri. Nah, jadi, kita hanya perlu dua field: id dan nama.

Sekarang, kita buka https://excalibur.nasihosting.com/?halaman=tambah-database kemudian masukkan nama di bagian Masukkan field terus pencet Buat. Maka, akan muncul ID Tabel dan Kolom yang terbentuk di databasenya Excalibur:

Hasilnya setelah kita masukkan ke Excalibur

Untuk field yang lebih dari satu, misalnya nama, biodata, dan alamat, pisah dengan koma dan spasi. Contoh: nama, biodata, alamat.

Nah, untuk ID tabel, kita simpan dulu di data.js:

export const sql = "https://excalibur.nasihosting.com/sql.php"
export const api = 'c282bf3b80999f0f87849a67928bdd4a' // id, nama

Script untuk upload data ke Excalibur

Kita buka dulu https://excalibur.nasihosting.com/?halaman=olah-sql untuk mengolah data kita tadi.

Terus, di bagian ID Database, masukkan ID Tabel yang kita dapatkan tadi (aku baru nyadar eh kalau namanya beda), terus Enter:

Masukkan ID Database

Terus, di kotak yang besar, kita masukkan perintah SQL untuk menambahkan data:

tambah
insert into [db] (nama) values ([nama])

ambil
select * from [db]

Terus pencet Update:

Masukkan SQL

Lalu, kita buat tambah.js:

import {sql, api} from "./data.js"
import axios from "axios"
import {stringify} from "qs"

const {post} = axios
const namaBaru = ["Nando", "Shinra", "Rasya"]

async function dapatkan(){
  for (let x of namaBaru){
    const tambahkan = await post(sql, stringify({
      id: api,
      kunci: "tambah",
      nama: x
    }))
    if (tambahkan){
      const {data} = await post(sql, stringify({
        id: api,
        kunci: "ambil"
      }))
      console.log(data)
    }
  }
}
dapatkan()

Jalankan dengan:

node tambah.js

Hasilnya:

Hasil pakai Excalibur

Buat yang mau donasi untuk kelangsungan komunitas Echlus, silahkan transfer ke halaman donasi kami.