wilayah-indonesia

module
v0.0.0-...-24b0781 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2025 License: MIT

README ยถ

โœ… Siap, berikut README.md versi clean dan sudah menggunakan go get untuk instalasi package:


๐Ÿ‡ฎ๐Ÿ‡ฉ golang-wilayah-indonesia

Package Go untuk import data wilayah Indonesia (Provinsi, Kota/Kabupaten, Kecamatan) dari file JSON ke database MySQL atau PostgreSQL secara otomatis.


๐Ÿš€ Fitur Utama

โœ… Auto generate table (migration)
โœ… Auto import data dari JSON
โœ… Support PostgreSQL dan MySQL
โœ… Simple dan reusable, tinggal panggil dari main.go


๐Ÿ“ฆ Instalasi

Tambahkan package ini ke project kamu:

go get github.com/vandyahmad24/wilayah-indonesia 

๐Ÿ“‚ Struktur JSON Data

Contoh file JSON di folder data/:

// province.json
[
    { "id": 1, "name": "Aceh (NAD)", "code": "11" }
]
// city.json
[
    { "id": 1, "type": "Kabupaten", "name": "Aceh Barat", "code": "05", "full_code": "1105", "provinsi_id": 1 }
]
// district.json
[
    { "id": 1, "name": "Air Majunto", "code": "13", "full_code": "170613", "kabupaten_id": 1 }
]

๐Ÿ›  Cara Pakai

1๏ธโƒฃ Import package
import "github.com/vandyahmad24/golang-wilayah-indonesia/wilayah"
2๏ธโƒฃ Siapkan koneksi database

Contoh koneksi PostgreSQL:

db := wilayah.ConnectDB("postgres", "host=localhost user=postgres password=secret dbname=your_db port=5432 sslmode=disable")
defer db.Close()

Untuk MySQL:

db := wilayah.ConnectDB("mysql", "root:password@tcp(localhost:3306)/your_db")
defer db.Close()

3๏ธโƒฃ Jalankan Migration (Auto create table jika belum ada)
wilayah.RunMigration(db)

4๏ธโƒฃ Seed data dari JSON ke database

Pastikan folder data/ berisi province.json, city.json, dan district.json

wilayah.Seed(db, "data")

โœ… Contoh Full main.go

package main

import (
	"github.com/username/golang-wilayah-indonesia/wilayah"
)

func main() {
	db := wilayah.ConnectDB("postgres", "host=localhost user=postgres password=secret dbname=your_db port=5432 sslmode=disable")
	defer db.Close()

	wilayah.RunMigration(db)
	wilayah.Seed(db, "data")
}

๐Ÿ’พ Struktur Database yang Dibuat

  • provinces (id, name, code)
  • cities (id, type, name, code, full_code, province_id)
  • districts (id, name, code, full_code, city_id)

Relasi terjaga dan data akan terisi otomatis sesuai JSON.


๐Ÿ“– Cara Kerja

โœ… Baca file JSON dari folder data/
โœ… Insert ke database (skip jika sudah ada - id conflict)
โœ… Logging error jika ada
โœ… Siap pakai di production / development


๐Ÿ“„ License

MIT License


๐Ÿค Kontribusi

Pull Request dan kontribusi sangat terbuka.
Silakan open issue jika ada pertanyaan.


Directories ยถ

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL