Quickstarters
CRUD Samples
How to Build a Basic CRUD App with RedwoodJS? A Step-by-Step Guide
37 mnt
ikhtisar dalam panduan ini, anda akan belajar cara membuat aplikasi crud dasar (buat, baca, perbarui, hapus) menggunakan redwoodjs tutorial ini memandu anda melalui proses pengaturan proyek anda dengan back4app sebagai layanan backend anda, merancang skema database yang kuat, dan mengintegrasikannya dengan frontend redwoodjs dengan mengikuti langkah langkah ini, anda akan membangun aplikasi siap produksi yang mengelola data secara efektif sambil menerapkan teknik pengembangan modern wawasan penting kuasi pembuatan aplikasi crud yang menangani data dengan efisien menggunakan layanan backend yang kuat temukan cara merancang database yang dapat diskalakan dan menggabungkannya dengan antarmuka redwoodjs untuk meningkatkan interaksi pengguna jelajahi penggunaan alat manajemen tanpa kode drag and drop—aplikasi admin back4app—untuk memperlancar operasi crud pelajari strategi penyebaran, termasuk kontainerisasi dengan docker, untuk meluncurkan aplikasi web anda dengan cepat prasyarat sebelum anda mulai, pastikan anda memiliki hal hal berikut akun back4app yang aktif dengan proyek baru yang siap jika anda memerlukan panduan, lihat memulai dengan back4app https //www back4app com/docs/get started/new parse app lingkungan pengembangan redwoodjs yang sudah disiapkan gunakan cli redwoodjs untuk membuat aplikasi anda pastikan node js (versi 14 atau lebih baru) terinstal pemahaman dasar tentang javascript, redwoodjs, dan graphql untuk detail lebih lanjut, kunjungi dokumentasi redwoodjs https //redwoodjs com/docs/introduction langkah 1 – inisiasi proyek anda memulai proyek back4app baru masuk ke dasbor back4app anda pilih “aplikasi baru” untuk memulai proyek baru beri nama proyek anda basic crud app redwoodjs dan ikuti instruksi pengaturan buat proyek baru proyek anda sekarang akan muncul di dasbor, meletakkan dasar untuk konfigurasi dan manajemen backend anda langkah 2 – merancang skema database menyusun model data anda untuk aplikasi crud ini, anda akan merancang beberapa koleksi di bawah ini adalah contoh dari dua koleksi penting beserta bidang yang diperlukan pengaturan ini sangat penting untuk memungkinkan fungsionalitas crud yang dapat diandalkan 1\ koleksi item koleksi ini memuat rincian tentang setiap item bidang tipe data tujuan id objectid pengidentifikasi unik yang dihasilkan secara otomatis judul string nama atau judul item deskripsi string ringkasan singkat yang menggambarkan item tersebut dibuat pada tanggal stempel waktu pembuatan catatan diperbarui pada tanggal stempel waktu pembaruan terbaru 2\ koleksi pengguna koleksi ini menyimpan kredensial dan detail pengguna bidang tipe data tujuan id objectid pengidentifikasi unik yang dihasilkan secara otomatis nama pengguna string pengidentifikasi unik untuk pengguna email string alamat email unik pengguna hash kata sandi string kata sandi terenkripsi untuk otentikasi dibuat pada tanggal stempel waktu pembuatan akun diperbarui pada tanggal stempel waktu pembaruan terbaru anda dapat mengonfigurasi koleksi ini langsung di dasbor back4app dengan membuat kelas baru dan menambahkan kolom yang sesuai buat kelas baru tentukan setiap bidang dengan memilih jenisnya, menamakannya, dan mengatur status default atau wajibnya buat kolom menggunakan agen ai back4app untuk pembuatan skema agen ai back4app, yang dapat diakses dari dasbor anda, dapat secara otomatis menghasilkan skema database anda berdasarkan prompt deskriptif fitur ini secara signifikan mempercepat pengaturan skema yang konsisten untuk aplikasi anda cara menggunakan agen ai luncurkan agen ai akses agen dari dasbor back4app anda atau pengaturan proyek rincikan model data anda masukkan prompt komprehensif yang menjelaskan koleksi dan bidang yang anda perlukan tinjau dan terapkan periksa saran skema yang dihasilkan dan terapkan pada proyek anda contoh prompt create these collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated primary key) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated primary key) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) menggunakan pendekatan berbasis ai ini tidak hanya menghemat waktu tetapi juga menjamin skema yang teroptimasi dengan baik dan seragam langkah 3 – mengaktifkan aplikasi admin & mengelola operasi crud pengantar aplikasi admin aplikasi admin back4app adalah antarmuka yang ramah pengguna dan tanpa kode yang memberdayakan anda untuk menangani data backend anda dengan mudah fungsionalitas seret dan lepasnya membuat melakukan operasi crud—seperti menambahkan, melihat, memperbarui, dan menghapus catatan—menjadi sangat mudah cara mengaktifkan aplikasi admin pergi ke menu “lainnya” di dasbor back4app anda pilih “aplikasi admin” dan kemudian klik pada “aktifkan aplikasi admin ” atur kredensial admin anda dengan membuat pengguna admin awal, yang juga menetapkan peran (misalnya, b4aadminuser ) dan koleksi sistem aktifkan aplikasi admin setelah diaktifkan, masuk ke aplikasi admin untuk mengelola data anda dasbor aplikasi admin melakukan crud melalui aplikasi admin di dalam aplikasi admin, anda dapat menambahkan catatan baru gunakan tombol “tambah catatan” di dalam koleksi (misalnya, item) untuk memasukkan data baru melihat dan memodifikasi catatan klik pada catatan untuk melihat detailnya dan melakukan pembaruan menghapus catatan pilih opsi hapus untuk menghilangkan data yang tidak lagi diperlukan antarmuka intuitif ini sangat menyederhanakan tugas manajemen data langkah 4 – mengintegrasikan redwoodjs dengan back4app sekarang setelah backend anda disiapkan dan dapat dikelola melalui aplikasi admin, saatnya untuk menghubungkan frontend redwoodjs anda dengan back4app menggunakan integrasi api graphql redwoodjs dibangun di sekitar graphql, menjadikannya pasangan yang sempurna untuk mengintegrasikan dengan back4app melalui panggilan api alih alih menggunakan sdk, anda akan berinteraksi dengan backend anda menggunakan kueri dan mutasi graphql menyiapkan proyek redwoodjs anda buat aplikasi redwoodjs baru yarn create redwood app basic crud app redwood navigasi ke direktori proyek anda cd basic crud app redwood konfigurasikan variabel lingkungan anda di file env anda, tambahkan kredensial back4app anda back4app app id=your application id back4app rest api key=your rest api key back4app server url=https //parseapi back4app com mengambil data dengan sel redwoodjs sel redwoodjs menyederhanakan pengambilan data berikut adalah contoh sel yang mengambil item // web/src/components/itemscell/itemscell js export const query = gql` query items query { items itemscollection { id title description } } `; export const loading = () => \<div>loading items…\</div>; export const empty = () => \<div>no items available \</div>; export const failure = ({ error }) => \<div>error {error message}\</div>; export const success = ({ items }) => { return ( \<ul> {items map((item) => ( \<li key={item id}> \<strong>{item title}\</strong> — {item description} \</li> ))} \</ul> ); }; anda dapat mengintegrasikan kueri dan mutasi graphql serupa dalam komponen redwoodjs anda untuk melakukan operasi crud langkah 5 – mengamankan backend anda mengimplementasikan kontrol akses lindungi data anda dengan mengatur daftar kontrol akses (acl) langsung pada objek misalnya, saat membuat item pribadi, anda dapat memastikan bahwa hanya pemilik yang memiliki hak baca/tulis async function createprivateitem(itemdata, owner) { const response = await fetch(`${process env back4app server url}/classes/items`, { method 'post', headers { 'x parse application id' process env back4app app id, 'x parse rest api key' process env back4app rest api key, 'content type' 'application/json' }, body json stringify({ title itemdata title, description itemdata description, acl { \[owner] { read true, write true }, " " { read false, write false } } }) }); return response json(); } mengonfigurasi izin tingkat kelas di dalam dasbor back4app, atur izin tingkat kelas (clp) untuk setiap koleksi untuk membatasi akses kepada pengguna yang terautentikasi atau peran tertentu, memastikan data anda tetap aman langkah 6 – mengelola autentikasi pengguna menyiapkan manajemen akun back4app memanfaatkan sistem pengguna yang kuat, yang dapat anda integrasikan ke dalam redwoodjs untuk autentikasi pengguna di aplikasi redwoodjs anda, tangani pendaftaran dan login pengguna melalui panggilan api contoh pendaftaran pengguna // web/src/components/auth/signup js import { usestate } from 'react'; const signup = () => { const \[username, setusername] = usestate(''); const \[email, setemail] = usestate(''); const \[password, setpassword] = usestate(''); const handlesignup = async (e) => { e preventdefault(); try { const response = await fetch(`${process env back4app server url}/users`, { method 'post', headers { 'x parse application id' process env back4app app id, 'x parse rest api key' process env back4app rest api key, 'content type' 'application/json' }, body json stringify({ username, email, password }) }); const data = await response json(); if (data error) { alert('sign up failed ' + data error); } else { alert('user successfully registered!'); } } catch (error) { console error('registration error ', error); } }; return ( \<form onsubmit={handlesignup}> \<input type="text" placeholder="username" value={username} onchange={(e) => setusername(e target value)} /> \<input type="email" placeholder="email" value={email} onchange={(e) => setemail(e target value)} /> \<input type="password" placeholder="password" value={password} onchange={(e) => setpassword(e target value)} /> \<button type="submit">sign up\</button> \</form> ); }; export default signup; metode serupa dapat diterapkan untuk masuk dan mempertahankan sesi pengguna langkah 7 – mengdeploy frontend redwoodjs anda melalui web deployment fitur web deployment dari back4app membuat hosting frontend redwoodjs anda menjadi mudah ikuti langkah langkah ini untuk mendorong kode anda ke produksi 7 1 bangun versi produksi anda buka folder proyek anda di terminal jalankan perintah build yarn rw build ini akan menghasilkan folder web/dist yang berisi file statis yang telah dioptimalkan verifikasi output build pastikan bahwa folder web/dist berisi sebuah index html bersama dengan semua aset yang diperlukan 7 2 atur dan komit kode sumber anda repositori anda harus menyimpan seluruh sumber untuk aplikasi redwoodjs anda struktur yang khas mungkin adalah basic crud app redwood/ ├── api/ ├── web/ │ ├── dist/ │ ├── src/ │ │ ├── components/ │ │ │ ├── itemscell/ │ │ │ └── auth/ │ │ └── app js │ └── index html ├── env └── package json mengkomit ke github inisialisasi git (jika diperlukan) git init stage file anda git add komit kode anda git commit m "komit awal untuk frontend crud redwoodjs" buat repositori github (misalnya, basic crud app redwood ) dan dorong kode anda git remote add origin https //github com/your username/basic crud app redwood git git push u origin main 7 3 integrasi dengan web deployment akses web deployment dari dasbor back4app anda di bawah proyek anda (basic crud app redwood) hubungkan akun github anda jika anda belum melakukannya, mengikuti petunjuk pilih repositori dan cabang anda (misalnya, main ) yang berisi kode redwoodjs anda 7 4 atur parameter deployment perintah build tentukan yarn rw build jika repositori anda tidak menyertakan distribusi yang sudah dibangun direktori output konfigurasikan direktori output sebagai web/dist variabel lingkungan sertakan variabel lingkungan yang diperlukan, seperti kunci back4app anda 7 5 mengkontainerisasi dengan docker jika anda lebih memilih docker untuk deployment, sertakan sebuah dockerfile di repositori anda misalnya \# use an official node image for building the app from node 16 alpine as builder \# set the working directory workdir /app \# copy dependency definitions copy package json / \# install dependencies run yarn install \# copy the project files copy \# build the redwoodjs app run yarn rw build \# use nginx to serve the static files from nginx\ stable alpine copy from=builder /app/web/dist /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] 7 6 menerapkan aplikasi tekan tombol deploy di back4app setelah menyelesaikan konfigurasi anda pantau proses penerapan back4app akan mengambil kode anda, membangun proyek, dan menerapkannya dalam lingkungan terkontainer ambil url aplikasi anda setelah diterapkan, url akan disediakan di mana aplikasi redwoodjs anda dihosting 7 7 validasi penerapan anda buka url yang disediakan di browser anda untuk mengonfirmasi bahwa situs dimuat uji fungsionalitas aplikasi pastikan semua halaman, rute, dan aset dimuat dengan benar perbaiki jika perlu manfaatkan alat pengembang browser dan log penerapan back4app untuk debugging yang diperlukan langkah 8 – pemikiran akhir dan arah masa depan selamat telah membangun aplikasi crud berbasis redwoodjs menggunakan back4app! anda telah berhasil menyiapkan proyek berjudul basic crud app redwood , membuat koleksi database yang terperinci untuk item dan pengguna, serta mengintegrasikan frontend yang bersih dengan manajemen data yang kuat dan keamanan apa selanjutnya? perbaiki frontend anda tingkatkan aplikasi redwoodjs anda dengan fitur seperti halaman item terperinci, fungsionalitas pencarian, dan pembaruan waktu nyata incorporate advanced features pertimbangkan untuk menambahkan fungsi tanpa server, integrasi pihak ketiga, atau kontrol akses yang lebih kompleks jelajahi sumber daya tambahan selami lebih dalam ke dalam dokumentasi back4app https //www back4app com/docs dan panduan redwoodjs https //redwoodjs com/docs untuk perbaikan lebih lanjut dengan mengikuti tutorial ini, anda sekarang memiliki pengetahuan untuk mengembangkan backend crud yang dapat diskalakan dan mengintegrasikannya dengan frontend redwoodjs modern menggunakan back4app nikmati perjalanan pengkodean anda!