Bagaimana Cara Membangun Backend untuk Ruby On Rails?
Dalam tutorial ini, Anda akan belajar bagaimana membangun backend untuk Ruby on Rails menggunakan Back4App.
Kita akan menjelajahi langkah-langkah kunci untuk mengintegrasikan aplikasi Rails Anda dengan fitur-fitur penting Back4App—seperti interaksi database, Fungsi Cloud Code, API REST dan GraphQL, otentikasi pengguna, dan kueri waktu nyata (Kueri Langsung)—semua berjalan di sisi server.
Dengan memanfaatkan bahasa pemrograman Ruby, Anda akan membangun arsitektur yang kuat dan dapat diskalakan yang sejalan dengan pola pengendali tampilan MVC di Rails, memungkinkan pengembang untuk mempercepat pengembangan aplikasi web.
Anda juga akan menemukan bagaimana Back4App secara drastis mengurangi waktu dan usaha dengan menyederhanakan manajemen server dan database.
Fitur otomatis ini dapat menyelamatkan Anda dari pengaturan server web secara manual atau menghadapi infrastruktur yang kompleks.
Pada akhirnya, Anda akan memiliki struktur yang fleksibel dan aman, siap untuk produksi atau ekspansi lebih lanjut—seperti integrasi tambahan dan logika kustom yang lebih canggih.
Apakah Anda ingin menyajikan halaman web atau menggerakkan aplikasi web berbasis data, Rails dan Back4App menawarkan sinergi yang mulus untuk menciptakan solusi modern dalam bahasa pemrograman yang populer.
Untuk menyelesaikan tutorial ini, Anda akan memerlukan:
- Akun Back4App dan proyek Back4App baru Memulai dengan Back4app. Jika Anda tidak memiliki akun, Anda dapat membuatnya secara gratis. Ikuti panduan di atas untuk menyiapkan proyek Anda.
- Lingkungan pengembangan Ruby on Rails Pastikan Anda telah menginstal Ruby (sebaiknya versi 2.7 atau lebih tinggi) dan gem Rails (Rails 6 atau lebih tinggi). Instal Rails
- Klien Ruby Parse Jika Anda berniat menggunakan SDK Parse secara langsung, Anda dapat menginstal parse-ruby-client gem untuk menangani operasi data dengan Back4App.
- Keterampilan dengan Rails MVC Jika Anda baru mengenal Ruby on Rails, tinjau panduan resmi Rails atau tutorial pemula untuk memahami arsitektur MVC controller tampilan Rails sebelum memulai.
Pastikan prasyarat ini sudah terpenuhi sebelum Anda mulai. Memiliki proyek Back4App Anda yang sudah disiapkan, ditambah dengan aplikasi Rails yang sudah siap, memastikan pengalaman tutorial yang lancar.
Langkah pertama dalam menyiapkan backend sisi server untuk aplikasi Rails Anda adalah membuat proyek baru di Back4App. Jika Anda belum melakukannya:
- Masuk ke akun Back4app Anda.
- Klik tombol “Aplikasi Baru” di dasbor Back4App Anda.
- Beri nama aplikasi Anda (misalnya, “Rails-Backend-Tutorial”).

Setelah proyek dibuat, itu akan terlihat di dasbor Back4App Anda. Proyek baru ini membentuk inti dari semua konfigurasi backend dalam tutorial ini.
Untuk memperlancar interaksi basis data dan kueri waktu nyata, Back4App menggunakan platform Parse. Jika Anda ingin mengintegrasikan server Rails Anda dengan Parse secara langsung, Anda dapat menginstal gem parse-ruby-client. Jika tidak, Anda dapat mengandalkan endpoint REST atau GraphQL standar.
Ambil Kunci Parse Anda: Di dasbor Back4App Anda, pergi ke “Pengaturan Aplikasi” atau “Keamanan & Kunci” aplikasi Anda untuk menemukan ID Aplikasi dan Kunci API REST. Anda juga akan mendapatkan URL Server Parse (misalnya, https://parseapi.back4app.com).

Tambahkan gem parse-ruby-client ke Gemfile:
Kemudian jalankan:
Inisialisasi Parse dalam inisialisasi, seperti config/initializers/parse.rb:
Pada titik ini, aplikasi Rails Anda dapat berkomunikasi dengan Back4App untuk menyimpan dan mengambil data, mengatur logika kustom, dan lainnya. Pendekatan terintegrasi ini menyederhanakan cara aplikasi Ruby on Rails Anda menangani backend.
Dalam banyak aplikasi web, Anda mendefinisikan struktur data Anda di Rails menggunakan migrasi ActiveRecord. Dengan Back4App, Anda juga memiliki opsi untuk membangun skema Anda langsung di dasbor. Misalnya, jika Anda memiliki model Todo:
- Navigasikan ke “Database” di dasbor Back4App Anda.
- Buat kelas baru bernama “Todo” dan tambahkan kolom seperti title (String) dan isCompleted (Boolean).

Back4App mendukung String, Number, Boolean, Date, File, Pointer, Relation, Array, GeoPoint, dan Polygon. Rails biasanya mengelola ini dalam definisi modelnya, tetapi Anda juga dapat membiarkan Parse membuat kolom secara otomatis saat penyimpanan pertama (jika Anda menggunakan Parse SDK atau REST/GraphQL APIs).

Agen AI Back4App dapat mengotomatiskan pembuatan skema:
- Buka Agen AI dari dasbor Anda.
- Deskripsikan model data Anda (misalnya, “Silakan buat aplikasi ToDo baru dengan skema kelas yang lengkap.”).
- Biarkan agen menghasilkan skema Anda.

Jika Anda memilih untuk mengintegrasikan parse-ruby-client, Anda dapat menyimpan catatan seperti ini:
Sebagai alternatif, Anda dapat menggunakan panggilan REST dari dalam kode Rails Anda (atau klien eksternal mana pun). Misalnya, untuk membuat sebuah Todo:
Back4App juga menawarkan GraphQL:
Jika Anda ingin pembaruan waktu nyata di aplikasi Rails Anda, Anda dapat berlangganan Live Queries dari klien front-end atau WebSocket. Aktifkan Live Queries di Pengaturan Server Back4App Anda, lalu sambungkan ke wss://YOUR_SUBDOMAIN.b4a.io untuk aliran perubahan yang sedang berlangsung. Ini berguna untuk aplikasi web dinamis yang memerlukan penyegaran data segera.
Keamanan sangat penting dalam pengembangan aplikasi web. Back4App menawarkan Daftar Kontrol Akses (ACL) dan Izin Tingkat Kelas (CLP) untuk mengontrol visibilitas data di tingkat objek dan kelas. Ini membantu memastikan hanya pengguna yang terautentikasi atau berwenang yang dapat membaca/menulis data sensitif.

- Pergi ke Database di dasbor Back4App Anda.
- Pilih Kelas (misalnya, “Todo”).
- Buka tab CLP untuk mengonfigurasi akses baca/tulis berdasarkan peran, pengguna terautentikasi, atau publik.
Anda dapat mengatur ACL pada objek sehingga hanya pengguna tertentu yang dapat membacanya atau memodifikasinya. Di Rails dengan parse-ruby-client, mungkin terlihat seperti ini:
Cloud Code menjalankan JavaScript sisi server, memungkinkan pengembang untuk menambahkan logika kustom, pemicu, dan validasi tanpa mengelola server web. Anda mungkin ingin menangani logika server tambahan atau melakukan pemeriksaan sebelum menyimpan data.
Di bawah ini adalah contoh dalam JavaScript. Sementara server Rails Anda menangani aplikasi utama, Anda masih dapat menggunakan Cloud Code untuk memproses data:
Terapkan melalui Back4App CLI atau dari Dasbor Back4App. Cloud Code adalah cara yang nyaman untuk mengenkapsulasi logika yang dibagikan di antara semua klien, terlepas dari bahasa pemrograman yang mereka gunakan. Dengan dukungan modul berbasis node (NPM), Anda dapat mengintegrasikan paket eksternal dengan mulus.
Back4App mengelola pendaftaran pengguna, login, dan sesi dengan kelas Pengguna bawaan Parse. Anda dapat membuat pengguna dengan panggilan REST atau melalui SDK resmi mana pun.
Anda dapat mengintegrasikan alur masuk Facebook, Google, atau Apple. Setiap penyedia memiliki pendekatan yang sedikit berbeda, tetapi prinsip utamanya adalah menukar token dengan Parse. Periksa Dokumentasi Login Sosial untuk detail tentang cara mengintegrasikan ini ke dalam aplikasi rails.
Menggunakan Parse untuk file semudah mengunggahnya melalui API Parse. Jika Anda menggunakan parse-ruby-client:
Anda kemudian dapat melampirkan file ini ke objek:

- Aktifkan verifikasi email di Dasbor Back4App Anda di bawah Pengaturan Email.
- Atur reset kata sandi dengan menyesuaikan template email dan pengaturan domain.
- Trigger alur email secara otomatis setelah pendaftaran pengguna atau ketika pengguna meminta reset kata sandi. Ini memastikan keamanan yang lebih baik dan membantu mengonfirmasi kepemilikan email yang valid.
Jika Anda ingin mengotomatiskan tugas seperti membersihkan data atau mengirim ringkasan harian, gunakan Pekerjaan Cloud:
Anda dapat menjadwalkan pekerjaan semacam itu di Dasbor Back4App di bawah Pengaturan Server > Pekerjaan Latar Belakang untuk dijalankan setiap hari atau pada interval yang diinginkan.
Webhook memungkinkan aplikasi Back4App Anda mengirim data ke URL eksternal setiap kali peristiwa tertentu terjadi. Anda dapat meneruskan data objek baru atau yang diperbarui ke sistem lain—seperti Stripe atau Slack.
- Pergi ke Lebih Banyak > WebHooks di dasbor Back4App Anda.
- Tambahkan webhook baru yang mengarah ke URL eksternal Anda (misalnya, rute di pengontrol Rails Anda).
- Tentukan peristiwa yang memicu webhook.

Jika Anda mau, Anda juga dapat memicu webhook dari Cloud Code dengan membuat permintaan HTTP dalam fungsi beforeSave atau afterSave.

Aplikasi Back4App Admin App menawarkan cara yang ramah pengguna bagi tim non-teknis atau klien untuk melakukan operasi CRUD pada data Back4App Anda. Antarmuka ini menghilangkan kebutuhan untuk perubahan kode langsung atau penggunaan Parse Dashboard untuk tugas dasar.
Anda dapat mengaktifkan Aplikasi Admin dari dasbor Anda dengan pergi ke More > Admin App dan mengklik Enable Admin App.

Setelah diaktifkan, Anda dapat:
- Membuat dan mengelola data tanpa menulis kueri.
- Memantau log, menjadwalkan pekerjaan latar belakang, dan menangani notifikasi push (jika diaktifkan).
- Memberikan akses berbasis peran kepada anggota tim untuk pengeditan yang lebih aman.

Selamat! Anda telah belajar bagaimana membangun backend untuk Ruby on Rails menggunakan Back4App. Dalam tutorial ini, Anda telah:
- Mengonfigurasi proyek Rails untuk berinteraksi dengan Back4App melalui REST, GraphQL, atau Parse Ruby Client.
- Menyiapkan interaksi database yang aman menggunakan skema kelas, ACL, CLP, dan Kuery Langsung opsional.
- Mengintegrasikan otentikasi pengguna dengan verifikasi email dan pengaturan ulang kata sandi.
- Menyebarkan Cloud Code untuk logika kustom, pemicu, dan tugas terjadwal.
- Mengelola unggahan file, memanfaatkan webhook, dan menjelajahi Panel Admin.
Dengan menggabungkan arsitektur MVC Ruby on Rails dengan fitur kuat Back4App, aplikasi rails Anda dapat berkembang dengan mulus.
Anda akan menghemat waktu yang cukup besar dalam mengelola infrastruktur, memungkinkan Anda berkonsentrasi pada pembangunan aplikasi web dengan pengalaman pengguna yang lebih baik dan logika sisi server yang dapat diandalkan.
- Perluas aplikasi Rails Anda dengan menambahkan hubungan yang lebih kompleks, strategi caching, atau integrasi lanjutan.
- Inkorporasi API pihak ketiga (seperti gerbang pembayaran) dan manfaatkan Cloud Code untuk pengembangan aplikasi web yang lebih dalam.
- Jelajahi dokumentasi resmi Back4App untuk keamanan lanjutan, penyetelan kinerja, analisis log, dan lainnya.
- Bereksperimen dengan fitur waktu nyata untuk membuat aplikasi chat atau platform kolaboratif—ideal untuk data yang sering berubah.
Dengan dasar-dasar ini, Anda dapat dengan cepat mengembangkan, mengiterasi, dan menskalakan server Rails Anda untuk aplikasi web modern. Selamat coding!
