Quickstarters
CRUD Samples
How to Create a CRUD Application with Elm?
34 mnt
ikhtisar dalam panduan ini, anda akan belajar bagaimana membangun aplikasi crud (buat, baca, perbarui, hapus) yang lengkap menggunakan elm kami akan menggunakan back4app sebagai layanan backend kami untuk mengelola data dengan mudah panduan ini menjelaskan cara mengonfigurasi proyek back4app, merancang skema data yang fleksibel, dan mengintegrasikan operasi crud ke dalam aplikasi elm menggunakan panggilan rest api pertama, anda akan mengatur proyek back4app, yang di sini dinamakan basic crud app elm , yang menyediakan database non relasional yang kuat anda akan merancang model data anda—baik secara manual atau menggunakan ai agent cerdas dari back4app selanjutnya, anda akan mengelola backend anda dengan aplikasi admin back4app, yang menawarkan antarmuka drag and drop yang intuitif untuk manipulasi data akhirnya, anda akan menghubungkan aplikasi elm anda ke back4app dengan membuat permintaan api restful sambil memastikan operasi data yang aman pada akhir tutorial ini, anda akan memiliki aplikasi elm yang siap produksi yang mendukung fungsionalitas crud inti dan otentikasi pengguna yang aman wawasan penting pelajari cara membangun aplikasi crud elm yang dipasangkan dengan backend non relasional pahami cara menyusun backend yang dapat diskalakan dan menghubungkannya dengan front end elm gunakan aplikasi admin back4app untuk tindakan buat, baca, perbarui, dan hapus yang mulus jelajahi opsi penyebaran, termasuk docker, untuk meluncurkan aplikasi elm anda dengan mudah prasyarat sebelum anda mulai, pastikan anda memiliki akun back4app dengan proyek yang sudah disiapkan butuh bantuan? kunjungi memulai dengan back4app https //www back4app com/docs/get started/new parse app lingkungan pengembangan elm instal elm dan gunakan editor favorit anda keterampilan dasar elm, pemrograman fungsional, dan permintaan http periksa panduan elm https //guide elm lang org/ jika diperlukan langkah 1 – menginisialisasi proyek anda membuat proyek back4app baru masuk ke akun back4app anda klik tombol “aplikasi baru” dari dasbor anda beri nama proyek anda basic crud app elm dan ikuti instruksi untuk menyelesaikan pengaturan buat proyek baru setelah proyek anda siap, itu akan muncul di dasbor anda, menyiapkan panggung untuk konfigurasi backend anda langkah 2 – membuat skema data menyiapkan struktur data anda untuk aplikasi crud ini, anda akan membuat beberapa koleksi (atau kelas) di back4app di bawah ini adalah contoh koleksi utama dan bidangnya untuk mendukung operasi crud 1\ koleksi item koleksi ini menyimpan rincian tentang setiap entri bidang tipe rincian id objectid pengidentifikasi unik yang dihasilkan secara otomatis judul string nama barang deskripsi string deskripsi singkat tentang item tersebut dibuatpada tanggal timestamp menandai pembuatan diperbaruipada tanggal stempel waktu menandai pembaruan terakhir 2\ koleksi pengguna koleksi ini menangani otentikasi pengguna dan kredensial bidang tipe rincian id objectid pengidentifikasi unik yang dihasilkan secara otomatis nama pengguna string nama pengguna yang unik untuk pengguna email string alamat email yang unik hashkatasandi string kata sandi terenkripsi untuk keamanan dibuatpada tanggal stempel waktu untuk saat akun dibuat diperbaruipada tanggal timestamp untuk pembaruan akun terakhir anda dapat menambahkan koleksi dan bidang ini secara manual melalui dasbor back4app buat kelas baru anda dapat menambahkan bidang dengan memilih jenis yang sesuai, memberi nama bidang, dan menentukan apakah itu wajib buat kolom menggunakan agen ai back4app untuk konfigurasi skema agen ai back4app menyederhanakan pembuatan skema data anda berdasarkan deskripsi anda proses otomatis ini memastikan skema anda disiapkan untuk semua tindakan crud yang diperlukan untuk menggunakan agen ai akses agen ai masuk ke dasbor back4app anda dan temukan agen ai di pengaturan proyek anda detail skema data anda jelaskan koleksi dan bidang yang anda butuhkan tinjau dan konfirmasi periksa skema yang diusulkan dan setujui untuk mengonfigurasi backend anda contoh prompt create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) pendekatan cerdas ini menghemat waktu dan memastikan skema data yang kuat dan konsisten langkah 3 – mengaktifkan antarmuka admin & menangani operasi crud pengantar antarmuka admin aplikasi admin back4app memberikan anda antarmuka tanpa kode untuk mengelola data backend anda desainnya yang ramah pengguna memungkinkan anda melakukan tindakan crud seperti menambah, melihat, mengedit, dan menghapus catatan mengaktifkan aplikasi admin pergi ke menu “more” di dasbor back4app anda pilih “aplikasi admin” dan klik “aktifkan aplikasi admin ” buat akun admin anda, yang juga akan mengatur peran seperti b4aadminuser dan koleksi sistem aktifkan aplikasi admin setelah diaktifkan, masuk ke aplikasi admin untuk mengelola data anda dasbor aplikasi admin melakukan tindakan crud di aplikasi admin di dalam aplikasi admin, anda dapat masukkan rekaman pilih “tambahkan rekaman” dalam koleksi (misalnya, item) untuk membuat entri baru periksa/edit rekaman klik pada rekaman mana pun untuk melihat detail atau mengubah data hapus rekaman hapus entri yang tidak lagi diperlukan antarmuka yang mudah digunakan ini menyederhanakan manajemen data langkah 4 – menghubungkan aplikasi elm anda ke back4app dengan backend anda yang sudah dikonfigurasi, saatnya untuk menghubungkan aplikasi elm anda ke back4app menggunakan panggilan rest api di elm karena elm tidak mendukung sdk parse yang khusus, kita akan menggunakan kemampuan http bawaan untuk berinteraksi dengan endpoint rest back4app contoh mengambil data dari koleksi item di bawah ini adalah contoh modul elm yang menggunakan http paket untuk mengambil daftar item module items exposing (item, fetchitems, itemdecoder) import http import json decode as decode exposing (decoder) type alias item = { id string , title string , description string } itemdecoder decoder item itemdecoder = decode map3 item (decode field "objectid" decode string) (decode field "title" decode string) (decode field "description" decode string) fetchitems cmd msg fetchitems = http get { url = "https //parseapi back4app com/classes/items" , expect = http expectjson handleresponse (decode field "results" (decode list itemdecoder)) } handleresponse result http error (list item) > msg handleresponse result = \ map the http result to your application's message type debug todo "handle the response appropriately" contoh membuat item baru anda juga dapat mengimplementasikan permintaan post di elm untuk menambahkan catatan baru createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" ulangi pola serupa untuk operasi pembaruan dan penghapusan menggunakan metode put dan delete langkah 5 – melindungi backend anda mengonfigurasi kontrol akses (acl) lindungi data anda dengan mengatur acl pada objek anda misalnya, untuk membatasi item kepada penciptanya, anda bisa menggunakan \ in elm, you can add acl details to your json payload createprivateitem string > string > string > cmd msg createprivateitem title description ownerid = let acl = encode object \[ ( ownerid, encode object \[ ("read", encode bool true), ("write", encode bool true) ] ) , ( " ", encode object \[ ("read", encode bool false), ("write", encode bool false) ] ) ] body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) , ( "acl", acl ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } mengatur izin tingkat kelas (clp) tentukan clp di dasbor back4app sehingga hanya pengguna yang terautentikasi yang dapat mengakses koleksi tertentu langkah 6 – menerapkan autentikasi pengguna mengelola akun pengguna back4app memanfaatkan koleksi pengguna bawaan untuk menangani autentikasi dalam aplikasi elm anda, anda akan mengelola pendaftaran dan login melalui panggilan rest api contoh permintaan pendaftaran pengguna signupuser string > string > string > cmd msg signupuser username password email = let body = http jsonbody <| encode object \[ ( "username", encode string username ) , ( "password", encode string password ) , ( "email", encode string email ) ] in http post { url = "https //parseapi back4app com/users" , body = body , expect = http expectjson handleauthresponse decode value } handleauthresponse result http error decode value > msg handleauthresponse result = debug todo "process the authentication response" ikuti pendekatan serupa untuk login dan manajemen sesi langkah 7 – menerapkan aplikasi elm anda back4app mendukung penerapan yang mulus anda dapat menerapkan aplikasi elm anda menggunakan berbagai metode termasuk docker 7 1 membangun aplikasi elm anda kompilasi kode elm anda jalankan kompilator elm untuk menghasilkan javascript elm make src/main elm output=dist/main js siapkan aset anda pastikan file javascript dan html yang dihasilkan siap untuk penerapan 7 2 mengorganisir struktur proyek anda tata letak proyek elm yang khas mungkin terlihat seperti basic crud app elm/ \| src/ \| | main elm \| | api elm \| dist/ \| | index html \| | main js \| elm json \| package json \| dockerfile 7 3 menggunakan docker untuk aplikasi elm anda jika mengemas, tambahkan sebuah dockerfile \# use a lightweight node image for serving static files from node 16 alpine \# set the working directory workdir /app \# copy compiled files copy dist/ /app/dist/ \# expose the desired port expose 8080 \# serve the static files using a simple server cmd \["npx", "http server", "dist", " p", "8080"] 7 4 penyebaran dengan web deployment back4app tautkan repositori anda hosting proyek elm anda di github konfigurasi pengaturan penyebaran di dasbor back4app, pilih fitur web deployment , sambungkan repositori anda (misalnya, basic crud app elm ), dan pilih cabang yang diinginkan atur perintah build tentukan perintah build (misalnya, elm make src/main elm output=dist/main js ) dan lokasi artefak sebarkan aplikasi anda tekan deploy dan pantau log sampai aplikasi anda aktif langkah 8 – pemikiran akhir dan arah masa depan selamat! anda telah membangun aplikasi crud berbasis elm yang terintegrasi dengan back4app anda telah menyiapkan proyek bernama basic crud app elm , merancang koleksi untuk item dan pengguna, dan mengelola data melalui aplikasi admin back4app selanjutnya, anda menghubungkan aplikasi elm anda menggunakan panggilan rest api dan menerapkan langkah langkah keamanan peningkatan masa depan perluas fitur integrasikan kemampuan pencarian lanjutan, tampilan rinci, atau pembaruan waktu nyata tingkatkan fungsi backend eksperimen dengan fungsi cloud, integrasi pihak ketiga, atau akses berbasis peran perdalam pengetahuan anda kunjungi dokumentasi back4app https //www back4app com/docs dan sumber daya lainnya untuk menyempurnakan aplikasi anda selamat coding dan nikmati membangun dengan elm dan back4app!