Cara Membuat Aplikasi CRUD dengan Gatsby?
Dalam panduan ini, Anda akan menemukan cara membangun aplikasi web CRUD (buat, baca, perbarui, hapus) menggunakan Gatsby.
Kami akan menggunakan Back4app sebagai backend cloud Anda untuk mengelola data dengan mudah. Panduan ini akan memandu Anda melalui konfigurasi proyek Back4app, mendefinisikan skema yang fleksibel, dan menghubungkan aplikasi Gatsby Anda dengan panggilan API REST atau GraphQL untuk melakukan operasi CRUD.
Pertama, Anda akan mengatur proyek Back4app yang bernama Basic-CRUD-App-Gatsby. Proyek ini memberi Anda akses ke database non-relasional yang kuat. Anda akan merancang skema data Anda dengan membuat kelas dan bidang secara manual di dasbor Back4app atau dengan memanfaatkan AI Agent Back4app.
Selanjutnya, Anda akan menggunakan Aplikasi Admin Back4app—antarmuka seret dan lepas—untuk menangani tugas manajemen data dengan mudah.
Akhirnya, Anda akan mengintegrasikan aplikasi Gatsby Anda dengan API Back4app (melalui REST atau GraphQL) untuk menjalankan operasi CRUD yang aman.
Pada akhir tutorial ini, Anda akan mengembangkan aplikasi Gatsby yang siap produksi yang melakukan operasi CRUD dasar dengan penanganan data yang aman dan otentikasi pengguna.
- Pelajari cara membuat aplikasi CRUD dengan Gatsby yang didukung oleh backend low-code.
- Pahami cara menyusun backend Anda dan menghubungkannya dengan situs Gatsby modern.
- Manfaatkan Aplikasi Admin Back4app yang intuitif untuk mengelola pembuatan, pembacaan, pembaruan, dan penghapusan data.
- Temukan opsi penyebaran termasuk strategi kontainerisasi untuk aplikasi Gatsby Anda.
Sebelum Anda mulai, pastikan Anda memiliki:
- Lingkungan Node.js dengan Gatsby CLI terinstal. Gunakan Node.js dan instal Gatsby melalui npm install -g gatsby-cli.
- Masuk ke akun Back4app Anda.
- Klik pada “Aplikasi Baru” dari dasbor Anda.
- Beri nama proyek Anda: Basic-CRUD-App-Gatsby dan selesaikan langkah-langkah pengaturan.

Setelah dibuat, proyek Anda akan muncul di dasbor, siap untuk konfigurasi backend.
Untuk aplikasi CRUD ini, Anda perlu menyiapkan beberapa kelas di Back4app. Di bawah ini adalah contoh kelas dan bidang yang penting.
Kelas ini menyimpan rincian tentang setiap item.
Bidang | Tipe Data | Deskripsi |
---|---|---|
_id | ObjectId | Pengidentifikasi unik yang dihasilkan secara otomatis. |
judul | String | Nama barang. |
deskripsi | String | Deskripsi singkat tentang item tersebut. |
dibuatPada | Tanggal | Timestamp ketika item dibuat. |
diperbaruiPada | Tanggal | Timestamp ketika item terakhir diperbarui. |
Kelas ini menangani kredensial pengguna dan otentikasi.
Bidang | Tipe Data | Deskripsi |
---|---|---|
_id | ObjectId | ID unik yang dihasilkan secara otomatis. |
nama pengguna | String | Pengidentifikasi unik untuk pengguna. |
String | Alamat email unik pengguna. | |
hashKataSandi | String | Kata sandi terenkripsi untuk masuk. |
dibuatPada | Tanggal | Stempel waktu pembuatan akun. |
diperbaruiPada | Tanggal | Stempel waktu pembaruan akun terbaru. |
Anda dapat menambahkan kelas dan bidang ini langsung di dasbor Back4app.

Anda dapat mendefinisikan bidang dengan memilih tipe data, memberi nama bidang, mengatur default, dan menandai bidang yang diperlukan.

Agen AI Back4app dapat secara otomatis membangun skema Anda berdasarkan spesifikasi Anda. Ini mempercepat pengaturan dan memastikan model data Anda mendukung semua operasi CRUD.
- Buka Agen AI: Masuk ke dasbor Back4app Anda dan temukan Agen AI di bawah pengaturan proyek Anda.
- Masukkan Kebutuhan Anda: Jelaskan kelas dan bidang yang Anda butuhkan.
- Tinjau dan Terapkan: Agen akan menyarankan skema. Tinjau dan konfirmasi untuk menerapkannya.
Pendekatan yang dibantu AI ini memastikan skema data yang konsisten dan efisien.
Aplikasi Admin Back4app menyediakan antarmuka tanpa kode untuk manajemen data backend. Fitur drag and drop yang ramah pengguna menyederhanakan operasi CRUD seperti menambahkan, melihat, memperbarui, dan menghapus catatan.
- Pergi ke menu “Lainnya” di dasbor Back4app Anda.
- Pilih “Aplikasi Admin” dan klik “Aktifkan Aplikasi Admin.”
- Konfigurasikan kredensial admin Anda dengan mengatur akun admin pertama. Langkah ini juga membuat peran (misalnya, B4aAdminUser) dan kelas sistem.

Setelah diaktifkan, masuk ke Aplikasi Admin untuk mengelola data backend Anda.

Di dalam Aplikasi Admin, Anda dapat:
- Menyisipkan Catatan: Gunakan fitur “Tambahkan Catatan” di sebuah kelas (seperti Item) untuk membuat entri baru.
- Memeriksa/Memperbarui Catatan: Klik pada entri mana pun untuk melihat detail atau mengubah informasi.
- Menghapus Catatan: Hapus catatan yang sudah usang atau tidak diperlukan.
Antarmuka yang disederhanakan ini membuat manajemen data cepat dan intuitif.
Dengan backend Anda yang sudah disiapkan, fase berikutnya adalah menghubungkan aplikasi Gatsby Anda ke Back4app.
Kita akan memanfaatkan panggilan REST atau GraphQL untuk berkomunikasi dengan Back4app. Opsi kedua adalah menggunakan SDK.
Anda dapat menggunakan fetch API JavaScript untuk mengambil data. Misalnya, untuk memuat item dari Back4app:
Untuk menambahkan item baru, gunakan permintaan POST:
Anda juga dapat menerapkan fungsi pembaruan dan penghapusan dengan menggunakan metode PUT/POST dan DELETE.
Integrasikan panggilan API ini ke dalam halaman atau komponen Gatsby Anda untuk mengelola data secara dinamis.
Lindungi data Anda dengan mengatur Daftar Kontrol Akses (ACL) di Back4app. Misalnya, untuk membuat item yang hanya terlihat oleh pemiliknya:
Atur CLP di dasbor Back4app Anda untuk menegakkan aturan akses default, memastikan hanya pengguna yang terautentikasi yang dapat mengakses kelas tertentu.
Back4app memanfaatkan kelas Pengguna bawaan Parse untuk autentikasi. Di aplikasi Gatsby Anda, kelola pendaftaran dan login pengguna melalui panggilan API.
Pendekatan ini dapat diperluas untuk mengelola sesi, pengaturan ulang kata sandi, dan lainnya.
Back4app mendukung proses penyebaran yang lancar. Anda dapat menyebarkan aplikasi Gatsby Anda menggunakan beberapa metode, termasuk kontainerisasi.
Instal Dependensi: Jalankan:
Bangun Situs: Gunakan perintah build Gatsby:
Uji Secara Lokal: Layani build produksi Anda untuk memverifikasi fungsionalitas:
Struktur proyek Gatsby yang khas mungkin terlihat seperti:
Jika Anda lebih suka penyebaran terkontainer, tambahkan Dockerfile:
- Tautkan Repositori Anda: Host kode sumber Gatsby Anda di GitHub.
- Konfigurasi Penyebaran: Di dasbor Back4app, pilih Penyebaran Web, sambungkan repositori Anda (misalnya, Basic-CRUD-App-Gatsby), dan pilih cabang.
- Atur Perintah Bangun: Tentukan perintah bangun (misalnya, npm run build) dan direktori keluaran.
- Sebarkan: Klik Sebarkan dan pantau log hingga situs Anda aktif.
Kerja bagus! Anda telah membangun aplikasi CRUD berbasis Gatsby yang terintegrasi dengan Back4app.
Anda telah menyiapkan proyek bernama Basic-CRUD-App-Gatsby, mendefinisikan model data Anda, mengelola data dengan Admin App, dan menghubungkan front end Gatsby Anda ke Back4app menggunakan panggilan API REST/GraphQL.
Langkah Selanjutnya:
- Tingkatkan Aplikasi Anda: Pertimbangkan untuk menambahkan pencarian lanjutan, tampilan rinci, atau pembaruan waktu nyata.
- Perluas Kemampuan Backend: Jelajahi fungsi cloud, integrasi API pihak ketiga, atau kontrol akses berbasis peran yang lebih baik.
Selamat coding dan nikmati membangun aplikasi CRUD Gatsby Anda!
