Skip to content

iqbaleff214/kamus-banjar-api

Repository files navigation

Kamus Banjar API

Tujuan dari proyek ini adalah membuat API untuk kamus Bahasa Banjar-Indonesia, yang memberikan pengguna kemampuan untuk menerjemahkan kata dari Bahasa Banjar ke Bahasa Indonesia. Penjelasan secara teori tentang bahasa Banjar silakan merujuk ke halaman wiki.

Baca dengan bahasa lain: English.

Prasyarat

Proyek ini dibangun menggunakan Go version 1.22.2, dan diharapkan untuk dikembangkan menggunakan versi Golang yang serupa untuk mendapatkan hasil sesuai harapan.

Cara Menjalankan

  • Instalasikan dependensi proyek menggunakan perintah go mod download.
  • Jalankan proyek dengan perintah go run . atau go run main.go.

Cara Menjalankan Tes

Jalankan perintah berikut untuk melakukan test:

go test -v -cover ./...

Dengan perintah tersebut, dapat dilihat juga berapa tingkat coverage dari unit test yang ada. Jika melakukan perubahan pada kode, pastikan menjalankan tes terlebih dahulu untuk memastikan semua fungsionalitas tetap bekerja.

Cara Membuat File Biner

Jalankan perintah berikut untuk membuat file biner:

go build -ldflags "-s -w" -o ./bin/app .

Kemudian jalankan menggunakan perintah ./bin/app.

Penggunaan

[GET] /api/v1/alphabets

Mengembalikan semua daftar alfabet.

Respon sukses

Respon akan dikembalikan dalam bentuk JSON. Contohnya:

{
  "code": 200,
  "data": [
    {
      "letter": "a",
      "total": 3
    }
  ],
  "message": "All alphabets successfully retrieved.",
  "status": "success"
}

Respon galat

Respon akan dikembalikan dalam bentuk JSON juga jika terdapat galat. Contohnya:

{
    "code": 500,
    "message": "Internal Server Error",
    "status": "error"
}

[GET] /api/v1/alphabets/{letter}

Mengembalikan daftar kosakata bahasa Banjar berdasarkan alfabet yang diberikan.

Parameters

Name Keberadaan Tipe Deskripsi
letter wajib param Huruf alfabet

Respon sukses

Respon akan dikembalikan dalam bentuk JSON. Contohnya:

{
  "code": 200,
  "data": {
    "letter": "a",
    "total": 3,
    "words": [
      "abadan",
      "abah",
      "abat"
    ]
  },
  "message": "All words with letter 'a' successfully retrieved.",
  "status": "success"
}

Respon galat

Respon akan dikembalikan dalam bentuk JSON juga jika terdapat galat. Contohnya:

{
  "code": 400,
  "message": "alphabet only has one character",
  "status": "error"
}

[GET] /api/v1/entries/{word}

Mengembalikan definisi dan arti dari kosakata bahasa Banjar yang diberikan.

Parameters

Name Keberadaan Tipe Deskripsi
word wajib param kosakata bahasa Banjar.

Respon sukses

Respon akan dikembalikan dalam bentuk JSON. Contohnya:

{
  "code": 200,
  "data": {
    "word": "abah",
    "alphabet": "a",
    "meanings": [
      {
        "definitions": [
          {
            "definition": "ayah",
            "partOfSpeech": "n"
          },
          {
            "definition": "mertua laki-laki",
            "partOfSpeech": "n"
          }
        ]
      }
    ],
    "derivatives": [
      {
        "word": "baabah",
        "syllables": "ba.a.bah",
        "definitions": [
          {
            "definition": "berayah; menyebut ayah",
            "partOfSpeech": "v",
            "examples": [
              {
                "bjn": "inya kada baabah",
                "id": "dia tidak berayah"
              }
            ]
          }
        ]
      }
    ]
  },
  "message": "Definition of word 'abah' successfully retrieved.",
  "status": "success"
}

Respon galat

Respon akan dikembalikan dalam bentuk JSON juga jika terdapat galat. Contohnya:

{
  "code": 404,
  "message": "the word is not found",
  "status": "error"
}

Daftar Pustaka

Lisensi

Kamus Banjar API adalah perangkat lunak open-source yang dilisensikan di bawah lisensi MIT license.