Afteroffice Studio EN
ENTRI 014 Plat lipat

Mengganti Trello, lalu membuatnya layak dipercaya

MUV

Papan kerja internal yang menggantikan Trello — dan pekerjaan yang jauh lebih penting: membuatnya cukup kokoh untuk dipakai satu tim penuh.

Next.jsPrismaPostgreSQLDockerAuth.js

Masalahnya

Biaya lisensi Trello naik, dan tim butuh hal-hal yang tidak bisa didapat dari sana: pemisahan antar fungsi dan notifikasi yang bisa dipilih sendiri. Membangun penggantinya adalah bagian yang mudah. Bagian yang sulit datang setelah tim benar-benar pindah ke sana.

Alur penggunanya

  1. Anggota tim masuk lewat akun kerjanya dan hanya melihat papan milik organisasinya.
  2. Kartu dipindahkan, dikomentari, diberi label dan tenggat, dengan riwayat aktivitas yang bisa ditelusuri.
  3. Kartu di papan berbeda bisa dikaitkan, sehingga satu pekerjaan yang melintasi beberapa tim tetap bisa diikuti dari mana pun.
  4. Tenggat dan penugasan dikirim ke Telegram, karena di situlah tim sebenarnya membaca notifikasi.

Yang dibangun

Next.js dengan Prisma di atas PostgreSQL, seluruhnya di Docker. Skemanya tumbuh sampai 67 model — ini bukan papan tempel sederhana.

Arsitektur

Browser Next.js
Caddy TLS · reverse proxy
App Docker · resource limits
PostgreSQL connection pool
Restore test diverifikasi ke DB terpisah

Bagian yang sulit

Begitu satu tim benar-benar bergantung padanya, pertanyaannya berubah dari “apakah fiturnya ada” menjadi “apakah ini akan menyusahkan kami enam bulan lagi”. Itu pertanyaan yang jauh lebih berat, dan jawabannya bukan fitur baru.

Hasilnya

  • Batas CPU dan memori dipasang, karena sebelumnya container ini bisa memonopoli server yang dipakai puluhan project lain.
  • Sebuah password database yang lemah ternyata ikut tersimpan di git dan dipakai di production selama ini — dirotasi tanpa downtime.
  • Perubahan skema dipindahkan ke migrasi yang tercatat, menggantikan cara lama yang mendorong skema langsung tanpa jejak.
  • Backup diuji sungguhan: dump diunduh dari Drive, dipulihkan ke database sementara yang terpisah, lalu jumlah barisnya dibandingkan dengan production sampai cocok.
  • Sebuah bug yang membuat sesi login sering putus dilacak sampai akarnya: middleware memproses rute autentikasi dua kali dan menimpa cookie sesinya sendiri.

Catatan commit

commit340
hari kerja aktif29
sejak2026-06-10

Yang belum selesai

Kartu di satu jenis papan khusus masih belum bisa dihapus lewat antarmuka karena bentrok dengan penjaga yang saya pasang sendiri. Itu tercatat, belum diperbaiki.

Peran saya

Product, implementasi, dan seluruh pekerjaan infrastruktur di atas.

Dicatat oleh
Ihsan Nugraha
Diperiksa
6 Agu 2026, 17.17 WIB
Cara verifikasi
Klik URL mana pun di halaman ini
Dicatat oleh