Kesalahan Teknis Menjalankan 16 Produk di Lovable dan Supabase

Kami menjalankan 16 produk di Inithouse. Kami menggunakan Lovable dan Supabase untuk semuanya. Satu tim mengelola segalanya. Ini terdengar bagus sampai Anda menghadapi 16 domain kustom, 16 proyek Supabase, dan 16 set edge functions.

Kami membuat kesalahan yang membuang-buang waktu kami. Berikut adalah lima kesalahan teknis terbesar dan solusi kami.

  1. Skema database yang tidak konsisten

Tiga produk pertama kami menggunakan nama tabel yang berbeda untuk data yang sama. Satu proyek menggunakan page_views untuk analitik. Proyek lain menggunakan analytics_events. Hal ini membuat penulisan kode bersama menjadi mustahil. Tugas yang seharusnya selesai dalam satu sore memakan waktu dua minggu.

Solusinya: Kami membangun templat migrasi bersama. Setiap produk baru mendapatkan tabel dasar yang sama untuk analitik, postingan blog, dan auth. Kami memperbaiki proyek lama selama minggu-minggu yang tenang. Sekarang, menambahkan endpoint pemantauan hanya butuh 20 menit, bukan satu hari.

  1. Domain kustom yang rusak

Lovable memungkinkan Anda menghubungkan domain kustom. Terkadang deployment berhasil tetapi verifikasi DNS gagal. URL pratinjau berfungsi, tetapi domain live menampilkan halaman kosong. Kami kehilangan trafik selama tiga hari karena tidak memeriksa URL live tersebut.

Solusinya: Kami menggunakan checklist pasca-publikasi. Kami membuka setiap domain live di jendela incognito untuk memverifikasinya. Kami juga menambahkan pemeriksaan uptime yang akan mengirim ping ke Slack jika sebuah domain gagal.

  1. Visibilitas data yang terfragmentasi

Kami tidak bisa melihat bagaimana kinerja seluruh portofolio kami tanpa membuka dashboard terpisah untuk setiap produk. Kami seperti terbang dalam kegelapan.

Solusinya: Kami menyebarkan endpoint API statistik ke setiap proyek Supabase. Setiap produk mengirimkan metrik utama seperti jumlah pengguna dan pendaftaran dalam format standar. Sebuah skrip tunggal menarik data ini ke dalam satu dashboard.

  1. Copy-paste komponen

Kami terbiasa menyalin komponen React dari satu proyek ke proyek lainnya. Komponen-komponen ini membawa asumsi lama. Kartu harga dari satu produk gagal di produk lain karena mengharapkan alur pembayaran yang berbeda. Kami menghabiskan berhari-hari untuk men-debug bug semu ini.

Solusinya: Kami berhenti melakukan copy-paste. Kami memelihara dokumen pola komponen. Kami menginstruksikan Lovable untuk membangun komponen baru berdasarkan pola-pola tersebut. Ini lebih lambat untuk disiapkan tetapi jauh lebih mudah untuk dipelihara.

  1. Menggunakan riwayat chat sebagai dokumentasi

Kami mengandalkan riwayat chat Lovable untuk mengingat keputusan teknis. Log chat berantakan. Mereka mencampuradukkan perubahan yang berhasil dengan upaya yang gagal. Mencari alasan spesifik untuk sebuah perubahan dalam thread yang panjang sangatlah sulit.

Solusinya: Kami memindahkan pencatatan keputusan ke Linear. Kami menulis satu baris di Linear yang menjelaskan apa yang berubah dan mengapa. Chat Lovable adalah untuk eksekusi. Linear adalah untuk keputusan.

Pelajarannya sederhana. Jangan perlakukan 16 produk seperti 16 proyek terpisah. Perlakukan mereka seperti satu portofolio. Standarisasi templat Anda dan pantau semuanya dari satu tempat.

Source: https://dev.to/jakub_inithouse/technical-mistakes-of-running-16-products-on-lovable-supabase-59fh

Optional learning community: https://t.me/GyaanSetuAi