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