Alat Ini Mengubah Database SQL Anda Menjadi Backend Secara Instan (Directus)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Oke, jadi sudah berapa kali Anda membangun ulang backend yang sama persis?
00:00:04CRUD, autentikasi, panel admin, unggah berkas.
00:00:07Sering kali, apa yang terlihat seperti membangun biasanya hanyalah membangun ulang.
00:00:10Bagaimana jika Anda bisa mengarahkan satu alat ke database SQL yang ada dan mendapatkan backend lengkap?
00:00:15Itulah Directus, API real-time dan dasbor aplikasi untuk mengelola konten database SQL.
00:00:21Banyak developer mulai menyadari bahwa selama ini mereka melakukannya dengan cara yang sulit.
00:00:25Izinkan saya menunjukkan cara kerjanya hanya dalam beberapa menit.
00:00:30[MUSIK]
00:00:33Masalah backend terbesar bagi kebanyakan dari kita bukanlah kompleksitas, melainkan repetisi.
00:00:38Kita tidak sedang memecahkan masalah baru, kita hanya merangkai kode yang sama berulang-ulang,
00:00:42dan itu benar-benar menghabiskan waktu kita.
00:00:44Directus memangkas semua itu.
00:00:46Ini terhubung langsung ke database Postgres, MySQL, atau Oracle Anda.
00:00:50Tanpa migrasi, tanpa membangun ulang seluruh skema Anda di tempat lain.
00:00:53Kita secara instan mendapatkan API REST dan GraphQL,
00:00:57izin tingkat lapangan, langganan real-time,
00:01:01alur dan otomatisasi, penanganan berkas, dan UI admin yang bersih.
00:01:05Nah, bagian kerennya di sini adalah database Anda tetap ada.
00:01:08Ini bukan sekadar lapisan duplikat.
00:01:10Hal itu jauh lebih penting daripada kedengarannya.
00:01:12Sekarang izinkan saya menunjukkannya.
00:01:13Jika Anda menyukai alat sumber terbuka dan tip pengodean untuk mempercepat alur kerja,
00:01:17pastikan untuk berlangganan.
00:01:18Kami memiliki video yang rilis setiap saat.
00:01:20Baiklah, sekarang mulai dari nol mutlak dengan instalasi Directus yang bersih,
00:01:24tanpa tabel database, tidak ada yang dimuat sebelumnya.
00:01:27Benar-benar kanvas kosong setelah saya membuat akun di sini.
00:01:32Dan alih-alih menghubungkan ke sesuatu yang sudah ada,
00:01:34saya akan membangun aplikasi manajemen pesanan lengkap hanya dalam satu menit atau lebih.
00:01:39Pertama, saya membuat koleksi dan akan menamainya Orders, seperti ini.
00:01:45Itu saja.
00:01:45Sekarang aplikasi memiliki tempat untuk menyimpan data, dan kita bisa menambahkan detail lebih lanjut ke dalamnya sekarang.
00:01:51Saya akan memilih dan menimpa yang kita butuhkan di sini,
00:01:54seperti pelanggan, tanggal, dan semua hal menyenangkan itu.
00:01:58Lalu saya bisa menambahkan secara manual bidang lain apa pun
00:02:00yang sekiranya kita butuhkan untuk hal seperti ini.
00:02:03Jadi saya bisa memasukkan nama pelanggan, email, produk sebagai dropdown,
00:02:08di mana saya bisa menambahkan kunci dan nilai.
00:02:10Saya bisa melakukannya untuk jumlah dan status.
00:02:13Setiap bidang menambahkan lebih banyak detail tentang data yang akan kita simpan.
00:02:16Dan perhatikan apa yang hilang di sini.
00:02:18Ya, SQL.
00:02:19Tidak ada SQL.
00:02:20Tidak ada migrasi.
00:02:22Tidak perlu berpindah tab untuk menulis berkas skema.
00:02:25Semuanya tersimpan di sini di Directus segera.
00:02:28Sekarang saya bisa langsung masuk ke tampilan konten dan mulai menambahkan pesanan.
00:02:32Jadi saya bisa menambahkan pesanan pertama di sini, hanya akun percobaan.
00:02:35Saya akan menambahkan satu lagi.
00:02:36Dan kemudian kita bisa menambahkan yang ketiga, kan?
00:02:39Kita punya tiga pesanan berbeda di sini di dalam sistem.
00:02:42Sekarang saya punya beberapa data nyata di sini yang bisa mulai kita mainkan.
00:02:45Tapi saat ini sistemnya terbuka lebar, yang berarti siapa pun bisa melakukan apa saja.
00:02:49Jadi mari kita perbaiki itu.
00:02:50Bagaimana cara memperbaikinya?
00:02:51Yah, dengan izin akses.
00:02:53Jadi saya pergi ke peran publik.
00:02:55Saya akan mencari koleksi pesanan yang kita buat tadi.
00:02:58Kita bisa menyalakan izin baca (read).
00:03:00Dan saya akan memastikan hal lain di sini dimatikan.
00:03:03Jadi buat (create), perbarui (update), hapus (delete).
00:03:05Semua itu sudah tidak ada.
00:03:06Sekarang lebih terkontrol dan lebih aman sesuai keinginan kita.
00:03:10Oke, di sinilah bagian yang mulai terasa sangat keren
00:03:12karena kita bisa melakukan otomatisasi dan membangun alur (flows) di sekitarnya.
00:03:16Saya akan pergi ke sini dan membuat alur baru.
00:03:19Saya akan menamainya dengan sesuatu yang sangat sederhana, apa ini?
00:03:22Jadi saya akan memberi notifikasi pada pesanan baru.
00:03:24Nama yang sederhana, sesuai dengan tujuannya.
00:03:26Dan saya akan memilih semuanya dari item di koleksi yang kita buat bernama orders.
00:03:31Sekarang saya bisa membangun pemicu (trigger).
00:03:33Dan untuk pemicunya, saya mengaitkannya saat item baru dibuat,
00:03:37khususnya di koleksi pesanan tersebut.
00:03:39Jadi sekarang setiap kali pesanan baru masuk, sesuatu akan terjadi.
00:03:43Saya akan menambahkan operasi.
00:03:44Kita akan mengirim email.
00:03:46Ini akan menulis subjek.
00:03:47Saya akan menambahkan email saya ke sini.
00:03:49Dan kemudian di bagian isi, saya akan menarik data pesanan.
00:03:52Jadi setiap kali ada pesanan baru masuk, data itu akan dikirim melalui email.
00:03:56Sekarang saya bisa menyimpan operasi ini dan kita akan menyimpan alurnya dan selesai.
00:04:00Oke, sekarang lihat ini.
00:04:02Saya akan kembali.
00:04:03Dan di berkas Docker compose awal saya, saya menambahkan mail pit untuk menguji ini.
00:04:07Ini hanyalah cara yang sangat sederhana untuk menguji fungsi pengiriman email tersebut.
00:04:11Saat saya membuat satu pesanan lagi, seperti sebelumnya, tidak ada yang istimewa,
00:04:14tapi kali ini ada yang berbeda.
00:04:16Ini sekarang memicu alur secara otomatis dan email terkirim dengan detailnya.
00:04:20Tidak ada logika backend di sini.
00:04:22Tidak ada perangkaian kode di sana-sini.
00:04:25Ini dimulai dari nol, tidak ada tabel, tidak ada backend, tidak ada struktur nyata di sini.
00:04:30Dan hanya dalam beberapa menit, ini menjadi aplikasi yang berfungsi dengan izin data dan ya,
00:04:33otomatisasi, yang merupakan bagian kerennya.
00:04:35Dan inilah yang membuat Directus terasa sangat keren.
00:04:38Ini hampir seperti kombinasi logika database visual dengan sesuatu seperti N8N atau Zapier yang sudah terpasang,
00:04:43tapi sebenarnya bukan itu kompetitornya.
00:04:45Jadi apa itu Directus sebenarnya?
00:04:47Ini adalah platform data sumber terbuka yang berada di atas database SQL Anda.
00:04:52Ia tidak berada di sampingnya.
00:04:53Ia berada tepat di atasnya.
00:04:55Model database-first itulah intinya, kan?
00:04:58Jadi apa artinya ini sebenarnya bagi kita?
00:04:59Yah, ini berarti beberapa hal.
00:05:01Artinya tidak ada keterikatan (no lock-in).
00:05:03SQL lengkapnya masih ada dan berfungsi dengan sistem lama (legacy).
00:05:07Itulah mengapa orang menggunakannya untuk hal-hal seperti backend SaaS, alat internal, pengaturan CMS headless,
00:05:13agen AI dengan data terkontrol.
00:05:15Anda mencoba memodernisasi sistem lama tanpa menulis ulang semuanya.
00:05:19Database Anda adalah mesin aslinya di sini.
00:05:21Directus hanya memberinya dasbor dan kontrol.
00:05:24Sekarang, pada pandangan pertama, jika Anda pernah menggunakan alat lain seperti Strapi, Payload, Hasora,
00:05:28Directus akan terlihat mirip, tetapi sebenarnya mereka memecahkan masalah yang berbeda.
00:05:33Strapi dan Payload mengutamakan kode (code-first).
00:05:36Anda menentukan skema dalam kode, lalu membangun ulang struktur Anda di sana.
00:05:40Ya, itu memang berhasil, tapi itu kerja ekstra.
00:05:42Directus mengubah beberapa hal dengan beberapa penyesuaian.
00:05:45Skema Anda sudah ada, jadi alih-alih membuatnya ulang, Anda cukup menghubungkannya.
00:05:50Alur kerja yang sepenuhnya berbeda di sini.
00:05:52Hasora sangat bagus untuk GraphQL cepat, tapi Directus melangkah lebih jauh dari itu.
00:05:58Anda mendapatkan API.
00:05:59Ya, kita mendapatkannya, tapi kita juga mendapatkan ruang kerja admin, izin, berkas, dan otomatisasi.
00:06:05Dan inilah bagian yang paling dipedulikan kebanyakan dev setelah mencobanya: izin akses.
00:06:10Saya tidak hanya berbicara tentang sekadar aturan di sini.
00:06:12Kita berbicara tentang kontrol nyata tanpa plugin.
00:06:15Jadi jika masalah Anda adalah "saya butuh backend," Anda punya pilihan.
00:06:18Jika masalah Anda adalah "saya tidak ingin membangun ulang backend saya lagi," ini berbeda.
00:06:23Sekarang, jelas tidak ada alat yang sempurna, tapi ini cukup rapi.
00:06:26Apa yang menurut saya sangat keren?
00:06:28Yah, izin aksesnya langsung berfungsi.
00:06:29Itu luar biasa.
00:06:30Alur (flows) menghilangkan banyak pekerjaan rutin yang kita lakukan.
00:06:32UI-nya sangat bersih dan cepat, serta mudah diterapkan dengan Docker.
00:06:37Selain itu semua, ia berskala dengan sangat baik.
00:06:39Tapi dengan semua hal baik ini, tentu saja, selalu ada kekurangannya.
00:06:43Jadi pengorbanannya adalah hal-hal seperti alur tingkat lanjut bisa memakan waktu, kan?
00:06:46Jika Anda pernah mencoba N8N atau yang lainnya, Anda pasti paham.
00:06:49Dokumentasinya tidak selalu lengkap.
00:06:51Dan jika Anda melakukan self-host, Anda perlu mengelola infrastrukturnya sendiri.
00:06:54Plus, pengaturan yang rumit bisa menjadi berantakan secara lokal.
00:06:57Directus hanya menghilangkan jenis pekerjaan backend berulang yang sangat spesifik.
00:07:00Jadi, apakah Directus sepadan?
00:07:02Bagi banyak dari kita, kemungkinan besar ya.
00:07:03Itu tergantung pada apa yang kita lakukan, terutama jika Anda sudah memiliki data SQL, atau jika Anda
00:07:07lelah membangun ulang backend dasar yang kita lakukan terus-menerus berulang kali, maka ya,
00:07:11ini memberikan nilai yang nyata.
00:07:13Ini menghemat waktu, mengurangi pemeliharaan, dan Anda tetap memegang kendali atas datanya.
00:07:17Sekali lagi, ini adalah sumber terbuka.
00:07:19Kita yang mengendalikannya.
00:07:20Kapan Anda tidak sebaiknya menggunakan ini?
00:07:22Yah, jika Anda menggunakan Typescript yang ketat, seperti monorepo besar, mungkin tidak, kan?
00:07:26Jika Anda belum memiliki database, mungkin tidak.
00:07:29Dan jika Anda ingin semuanya didefinisikan dalam kode sejak awal, maka sesuatu seperti Payload
00:07:33jauh lebih masuk akal di sini.
00:07:34Tetapi jika Anda berpikir sekarang, "Tunggu, ini bisa langsung berada di atas database saya?"
00:07:38Ya, bisa.
00:07:39Jadi mungkin patut dicoba.
00:07:41Jika Anda menyukai alat sumber terbuka dan tip pengodean seperti ini, pastikan untuk berlangganan ke
00:07:45saluran Better Stack.
00:07:46Sampai jumpa di video lainnya.

Key Takeaway

Directus mengeliminasi pengulangan pembuatan backend CRUD dengan menyediakan lapisan API dan dashboard admin instan yang beroperasi langsung di atas database SQL tanpa mengubah struktur data aslinya.

Highlights

Directus terhubung langsung ke database SQL yang sudah ada seperti Postgres, MySQL, atau Oracle tanpa memerlukan migrasi data atau pembangunan ulang skema.

Platform ini menyediakan API REST dan GraphQL secara instan beserta panel admin untuk mengelola konten database tanpa menulis kode backend repetitif.

Sistem izin akses tingkat lapangan memungkinkan pengaturan hak baca, buat, perbarui, dan hapus (CRUD) secara spesifik untuk setiap koleksi data.

Fitur otomatisasi Flows memungkinkan pengiriman email otomatis atau pemicu lainnya segera setelah item baru dibuat dalam database.

Berbeda dengan Strapi atau Payload yang menggunakan pendekatan code-first, Directus menggunakan model database-first sehingga SQL asli tetap dapat diakses oleh sistem lama.

Instalasi dan penerapan platform ini dapat dilakukan dengan cepat menggunakan Docker untuk memodernisasi infrastruktur database yang sudah ada.

Timeline

Masalah Repetisi dalam Pengembangan Backend

  • Pembangunan ulang fitur CRUD, autentikasi, dan manajemen berkas menghabiskan waktu pengembangan yang signifikan.
  • Directus berfungsi sebagai lapisan API real-time dan dasbor aplikasi yang berada di atas database SQL.
  • Koneksi langsung ke database menghilangkan kebutuhan untuk menduplikasi skema atau melakukan migrasi ke platform lain.

Banyak pengembang terjebak dalam siklus membangun fitur dasar yang sama berulang kali untuk setiap proyek baru. Masalah utama dalam pengembangan backend seringkali bukan kompleksitas teknis, melainkan tugas-tugas rutin yang membosankan. Directus mengatasi hal ini dengan memberikan akses instan ke API REST, GraphQL, dan langganan real-time segera setelah terhubung ke database.

Membangun Aplikasi Manajemen Pesanan dalam Satu Menit

  • Pembuatan koleksi data dan kolom seperti nama pelanggan, email, dan status produk dilakukan melalui antarmuka visual.
  • Sistem ini tidak memerlukan penulisan kode SQL manual atau pembuatan berkas migrasi skema.
  • Data yang dimasukkan melalui UI admin langsung tersimpan dalam tabel database yang sesuai secara real-time.

Proses dimulai dari kanvas kosong tanpa tabel yang dimuat sebelumnya untuk menunjukkan kecepatan konfigurasi. Pengembang dapat menentukan tipe data seperti dropdown untuk status atau kolom khusus untuk jumlah pesanan melalui dashboard. Pendekatan visual ini mempercepat pembuatan struktur data tanpa harus berpindah tab untuk menulis berkas skema secara manual.

Keamanan Data dan Otomatisasi Alur Kerja

  • Izin akses publik dikontrol dengan mematikan fungsi buat, perbarui, dan hapus pada koleksi tertentu.
  • Fitur Flows mengintegrasikan logika otomatisasi seperti pemicu email saat ada pesanan baru yang masuk ke sistem.
  • Pengujian pengiriman email dilakukan menggunakan Mailpit di dalam konfigurasi Docker Compose.

Keamanan sistem ditingkatkan dengan mengatur peran pengguna dan izin akses pada tingkat koleksi data untuk mencegah akses yang tidak sah. Melalui fitur Flows, pengembang dapat menarik data spesifik dari pesanan baru dan mengirimkannya sebagai notifikasi email tanpa menulis logika backend tambahan. Integrasi ini memberikan kemampuan yang mirip dengan alat seperti Zapier tetapi terintegrasi langsung di dalam platform data.

Perbandingan Directus dengan Platform Backend Lain

  • Model database-first memastikan tidak adanya keterikatan vendor (no lock-in) karena SQL tetap berfungsi untuk sistem lama.
  • Strapi dan Payload memerlukan definisi skema dalam kode yang menambah beban kerja pengembangan.
  • Hasura fokus pada kecepatan GraphQL, sementara Directus menyediakan ruang kerja admin, manajemen berkas, dan otomatisasi yang lebih lengkap.

Pembeda utama platform ini adalah posisinya yang berada tepat di atas database, bukan di sampingnya. Hal ini memungkinkan modernisasi sistem lama (legacy) tanpa harus menulis ulang seluruh infrastruktur. Pengembang mendapatkan kendali penuh atas data asli mereka sambil menikmati fasilitas UI admin yang bersih dan sistem izin akses tingkat lanjut tanpa perlu plugin tambahan.

Kelebihan, Kekurangan, dan Kapan Harus Menggunakannya

  • Keunggulan utama terletak pada izin akses yang siap pakai, UI yang cepat, dan kemudahan penerapan dengan Docker.
  • Kekurangan mencakup dokumentasi yang tidak selalu lengkap dan beban pengelolaan infrastruktur pada model self-host.
  • Platform ini kurang cocok untuk proyek dengan ketergantungan TypeScript yang sangat ketat atau jika skema harus didefinisikan dalam kode sejak awal.

Meskipun sangat efisien untuk menghilangkan pekerjaan backend yang berulang, alur kerja tingkat lanjut dalam platform ini memerlukan waktu untuk dipelajari. Directus memberikan nilai nyata bagi mereka yang sudah memiliki data SQL atau ingin mengurangi pemeliharaan backend dasar. Namun, untuk monorepo besar yang mengutamakan definisi skema dalam kode, alternatif seperti Payload mungkin lebih relevan.

Community Posts

View all posts