Quickstarters
Feature Overview
How to Build a Backend for Deno?
34 mnt
pendahuluan dalam tutorial ini, anda akan belajar bagaimana membangun backend untuk deno menggunakan back4app kami akan melalui setiap langkah untuk mengintegrasikan fitur utama back4app—database, api rest, otentikasi pengguna, penyimpanan file, dan kueri langsung—ke dalam lingkungan deno anda akan melihat bagaimana berkomunikasi dengan back4app melalui endpoint rest dan membuat infrastruktur lengkap tanpa mengelola server sendiri ketika anda menggunakan back4app, anda dapat melewati konfigurasi server dengan deno secara manual, menghemat waktu dan usaha anda akan fokus pada penulisan kode yang lebih sederhana, berkat pustaka standar deno dan pendekatan modern pada akhir panduan ini tentang cara membangun backend untuk deno, anda akan memiliki jalur yang jelas untuk mengintegrasikan keamanan tingkat lanjut, kode cloud, dan tugas terjadwal ke dalam aplikasi deno anda setelah anda menyelesaikan tutorial ini, anda akan dapat menjalankan server, menangani rest api, mengintegrasikan otentikasi pengguna, menyimpan file, dan menjadwalkan tugas dengan mudah anda juga akan memahami cara mengelola data anda dengan pendekatan fetch deno menggunakan rest api back4app prasyarat akun back4app dan proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app jika anda tidak memiliki akun, anda dapat membuatnya secara gratis gunakan tautan di atas untuk menyiapkan proyek anda instal deno anda dapat mendapatkan deno di https //deno land https //deno land instal deno di sistem operasi anda dan konfirmasikan dengan deno version keterampilan dasar dengan konsep deno seperti modul, sistem file, deno run allow net , atau cara mengimpor modul aplikasi dari pustaka standar pengetahuan dasar tentang rest api kami akan menggunakan panggilan fetch dan jenis konten header untuk penanganan data, jadi pastikan anda mengetahui dasar dasar rest dan json pastikan anda memiliki prasyarat ini sebelum memulai memiliki proyek back4app anda yang dikonfigurasi dan lingkungan deno lokal anda yang berjalan akan memungkinkan anda mengikuti tutorial ini dengan lancar langkah 1 – membuat proyek baru di back4app dan menghubungkan buat proyek baru dasar untuk backend deno anda adalah proyek back4app jika anda belum membuatnya masuk ke akun back4app anda klik tombol “aplikasi baru” di dasbor back4app anda beri nama aplikasi anda (misalnya, “deno backend tutorial”) setelah proyek anda siap, itu akan muncul di dasbor back4app anda proyek ini adalah tempat anda akan mengatur basis data, keamanan, dan api sambungkan ke back4app melalui rest karena kami tidak memiliki parse sdk untuk deno, kami akan menggunakan endpoint rest api back4app anda dapat menemukan id aplikasi , kunci api rest , dan url server di pengaturan aplikasi atau keamanan & kunci aplikasi anda sepanjang tutorial ini, kita akan menggunakan fetch untuk mengirim permintaan dari deno ke back4app pastikan untuk menyertakan kunci api dan jenis konten header di setiap panggilan langkah 2 – menyiapkan database dalam langkah ini, anda akan membuat model data di back4app dan berinteraksi dengannya menggunakan rest api dari deno membuat model data pergi ke bagian “database” di dasbor back4app anda klik “buat kelas baru” dan beri nama, misalnya, “todo ” tambahkan kolom yang relevan (misalnya, judul (string), iscompleted (boolean)) anda juga dapat membiarkan parse untuk membuat kolom ini secara otomatis saat data disimpan membuat model data dengan agen ai agen ai back4app dapat merancang skema anda buka agen ai di dasbor back4app anda deskripsikan model data anda (misalnya, “buat kelas todo dengan judul, deskripsi, dan field iscompleted ”) izinkan agen untuk menghasilkan skema secara otomatis ini membantu anda mengelola skema yang lebih kompleks dengan cepat membaca dan menulis data menggunakan rest api dari deno, anda dapat menjalankan server dengan memanggil endpoint rest menggunakan fetch sebagai contoh, untuk membuat todo // file called createtodo ts export async function createtodoitem(title string, iscompleted boolean) { const url = "https //parseapi back4app com/classes/todo"; const body = json stringify({ title, iscompleted }); const response = await fetch(url, { method "post", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json", }, body, }); if (!response ok) { throw new error(`error saving todo ${response statustext}`); } const result = await response json(); return result; } untuk mengambil todos // file called fetchtodos ts export async function fetchtodos() { const url = "https //parseapi back4app com/classes/todo"; const response = await fetch(url, { method "get", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", }, }); if (!response ok) { throw new error(`error fetching todos ${response statustext}`); } const result = await response json(); return result; } anda dapat menjalankan ini dengan deno run allow net createtodo ts membaca dan menulis data menggunakan api graphql back4app juga menyediakan endpoint graphql https //parseapi back4app com/graphql // file called createtodographql ts export async function createtodographql(title string) { const mutation = ` mutation { createtodo(input { fields { title "${title}" iscompleted false } }) { todo { objectid title iscompleted } } } `; const response = await fetch("https //parseapi back4app com/graphql", { 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({ query mutation }), }); const result = await response json(); return result; } bekerja dengan live queries (opsional) live queries memperbarui anda secara real time, tetapi deno tidak memiliki pustaka parse livequery bawaan anda masih dapat mengatur fitur live query di dasbor back4app anda untuk klien lain atau menggunakan websocket di deno untuk berlangganan secara manual untuk detail lebih lanjut, lihat dokumentasi live query https //www back4app com/docs/platform/live queries langkah 3 – menerapkan keamanan dengan acl dan clp ikhtisar acl (access control lists) dan clp (class level permissions) back4app melindungi data anda gunakan clp untuk menetapkan aturan default untuk seluruh kelas kemudian gunakan acl untuk pembatasan tingkat objek mengatur izin tingkat kelas buka database bagian di dasbor back4app anda pilih kelas (misalnya, “todo”) pergi ke izin tingkat kelas tab aktifkan atau nonaktifkan akses baca/tulis untuk publik atau untuk pengguna yang terautentikasi sesuai kebutuhan mengonfigurasi acl saat membuat atau memperbarui objek melalui rest, anda dapat menyertakan atribut acl dalam tubuh permintaan misalnya const body = json stringify({ title "private task", acl { " " { "read" false, "write" false }, "role\ admins" { "read" true, "write" true }, } }); contoh ini hanya memungkinkan peran “admins” untuk membaca atau menulis akses publik dimatikan langkah 4 – menulis fungsi cloud code mengapa cloud code cloud code adalah tempat anda menyimpan logika sisi server yang aman anda tidak mengelola server sendiri anda dapat menambahkan validasi atau pemicu untuk kelas tertentu contoh fungsi cloud code anda dapat mendefinisikan fungsi cloud (dalam javascript) dan menerapkannya ke aplikasi anda misalnya, fungsi untuk memeriksa panjang teks mungkin seperti ini parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "text parameter is required"; } return { length text length }; }); penerapan anda dapat menerapkan kode melalui back4app cli https //www back4app com/docs/local development/parse cli atau panel cloud code di dasbor back4app anda npm di cloud code anda dapat mengimpor pustaka eksternal dengan require() setelah diterapkan, lingkungan server akan menjalankannya ini berguna untuk tugas tugas lanjutan, tetapi ingatlah bahwa menjalankannya dari deno terpisah dari lingkungan cloud code anda di back4app langkah 5 – mengonfigurasi autentikasi aktifkan autentikasi back4app menggunakan kelas pengguna parse untuk autentikasi saat anda bekerja dengan deno, anda dapat memanggil endpoint rest untuk mengelola pengguna daftar dan masuk menggunakan rest async function signupuser(username string, password string, email string) { const url = "https //parseapi back4app com/users"; const body = json stringify({ username, password, email }); const response = await fetch(url, { method "post", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json", }, body, }); return await response json(); } async function loginuser(username string, password string) { const url = `https //parseapi back4app com/login?username=${username}\&password=${password}`; const response = await fetch(url, { method "get", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", }, }); return await response json(); } login sosial anda dapat mengatur google, facebook, apple, dan penyedia lainnya di back4app kemudian, anda akan memanggil endpoint khusus dengan token oauth lihat dokumentasi login sosial back4app https //www back4app com/docs/platform/sign in with apple untuk detail langkah 6 – menangani penyimpanan file unggah dan ambil file untuk mengunggah file dari deno, gunakan permintaan post ke https //parseapi back4app com/files/\<filename> sebagai contoh async function uploadfile(filedata uint8array, filename string) { const url = `https //parseapi back4app com/files/${filename}`; const response = await fetch(url, { method "post", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "image/png", }, body filedata, }); return await response json(); } anda kemudian dapat menyimpan url file yang dihasilkan dalam objek kelas anda metode ini sempurna untuk menyimpan gambar atau dokumen saat anda menjalankan server di deno langkah 7 – verifikasi email dan reset kata sandi ikhtisar verifikasi email memastikan akses yang sah reset kata sandi membantu pengguna mendapatkan kembali akses dengan aman konfigurasi dasbor aktifkan verifikasi email di dasbor back4app anda di bawah pengaturan email sesuaikan template verifikasi anda aktifkan reset kata sandi dan atur tata letak email yang anda inginkan ketika seorang pengguna mendaftar, mereka menerima tautan verifikasi jika anda mengaktifkan verifikasi email untuk reset kata sandi, panggil endpoint rest post /requestpasswordreset langkah 8 – menjadwalkan tugas dengan pekerjaan cloud ikhtisar pekerjaan cloud pekerjaan cloud berjalan secara berkala tanpa intervensi manusia misalnya, anda dapat menghapus catatan lama setiap hari atau mengirim pengingat email rutin parse cloud job("cleanupoldtodos", async (request) => { const todo = parse object extend("todo"); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now\ valueof() thirty days); query lessthan("createdat", cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); setelah menerapkan pekerjaan ini, anda dapat menjadwalkannya di pengaturan aplikasi > pengaturan server > pekerjaan latar belakang di dasbor back4app anda langkah 9 – mengintegrasikan webhook definisi webhook adalah callback http yang dipicu ketika peristiwa terjadi, seperti pembuatan atau pembaruan objek anda dapat mengintegrasikan dengan slack, stripe, atau layanan eksternal lainnya konfigurasi buka “lainnya” > “webhook” di dasbor back4app klik “tambahkan webhook” dan berikan endpoint dari layanan pihak ketiga anda atur yang memicu atau kelas yang ingin anda kirim permintaan ini memungkinkan sistem eksternal untuk menerima data setiap kali anda membuat atau memodifikasi objek di back4app langkah 10 – menjelajahi panel admin back4app pengantar panel admin tim non teknis dapat menggunakan panel ini untuk mengelola data secara visual ini menyederhanakan operasi crud dan tinjauan data cara mengaktifkan pergi ke dasbor aplikasi > lainnya > aplikasi admin dan pilih “aktifkan aplikasi admin ” buat pengguna admin untuk masuk atur subdomain untuk aplikasi admin anda anda kemudian dapat masuk ke aplikasi admin untuk mengelola catatan dengan aman kesimpulan dalam tutorial ini, anda menemukan cara membangun backend untuk deno di back4app anda membuat model data, menangani otentikasi pengguna, mempelajari tentang acl dan clp untuk keamanan, dan menjadwalkan pekerjaan cloud anda juga melihat bagaimana mengintegrasikan api eksternal melalui webhook dan bagaimana menjalankan server atau api rest dengan perintah deno run allow net pengaturan ini membuat anda cepat memulai tanpa mengonfigurasi sistem file atau kompleksitas pustaka standar untuk arsitektur server langkah selanjutnya kembangkan aplikasi deno anda dengan endpoint tambahan dan logika lanjutan menggunakan cloud code integrasikan lebih banyak layanan (misalnya, gateway pembayaran, analitik) dengan data back4app anda rujuk dokumentasi resmi back4app untuk tips analisis keamanan, kinerja, dan log yang lebih dalam eksperimen dengan fitur real time lanjutan atau penyimpanan deno kv, menjembatani data antara runtime deno anda dan lingkungan back4app yang kuat dengan pengetahuan baru anda, anda dapat dengan percaya diri menerapkan backend deno yang aman, dapat diskalakan, dan kaya fitur yang didukung oleh back4app