Quickstarters
CRUD Samples
Building a Basic CRUD Application with Cycle.js: A Comprehensive Guide
41 mnt
ikhtisar panduan ini akan memandu anda melalui cara membangun aplikasi crud (buat, baca, perbarui, dan hapus) yang lengkap menggunakan cycle js dalam tutorial ini, anda akan mengonfigurasi proyek back4app yang berjudul basic crud app cyclejs yang akan berfungsi sebagai backend yang kuat untuk aplikasi anda anda akan belajar merancang model data yang dapat diskalakan, mengelola data anda melalui aplikasi admin back4app yang intuitif, dan mengintegrasikan frontend cycle js anda dengan back4app menggunakan panggilan rest/graphql pada akhir tutorial, anda akan memiliki aplikasi web yang siap produksi yang mampu melakukan operasi crud bersama dengan otentikasi pengguna dan penanganan data yang aman wawasan utama membangun sistem crud fungsional dengan backend yang andal mendapatkan pengalaman praktis dalam merancang model data yang dapat diskalakan menggunakan alat admin drag and drop untuk manajemen data yang mulus mengintegrasikan frontend cycle js dengan back4app melalui rest/graphql belajar strategi penyebaran termasuk kontainerisasi docker prasyarat sebelum anda mulai, pastikan anda memiliki akun back4app dengan proyek aktif jika anda memerlukan bantuan, lihat memulai dengan back4app https //www back4app com/docs/get started/new parse app pengaturan pengembangan cycle js gunakan alat seperti create cycle app https //github com/cyclejs community/create cycle app dan pastikan node js (versi 14 atau lebih baru) terinstal keterampilan dalam javascript, cycle js, dan rest api untuk penyegaran, lihat dokumentasi cycle js https //cycle js org/ langkah 1 – inisialisasi proyek membuat proyek back4app baru masuk ke akun back4app anda tekan tombol “aplikasi baru” di dasbor anda tetapkan nama proyek basic crud app cyclejs dan ikuti petunjuk pengaturan buat proyek baru setelah pembuatan, proyek anda akan terlihat di dasbor, siap untuk konfigurasi dan manajemen backend langkah 2 – mendefinisikan skema database anda menyusun model data anda untuk aplikasi crud ini, anda akan membuat beberapa koleksi untuk mengelola data anda di bawah ini adalah contoh koleksi dengan bidang dan tipe data yang penting 1\ koleksi item koleksi ini akan menyimpan rincian setiap item bidang tipe data deskripsi id objectid pengidentifikasi unik yang dihasilkan secara otomatis judul string judul item deskripsi string ringkasan singkat tentang item tersebut dibuat pada tanggal stempel waktu untuk saat item ditambahkan diperbarui pada tanggal stempel waktu untuk pembaruan terbaru 2\ koleksi pengguna koleksi ini menangani rincian pengguna dan otentikasi bidang tipe data deskripsi id objectid pengidentifikasi unik yang dihasilkan secara otomatis nama pengguna string pengidentifikasi unik pengguna email string alamat email pengguna hash kata sandi string kata sandi terenkripsi untuk otentikasi yang aman dibuat pada tanggal stempel waktu pembuatan akun diperbarui pada tanggal timestamp untuk pembaruan terbaru anda dapat mendefinisikan koleksi ini secara manual melalui dasbor back4app dengan membuat kelas baru dan mengonfigurasi bidang yang sesuai buat kelas baru untuk menambahkan bidang, pilih tipe data, berikan nama bidang, setel nilai default jika perlu, dan tandai bidang sebagai wajib jika diperlukan buat kolom mengotomatiskan pembuatan skema dengan agen ai back4app agen ai back4app menyederhanakan pembuatan skema dengan secara otomatis menghasilkan model data anda berdasarkan prompt yang diberikan ini memastikan desain basis data yang konsisten dan efisien langkah langkah untuk memanfaatkan agen ai akses agen ai masuk ke dasbor back4app anda dan pilih agen ai dari menu atau pengaturan proyek rincikan kebutuhan data anda masukkan prompt yang komprehensif yang mencantumkan koleksi yang diperlukan dan bidangnya tinjau dan terapkan periksa skema yang dihasilkan secara otomatis dan terapkan ke proyek anda contoh prompt create these collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) fitur ini tidak hanya menghemat waktu tetapi juga memastikan skema yang terstruktur dengan baik dan dioptimalkan langkah 3 – mengaktifkan aplikasi admin & mengelola operasi crud menjelajahi aplikasi admin aplikasi admin back4app menyediakan antarmuka tanpa kode, seret dan lepas untuk manajemen data backend yang mudah ini menyederhanakan operasi crud untuk koleksi anda mengaktifkan aplikasi admin buka menu “lainnya” di dasbor back4app anda pilih “aplikasi admin” dan kemudian klik pada “aktifkan aplikasi admin ” atur kredensial admin anda dengan membuat pengguna admin pertama anda tindakan ini juga akan menginisialisasi peran sistem (misalnya, b4aadminuser ) aktifkan aplikasi admin setelah aktivasi, masuk ke aplikasi admin untuk mulai mengelola koleksi anda dasbor aplikasi admin melakukan operasi crud melalui aplikasi admin di dalam aplikasi admin, anda dapat menambahkan rekaman klik tombol “tambahkan rekaman” di koleksi mana pun (misalnya, item) untuk memasukkan entri baru melihat/memodifikasi rekaman pilih rekaman yang ada untuk memeriksa detail atau memodifikasi bidang menghapus rekaman gunakan opsi hapus untuk membuang entri yang tidak diinginkan antarmuka yang ramah pengguna ini sangat meningkatkan pengelolaan dan administrasi data anda langkah 4 – mengintegrasikan cycle js dengan back4app sekarang setelah backend anda beroperasi melalui back4app, saatnya untuk mengintegrasikan frontend cycle js anda opsi menggunakan rest/graphql api kami akan fokus pada panggilan api rest untuk berinteraksi dengan backend anda di bawah ini adalah contoh komponen cycle js yang mengambil dan menampilkan item dari database back4app anda menggunakan driver http cycle contoh mengambil dan menampilkan item dengan cycle js import xs from 'xstream'; import {run} from '@cycle/run'; import {div, h1, ul, li, input, button, makedomdriver} from '@cycle/dom'; import {makehttpdriver} from '@cycle/http'; function main(sources) { // intent capture add item interactions const addclick$ = sources dom select(' add') events('click'); // model make an http request to fetch items const request$ = xs of({ url 'https //parseapi back4app com/classes/items', category 'items', method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); // intent handle http responses const items$ = sources http select('items') flatten() map(res => res body results); // view render the items list const vdom$ = items$ startwith(\[]) map(items => div(\[ h1('items'), button(' add', 'add item'), ul( items map(item => li(`${item title} — ${item description}`) ) ) ]) ); return { dom vdom$, http request$ }; } const drivers = { dom makedomdriver('#app'), http makehttpdriver() }; run(main, drivers); kode contoh ini menunjukkan cara menggunakan cycle js untuk melakukan permintaan http get untuk mengambil item dan merendernya secara dinamis langkah 5 – mengamankan backend anda menerapkan daftar kontrol akses (acl) amankan objek anda dengan mendefinisikan acl misalnya, saat membuat item pribadi async function createprivateitem(data, owneruser) { const newitem = { title data title, description data description }; // define acl restrict access to the owner only newitem acl = { \[owneruser id] { read true, write true }, ' ' { read false, write false } }; try { const response = await fetch('https //parseapi back4app com/classes/items', { method 'post', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json' }, body json stringify(newitem) }); const result = await response json(); console log('created item ', result); } catch (error) { console error('error creating item ', error); } } mengonfigurasi izin tingkat kelas (clp) di dalam dasbor back4app, sesuaikan clp untuk setiap koleksi untuk memastikan hanya pengguna yang terautentikasi yang dapat mengakses informasi sensitif langkah 6 – menerapkan autentikasi pengguna menyiapkan pendaftaran akun dan masuk back4app menggunakan kelas pengguna untuk otentikasi gunakan panggilan rest api untuk mengelola pendaftaran dan login pengguna dalam aplikasi cycle js anda berikut adalah contoh penanganan pendaftaran pengguna async function signupuser(userdata) { try { const response = await fetch('https //parseapi back4app com/users', { method 'post', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json' }, body json stringify({ username userdata username, password userdata password, email userdata email }) }); const result = await response json(); alert('registration successful!'); return result; } catch (error) { alert('registration error ' + error message); } } anda dapat meniru pola serupa untuk login pengguna dan manajemen sesi langkah 7 – menerapkan frontend cycle js anda dengan web deployment fitur web deployment back4app memungkinkan anda untuk menghosting aplikasi cycle js anda dengan mudah melalui integrasi dengan repositori github anda 7 1 menyiapkan build produksi anda buka direktori proyek anda di terminal jalankan perintah build npm run build ini membuat sebuah build direktori dengan file statis yang dioptimalkan konfirmasi build pastikan folder build berisi sebuah index html dan direktori aset terkait 7 2 mengorganisir dan mengunggah kode sumber anda repositori git anda harus mencakup seluruh sumber aplikasi cycle js contoh struktur file basic crud app cyclejs frontend/ ├── node modules/ ├── public/ │ └── index html ├── src/ │ ├── main js │ ├── httpdrivers js │ └── components/ │ ├── itemslist js │ └── auth js ├── package json └── readme md contoh file src/main js import xs from 'xstream'; import {run} from '@cycle/run'; import {div, h1, makedomdriver} from '@cycle/dom'; import {makehttpdriver} from '@cycle/http'; import itemslist from ' /components/itemslist'; function main(sources) { const itemsvtree$ = itemslist(sources); const vdom$ = itemsvtree$ map(tree => div(\[ h1('cycle js crud application'), tree ]) ); return { dom vdom$ }; } const drivers = { dom makedomdriver('#app'), http makehttpdriver() }; run(main, drivers); mengkomit ke github inisialisasi repositori git (jika belum dilakukan) git init stage file anda git add komit pekerjaan anda git commit m "komit awal untuk frontend cycle js" buat repositori github (misalnya, basic crud app cyclejs frontend ) dorong repositori anda git remote add origin https //github com/your username/basic crud app cyclejs frontend git git push u origin main 7 3 menghubungkan repositori anda dengan web deployment akses web deployment masuk ke back4app, navigasikan ke proyek anda ( basic crud app cyclejs ), dan pilih fitur web deployment hubungkan ke github ikuti petunjuk untuk menghubungkan akun github anda agar back4app dapat mengakses repositori anda pilih repositori dan cabang pilih repositori anda (misalnya, basic crud app cyclejs frontend ) dan cabang (biasanya main ) 7 4 pengaturan penyebaran perintah build jika repositori anda tidak memiliki folder build yang sudah dibangun, tentukan perintah build (misalnya, npm run build ) direktori output atur ini ke build agar back4app tahu di mana menemukan file statis variabel lingkungan sertakan kunci api atau detail konfigurasi yang diperlukan 7 5 dockerisasi aplikasi cycle js anda jika anda memilih penyebaran docker, tambahkan sebuah dockerfile ke repositori anda \# use an official node image for building the app from node 16 alpine as build \# set working directory workdir /app \# copy dependency definitions copy package json / \# install dependencies run npm install \# copy the remaining files copy \# build the cycle js application run npm run build \# use nginx to serve the built files from nginx\ stable alpine copy from=build /app/build /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] pilih opsi penyebaran docker dalam konfigurasi penyebaran web anda jika anda memilih untuk mengcontainerisasi aplikasi anda 7 6 meluncurkan aplikasi anda terapkan aplikasi anda klik tombol terapkan setelah mengonfigurasi pengaturan anda pantau penerapan back4app akan menarik kode anda dari github, membangun aplikasi (jika dikonfigurasi), dan menerapkannya akses aplikasi anda setelah penerapan selesai, back4app akan menyediakan url untuk aplikasi cycle js anda yang aktif 7 7 menguji penerapan anda kunjungi url yang diterapkan buka url yang disediakan di browser anda konfirmasi fungsionalitas pastikan semua rute dan aset dimuat dengan benar debug jika diperlukan gunakan alat pengembang browser dan tinjau log penerapan back4app untuk memecahkan masalah yang mungkin terjadi langkah 8 – menyelesaikan dan peningkatan masa depan selamat! anda telah berhasil membangun aplikasi crud menggunakan cycle js dan back4app anda telah menyiapkan proyek berjudul basic crud app cyclejs , mendefinisikan skema database anda untuk items dan users, dan mengelola data anda melalui admin app yang intuitif selain itu, anda telah mengintegrasikan frontend cycle js anda dengan backend menggunakan rest/graphql dan mengamankan data anda dengan kontrol akses yang tepat langkah selanjutnya perluas frontend anda tambahkan tampilan yang lebih canggih, penyaringan, atau pembaruan waktu nyata integrasikan fitur backend tambahan pertimbangkan untuk menambahkan cloud functions, api pihak ketiga, atau kontrol akses berbasis peran pembelajaran lebih lanjut jelajahi dokumentasi back4app https //www back4app com/docs untuk wawasan tambahan tentang penyetelan kinerja dan integrasi kustom dengan panduan ini, anda sekarang memiliki keterampilan untuk membangun backend crud yang dapat diskalakan untuk aplikasi cycle js anda menggunakan back4app selamat coding!