Masalah #
Butuh backend URL shortener yang sederhana tapi terstruktur — bukan sekadar proof of concept, tapi kode yang bisa jadi referensi arsitektur untuk proyek Go lainnya.
Solusi #
Dibangun menggunakan Go dengan Echo framework dan MySQL, dengan struktur modular yang clean:
- Link creation — generate short code untuk URL panjang
- Redirect handling — resolve short code ke URL asli
- Basic analytics — tracking jumlah klik per link
- RESTful API — endpoint yang mengikuti best practices
Arsitektur #
Struktur modular yang memisahkan handler, service, dan repository — memudahkan testing dan extend untuk fitur baru.
Hasil #
- Open source di GitHub
- Arsitektur modular yang bisa dijadikan template untuk proyek Go lain
- Clean endpoint design dengan error handling yang konsisten
Pelajaran #
- Framework selection matters — Echo memberikan routing dan middleware yang ringan tanpa overhead, cocok untuk API kecil-menengah
- Modular structure sejak awal — meskipun proyek kecil, struktur yang benar membuat penambahan fitur (analytics, auth) jadi straightforward tanpa refactor besar