Cara Membangun Backend untuk Gatsby?
Dalam tutorial ini, Anda akan belajar cara membangun backend untuk Gatsby menggunakan Back4App.
Kami akan menunjukkan kepada Anda cara mengintegrasikan fitur-fitur Back4App—seperti manajemen database, Cloud Code Functions, REST API dan kemampuan kueri GraphQL, otentikasi pengguna, dan kueri waktu nyata (Live Queries)—untuk membuat backend yang aman, dapat diskalakan, dan kuat yang dapat diakses dari situs Gatsby Anda.
Anda juga akan melihat bagaimana pengaturan cepat Back4App dan lingkungan yang intuitif dapat secara drastis mengurangi waktu dan usaha yang diperlukan untuk menangani tugas backend.
Pada akhir tutorial, Anda akan tahu persis cara membangun backend untuk Gatsby yang menyimpan dan mengambil data, menangani otentikasi, mengintegrasikan fungsi cloud, dan banyak lagi.
Ini mempersiapkan Anda untuk dengan mudah menggabungkan logika kustom, menambahkan API pihak ketiga, atau memperluas model data Anda tanpa harus khawatir tentang pemeliharaan server tradisional.
- Integrasi Backend Lengkap: Anda akan membuat struktur backend yang dapat diskalakan untuk situs Gatsby Anda, menggabungkan Parse SDK, yang sempurna untuk kebutuhan data dinamis.
- Penghematan Waktu: Back4App menyediakan alat seperti AI Agent, kueri waktu nyata, dan pekerjaan cloud yang mempercepat pembuatan backend.
- Keterampilan yang Dapat Diperluas: Setelah selesai, Anda akan dapat menyesuaikan konsep-konsep ini untuk fitur Gatsby yang lebih canggih, seperti membuat halaman pada waktu build atau menghubungkan ke fungsi tanpa server untuk operasi dinamis.
- Akun Back4App dan proyek Back4App baru Memulai dengan Back4app. Jika Anda belum memiliki akun, Anda dapat membuatnya secara gratis. Ikuti panduan di atas untuk menyiapkan proyek Anda.
- Lingkungan pengembangan Gatsby dasar Anda dapat menyiapkannya dengan menginstal Gatsby CLI dan menjalankan:
- Keterampilan dalam JavaScript dan konsep Gatsby Dokumentasi Resmi Gatsby. Baca dokumen atau tutorial pemula jika Anda baru mengenal Gatsby.
Pastikan Anda telah menyiapkan persyaratan ini. Ini memastikan pengalaman yang lancar saat Anda membuat file baru untuk konfigurasi atau menjalankan kueri GraphQL di lingkungan Gatsby Anda.
Langkah pertama dalam cara membangun backend untuk Gatsby di Back4App adalah membuat proyek baru. Jika Anda belum melakukannya:
- Masuk ke akun Back4App Anda.
- Klik tombol “Aplikasi Baru” di dasbor Anda.
- Beri nama aplikasi Anda (misalnya, “Gatsby-Backend-Tutorial”).

Setelah Anda membuat proyek, itu akan muncul di dasbor Back4App Anda. Kami akan menggunakan proyek ini sebagai inti dari backend kami.
Back4App menggunakan Parse Platform untuk mengelola data Anda, menawarkan fitur waktu nyata, menangani otentikasi pengguna, dan banyak lagi. Untuk Gatsby, Anda masih bisa npm install parse dan kemudian mengintegrasikannya ke dalam file sumber Anda:
Ambil Kunci Parse Anda: Di dasbor Back4App Anda, temukan Application ID dan JavaScript Key, biasanya di bawah “Pengaturan Aplikasi” atau “Keamanan & Kunci.” Anda juga akan menemukan Parse Server URL (sering kali sesuatu seperti https://parseapi.back4app.com).

Instal Parse SDK di situs Gatsby Anda:
Buat parseConfig.js di direktori root proyek Gatsby Anda atau di dalam src/:
Setiap kali Anda mengimpor Parse dari parseConfig.js di file Gatsby Anda (misalnya, di gatsby-node.js, gatsby-browser.js, atau halaman/komponen), Anda akan memiliki instance yang sudah dikonfigurasi untuk melakukan kueri ke backend Back4App Anda.
Di Back4App, data dikelola sebagai “kelas” (mirip dengan tabel) dengan bidang untuk data Anda. Mari kita buat kelas “Todo” untuk demonstrasi. Kami akan menunjukkan beberapa cara Anda dapat menyimpan dan mengambil data di Gatsby dengan Parse.
- Navigasikan ke bagian “Database” di dasbor Back4app.
- Buat kelas baru (misalnya, “Todo”) dan tambahkan kolom seperti judul (String) dan isCompleted (Boolean).

Atau Anda dapat membiarkan Parse secara otomatis membuat kolom saat objek pertama kali disimpan dari kode Anda.
Back4App menyediakan Agen AI untuk membantu mendefinisikan struktur data Anda.
- Buka Agen AI dari Dasbor Aplikasi Anda atau menu.
- Deskripsikan model data Anda (misalnya, “Tolong buat skema aplikasi Todo baru dengan judul dan status penyelesaian.”).
- Biarkan Agen AI menghasilkan skema untuk Anda.

Cuplikan contoh di Gatsby bisa terlihat seperti ini (misalnya, di halaman berbasis React atau di gatsby-browser.js):
Sebagai alternatif, Anda dapat berinteraksi dengan database melalui REST API:
Back4App juga mendukung GraphQL API, jadi Anda bisa menjalankan kueri atau mutasi seperti:
Ini sangat nyaman jika Anda ingin situs Gatsby Anda menarik data melalui kueri GraphQL saat waktu build.
Gatsby adalah generator situs statis, tetapi Anda masih dapat mengatur koneksi real-time dinamis menggunakan Parse Kueri Langsung. Ini bisa berguna dalam kode yang dijalankan di browser atau dalam hook serverless Anda sendiri.
- Aktifkan Kueri Langsung di dasbor Back4app Anda (di bawah Pengaturan Server).
- Tambahkan URL Server Kueri Langsung ke parseConfig.js:
- Berlangganan ke kelas untuk notifikasi real-time:
Ini akan mendorong pembaruan data real-time ke front-end proyek Gatsby Anda.
ACL (Daftar Kontrol Akses) memungkinkan Anda mendefinisikan izin pada objek individu, sementara CLP (Izin Tingkat Kelas) berlaku untuk seluruh kelas di database Back4App Anda.

- Pergi ke Database di Dasbor Back4App Anda.
- Pilih kelas (misalnya, Todo).
- Klik tab Class-Level Permissions.
- Konfigurasikan apakah kelas dapat dibaca publik, memerlukan autentikasi, atau dibatasi untuk peran tertentu.
Dalam kode Gatsby Anda, Anda dapat mendefinisikan ACL untuk setiap objek baru:
Dengan Cloud Code, Anda dapat menambahkan logika sisi server kustom ke backend Back4App Anda. Ini sangat baik untuk aturan bisnis, transformasi REST API, pemicu, atau validasi data yang mungkin ingin Anda jaga tetap aman dan tidak di sisi klien.
- Melalui Back4App CLI: Instal dan konfigurasikan CLI, lalu jalankan b4a deploy.
- Melalui Dashboard: Pergi ke Cloud Code > Functions di dashboard Anda, tempelkan kode Anda ke main.js, dan klik Deploy.

Dari Gatsby/Parse SDK:
Back4App menggunakan kelas Parse.User untuk autentikasi. Secara default, ia menangani hashing kata sandi, sesi, dan penyimpanan yang aman.
Setelah masuk, Anda dapat memanggil Parse.User.current() untuk memeriksa apakah seorang pengguna sudah masuk.
Anda dapat mengintegrasikan Google, Facebook, Apple, dan penyedia lainnya dengan pengaturan tambahan. Baca lebih lanjut di Dokumentasi Masuk Sosial.
Gunakan Parse.File untuk mengunggah gambar atau file lainnya. Misalnya, dalam komponen Gatsby:
Anda kemudian dapat melampirkan file ini ke Objek Parse, menyimpannya, dan kemudian mengambil URL file untuk ditampilkan di situs Gatsby Anda.
Verifikasi email mengonfirmasi alamat email pengguna, dan alur reset kata sandi meningkatkan pengalaman pengguna. Keduanya mudah dikonfigurasi di Back4App.
- Navigasikan ke Pengaturan Email aplikasi Anda di dasbor.
- Aktifkan verifikasi email dan atur template email reset kata sandi.
- Gunakan metode SDK Parse (misalnya, Parse.User.requestPasswordReset(email)) untuk memicu email reset.
Gunakan Pekerjaan Cloud untuk mengotomatiskan tugas berulang, seperti menghapus data yang tidak terpakai atau mengirim ringkasan harian. Misalnya:
Kemudian jadwalkan di bawah Pengaturan Aplikasi > Pengaturan Server > Pekerjaan Latar Belakang.

Webhook memungkinkan aplikasi Back4App Anda mengirim permintaan HTTP ke layanan eksternal ketika peristiwa tertentu terjadi—seperti pembuatan catatan baru.
- Pergi ke dasbor Back4App Anda > Lainnya > WebHooks.
- Tambahkan Webhook baru, dengan menentukan URL endpoint untuk layanan eksternal.
- Pilih apa yang memicu Webhook (misalnya, afterSave pada kelas Todo).

Anda juga dapat mengintegrasikan dengan Slack atau gateway pembayaran dengan menambahkan endpoint yang tepat.
Aplikasi Admin App Back4App adalah antarmuka yang berfokus pada model untuk manajemen data. Anda dapat memberikan akses aman kepada pengguna non-teknis untuk melakukan operasi CRUD pada kelas Anda.
Pergi ke Dasbor Aplikasi > Lainnya > Aplikasi Admin dan klik “Aktifkan Aplikasi Admin.”

Kemudian buat Pengguna Admin dan pilih subdomain untuk antarmuka admin.

Anda sekarang dapat masuk ke Aplikasi Admin Anda untuk melihat dan memodifikasi data tanpa menulis kode.

Dalam tutorial ini, Anda menemukan cara membangun backend untuk Gatsby menggunakan Back4App. Anda telah belajar untuk:
- Mengonfigurasi database yang aman dengan kelas, bidang kustom, dan hubungan.
- Menggunakan Parse SDK, bersama dengan REST API dan query GraphQL untuk transaksi data.
- Mengatur ACL dan CLP untuk keamanan data.
- Menulis dan menerapkan Cloud Code untuk memperluas logika bisnis dan pemicu.
- Mengelola otentikasi pengguna dengan pendaftaran, login, reset kata sandi, dan verifikasi email.
- Menangani penyimpanan file untuk gambar dan dokumen.
- Menjadwalkan tugas otomatis dengan Cloud Jobs.
- Mengintegrasikan layanan eksternal melalui Webhooks.
- Memanfaatkan Admin App untuk administrasi data yang mudah.
Dengan keterampilan ini, situs Gatsby Anda dapat memanfaatkan fitur dinamis yang kuat sambil tetap memanfaatkan rendering statis Gatsby. Dari sini, Anda dapat:
- Memperluas model data Anda dan menambahkan logika bisnis yang canggih.
- Mengintegrasikan lebih banyak API eksternal untuk platform yang benar-benar komprehensif.
- Mengikuti dokumen resmi Back4App untuk penjelasan lebih dalam tentang keamanan, kinerja, dan analitik.
- Bereksperimen dengan fitur waktu build Gatsby—misalnya, “membuat halaman” dari data dinamis atau mengatur plugin “gatsby source” untuk backend Back4App Anda.
Sekarang Anda memiliki fondasi yang kuat untuk membangun aplikasi yang tahan masa depan dan berbasis data dengan Gatsby dan Back4App.
