Mini Project kali ini kita akan membuat sebuah Rest API CRUD sederhana menggunakan bahasa pemrograman Golang untuk proses developmentnya. Selain itu kita juga akan mengimplementasikan Clean Code pada proses development ini.
Structure Pemrograman Golang
Pada project Rest API CRUD Golang ini kita akan menyusun project structure golang kita menjadi :
- Model
- Repository
- Usecases
- Controller
- Configs
- Utils
Penjelasan mengenai struktur projek
Model
Model akan kita gunakan untuk mendeklarasikan struktur table pada database, yang mana akan berperan sebagai struktur pada json array di Rest Api
Repository
Pada direktori repository kita akan menaruh kumpulan kode yang berhubungan dengan database. Seperti kode yang berguna untuk eksekusi query dan lain sebagainya.
Usecases
Di sisi Usecases kita akan mengimplementasikan bussiness proses pada program, misal : perhitungan bunga, pajak, dan lain sebagainya. Namun, pada projek kita kali ini, akan digunakan sebagai validation.
Controllers
Sama seperti bahasa pemrograman lain, Controller akan kita gunakan untuk menaruh konfigurasi API endpoint pada Rest Api.
Configs
Configs digunakan sebagai tempat menaruh konfigurasi program, seperti environtment, konfigurasi router, database dan sebagainya.
Utils
Utils kita gunakan sebagi tempat untuk menaruh utility yang digunakan semasa proses development, contohnya Viper sebagai program untuk mengambil konfigurasi dari file config, validation dan lain sebagainya.
Struktur Folder pada Project

Teknologi yang digunakan
Pada projek ini kita menggunakan beberapa dependency guna mendukung proses development, diantaranya adalah :
- Viper : digunakan untuk membaca file environtment
- gorillamux : digunakan untuk membuat variable pada parameter endpoint
- mysql : digunakan untuk membuat koneksi dan mengakses database
File Project Rest API CRUD
File Project ini dapat kamu clone dari laman github inact25 pada repository Golang-Basic-CRUD . Selamat mempelajarinya.
Karena keterbatasan waktu, kami tidak akan menjelaskan secara line per line karena kode yang tidak sedikit dan tidak mungkin juga kita akan menjelaskan satu per satu. Jadi, jika kamu menemui kendala atau bingung dengan kode yang telah di susun, kamu dapat mengajukan pertanyaan di kolom komentar.
Ingin mempelajari lebih dalam mengenai Golang ?, yuk kunjungi halaman berikut : Golang Fundamental.
Sampai jumpa di mini projek selanjutnya gaes, Salam koding.