Quickstarters

Bagaimana Cara Membangun Backend untuk Flask?

40min

Pendahuluan

Dalam tutorial ini, Anda akan belajar cara membangun backend untuk Flask menggunakan Back4App.

Flask adalah kerangka backend yang ringan yang menangani permintaan HTTP dengan mudah, dan bekerja secara efisien dalam mode debug selama pengembangan.

Kami akan membahas integrasi fitur-fitur penting Back4App—seperti manajemen database, Fungsi Cloud Code, API REST dan GraphQL, otentikasi pengguna, dan kueri waktu nyata (Live Queries)—untuk membuat backend yang aman, skalabel, dan kuat untuk aplikasi Flask Anda.

Anda juga akan melihat bagaimana pengaturan cepat Back4App dan lingkungan yang intuitif dapat secara drastis mengurangi waktu dan usaha dibandingkan dengan mengonfigurasi server dan database secara manual.

Kami akan menggunakan kode Python untuk menghubungkan Flask ke server Parse Back4App. Sepanjang jalan, Anda akan mendapatkan pengalaman langsung dengan fungsionalitas kunci, termasuk fitur keamanan tingkat lanjut, penjadwalan tugas dengan Cloud Jobs, dan pengaturan webhook untuk integrasi eksternal.

Pada akhir tutorial ini, Anda akan siap untuk meningkatkan pengaturan dasar ini menjadi aplikasi siap produksi atau dengan mudah menggabungkan logika kustom dan API pihak ketiga sesuai kebutuhan.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda akan membutuhkan:

  • Akun Back4app dan proyek Back4app baru Memulai dengan Back4app. Jika Anda belum memiliki akun, Anda dapat membuatnya secara gratis. Ikuti panduan di atas untuk menyiapkan proyek Anda.
  • Lingkungan pengembangan Flask dasar Anda dapat menginstal Flask melalui pip install flask. Pastikan Anda telah menginstal Python 3.7+ di mesin Anda.
  • pip install parse Paket Python ini memungkinkan aplikasi Flask Anda berinteraksi dengan Parse Server Back4App.
  • Keterampilan dengan konsep Python dan Flask Dokumentasi Resmi Flask. Jika Anda baru mengenal Flask, tinjau dokumen resmi atau tutorial pemula sebelum memulai.

Pastikan Anda memiliki semua prasyarat ini sebelum Anda mulai. Menyiapkan proyek Back4app Anda dan lingkungan Flask lokal Anda akan membantu Anda mengikuti lebih mudah.

Langkah 1 – Membuat Proyek Baru di Back4App dan menghubungkan

Buat Proyek Baru

Langkah pertama dalam membangun backend Flask Anda di Back4App adalah membuat proyek baru. Jika Anda belum membuat satu, ikuti langkah-langkah ini:

  1. Masuk ke akun Back4App Anda.
  2. Klik tombol “Aplikasi Baru” di dasbor Back4App Anda.
  3. Beri nama aplikasi Anda (misalnya, “Tutorial-Backend-Flask”).
Document image


Setelah proyek dibuat, Anda akan melihatnya terdaftar di dasbor Back4app Anda. Proyek ini adalah dasar dari semua konfigurasi backend.

Sambungkan SDK Parse ke Flask

Back4App bergantung pada Platform Parse untuk mengelola data Anda, menyediakan fitur waktu nyata, menangani otentikasi pengguna, dan lainnya.

Menyambungkan aplikasi Flask Anda ke Back4App melibatkan pemasangan paket parse Python dan menginisialisasinya dengan kredensial dari dasbor Back4App Anda.

Ambil Kunci Parse Anda: Di dasbor Back4app Anda, navigasikan ke bagian “Pengaturan Aplikasi” atau “Keamanan & Kunci” untuk menemukan ID Aplikasi dan Kunci Klien (atau Kunci API REST jika diperlukan). Anda juga akan menemukan URL Server Parse (sering dalam format https://parseapi.back4app.com).

Document image


Pasang SDK Python Parse di lingkungan Flask Anda dengan menjalankan:

Bash


Inisialisasi Parse di aplikasi Flask Anda: Buat file (misalnya, parse_config.py) di direktori bernama app atau di mana pun Anda menyimpan modul backend Anda:

parse_config.py


Kemudian, di file aplikasi Flask utama Anda (misalnya, app.py), Anda dapat import flask app flask modul bersama dengan konfigurasi Parse Anda:

Python


Dengan menyelesaikan langkah ini, Anda telah membangun koneksi yang aman antara rute front-end Flask Anda dan backend Back4App. Semua permintaan dan transaksi data diarahkan dengan aman melalui kode Python Parse, mengurangi kompleksitas panggilan REST atau GraphQL manual (meskipun Anda masih dapat menggunakannya jika diperlukan).

Langkah 2 – Menyiapkan Database

Membuat Model Data

Sebelum kita mulai, mari kita bicarakan tentang menyiapkan database. Anda dapat merancang skema data Anda di dasbor Back4App atau membiarkan Parse membuatnya secara langsung. Misalnya, Anda mungkin membuat kelas bernama “Todo” dengan bidang seperti title dan isCompleted.

  1. Navigasikan ke bagian “Database” di dasbor Back4App Anda.
  2. Buat kelas baru (misalnya, “Todo”) dan tambahkan kolom yang relevan, seperti title (String) dan isCompleted (Boolean).
Buat Kelas Baru
Buat Kelas Baru


Back4app mendukung berbagai jenis data, seperti String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, dan Polygon. Anda dapat memilih jenis yang sesuai untuk setiap field.

Membuat model Data menggunakan AI Agent

Jika Anda lebih suka pendekatan otomatis, Anda juga dapat menggunakan AI Agent dari Back4app:

  1. Buka AI Agent dari Dashboard Aplikasi Anda.
  2. Deskripsikan model data Anda dalam bahasa sederhana (misalnya, “Buat kelas ToDo dengan field title dan isCompleted di Back4app.”).
  3. Biarkan AI Agent membuat Skema untuk Anda.
Document image


Membaca dan Menulis Data menggunakan SDK

Di Flask, Anda dapat membuat dan mengambil data dengan mengimpor parse dari parse_config.py inisialisasi Anda:

Python


File aplikasi Flask ini menangani permintaan http untuk membuat dan membaca item Todo di database Back4App Anda.

Membaca dan Menulis Data menggunakan REST API

Jika Anda lebih suka panggilan REST langsung, Anda dapat menguji dengan curl dari baris perintah:

Bash


Membaca dan Menulis Data menggunakan GraphQL API

Demikian pula, Back4app menyediakan endpoint GraphQL. Misalnya:

GraphQL


Bekerja dengan Live Queries (opsional)

Jika Anda membutuhkan pembaruan waktu nyata, Back4app menyediakan Live Queries. Dalam skenario Flask, Anda biasanya akan menggunakan pustaka langganan sisi klien atau sisi server terpisah yang dapat mempertahankan koneksi websocket ke server Live Query Back4App.

  1. Aktifkan Live Queries di dasbor Back4app Anda di bawah Pengaturan Server aplikasi Anda.
  2. Gunakan klien Parse LiveQuery yang terhubung ke wss://YOUR_SUBDOMAIN_HERE.b4a.io dan mendengarkan peristiwa buat/perbarui/hapus.

Langkah 3 – Menerapkan Keamanan dengan ACL dan CLP

Gambaran singkat

Back4app menyediakan Daftar Kontrol Akses (ACL) dan Izin Tingkat Kelas (CLP) untuk mengunci data. ACL berlaku untuk objek individu, sementara CLP berlaku untuk seluruh kelas. Ini membantu Anda membatasi atau mengizinkan operasi baca/tulis per pengguna, peran, atau publik.

Document image


Mengatur Izin Tingkat Kelas

  1. Buka Dasbor Back4app Anda, pilih aplikasi Anda, dan buka bagian Database.
  2. Pilih kelas (misalnya, “Todo”).
  3. Buka izin tingkat kelas tab.
  4. Konfigurasikan default Anda, seperti “Memerlukan Autentikasi” atau “Tidak Ada Akses.”

Mengonfigurasi ACL dalam kode

Anda dapat menerapkan ACL dalam kode Python:

Python


Langkah 4 – Menulis Fungsi Cloud Code

Mengapa Cloud Code

Cloud Code sangat cocok untuk menjalankan kode python (atau JavaScript dalam skenario lain) di sisi server, sehingga Anda tidak perlu meng-host infrastruktur Anda sendiri. Anda dapat menjalankan tugas seperti memvalidasi data, melakukan perhitungan kompleks, atau mengintegrasikan dengan layanan eksternal langsung dari server Parse.

Contoh fungsi

Karena lingkungan Cloud Code default untuk Back4App menggunakan Node.js, Anda akan menulis Cloud Code Anda dalam JavaScript. Namun, Anda masih dapat memicu skrip sisi server ini dari aplikasi Flask Anda. Misalnya, sebuah Fungsi Cloud Node.js mungkin terlihat seperti:

main.js


Penerapan

Gunakan Back4app CLI untuk menerapkan Cloud Code Anda:

Bash


Sebagai alternatif, Anda dapat menerapkan melalui Dasbor Back4app dengan menempelkan kode JS Anda ke Cloud Code > Functions dan mengklik “Terapkan.”

Document image


Memanggil Fungsi Anda

Dalam Flask, Anda dapat memanggil fungsi cloud itu menggunakan REST:

Python


Langkah 5 – Mengonfigurasi Autentikasi

Aktifkan atau atur autentikasi pengguna di dasbor Back4App

Back4App memanfaatkan User kelas secara default. Parse menangani hashing kata sandi, token sesi, dan penyimpanan yang aman. Anda dapat mengelola fitur-fitur ini di Pengaturan Aplikasi Anda.

Contoh kode

Python


Login Sosial

Back4App dan Parse dapat terintegrasi dengan penyedia sosial seperti Google, Apple, atau Facebook. Detail pengaturan bervariasi, jadi silakan merujuk ke Dokumen Login Sosial Parse.

Langkah 6 – Menangani Penyimpanan File

Mengatur Penyimpanan File

Anda dapat mengunggah file ke database Parse Anda dari Flask dengan membuat sebuah parse.File() objek di lingkungan berbasis Node, atau Anda dapat menggunakan panggilan REST langsung dari Python. Jika Anda menyimpan referensi ke file-file ini di kelas Anda, file-file tersebut menjadi mudah diambil.

Python


Contoh

Setelah mengunggah file, Anda akan menerima URL file yang dapat Anda simpan di database Anda. Anda kemudian dapat merender atau mereferensikan file tersebut di template html sesuai kebutuhan.

Langkah 7 – Verifikasi Email dan Reset Kata Sandi

Ikhtisar

Verifikasi email memastikan alamat email yang valid, dan reset kata sandi membantu pengguna mendapatkan kembali akses akun dengan aman.

Konfigurasi Dashboard Back4App

  1. Pergi ke Pengaturan Email di dashboard Back4App.
  2. Aktifkan verifikasi email dan konfigurasi template email.
  3. Aktifkan reset kata sandi untuk mengirim tautan pemulihan kata sandi ke email pengguna.

Kode/Implementasi

Setelah diaktifkan, setiap pengguna baru yang mendaftar dengan email akan menerima tautan verifikasi. Untuk reset kata sandi, Anda dapat memanggil metode bawaan Parse melalui REST atau dari rute Flask Anda.

Langkah 8 – Penjadwalan Tugas dengan Cloud Jobs

Apa yang dilakukan Cloud Jobs

Pekerjaan Cloud memungkinkan Anda untuk menjadwalkan tugas latar belakang seperti membersihkan data atau mengirim email berkala. Misalnya, Anda dapat menghapus catatan lama setiap hari tanpa intervensi pengguna.

Contoh

JS


Kemudian, dari Dasbor Back4App Anda:

  1. Pergi ke Pengaturan Aplikasi > Pengaturan Server > Pekerjaan Latar Belakang.
  2. Jadwalkan pekerjaan ini untuk dijalankan setiap hari atau pada interval yang Anda pilih.
Menjadwalkan Pekerjaan Cloud
Menjadwalkan Pekerjaan Cloud


Langkah 9 – Mengintegrasikan Webhook

Definisi

Webhooks memungkinkan aplikasi Back4app Anda mengirim data ke layanan eksternal setiap kali pemicu tertentu terjadi. Ini berguna untuk integrasi dengan gateway pembayaran, Slack, analitik, atau layanan pihak ketiga lainnya.

Konfigurasi

  1. Navigasikan ke konfigurasi Webhooks di dasbor Back4App Anda > Lainnya > WebHooks.
  2. Tambahkan Webhook baru.
  3. Pilih pemicu yang akan memicu webhook.
Menambahkan Webhook
Menambahkan Webhook


Contoh

Jika Anda ingin memberi tahu saluran Slack setiap kali catatan baru dibuat di “Todo,” atur URL webhook Slack. Kemudian, setiap kali Todo baru disimpan, Slack akan menerima permintaan POST yang berisi detailnya.

Langkah 10 – Menjelajahi Panel Admin Back4App

Aplikasi Admin Back4App menyediakan antarmuka yang ramah pengguna untuk anggota tim Anda yang tidak teknis. Ini adalah antarmuka yang berbasis model untuk operasi CRUD dan tugas tingkat perusahaan.

Di mana menemukannya

  1. Pergi ke Dasbor Aplikasi Anda.
  2. Pilih Lainnya > Aplikasi Admin dan aktifkan.
  3. Buat pengguna admin dan pilih subdomain untuk meng-host panel.
Aktifkan Aplikasi Admin
Aktifkan Aplikasi Admin

Document image

Document image


Setelah diaktifkan, Anda dapat masuk dengan kredensial admin Anda untuk mengelola data dengan lebih nyaman—tanpa menulis endpoint atau kueri khusus dalam kode Python Anda.

Document image


Kesimpulan

Dengan mengikuti tutorial komprehensif ini, Anda telah:

  • Membuat backend yang aman untuk aplikasi Flask di Back4App.
  • Mengonfigurasi database dengan skema kelas, tipe data, dan hubungan.
  • Mengintegrasikan kueri waktu nyata (Live Queries) untuk pembaruan data segera.
  • Menerapkan langkah-langkah keamanan menggunakan ACL dan CLP untuk melindungi dan mengelola akses data.
  • Mengimplementasikan Cloud Code fungsi untuk menjalankan logika bisnis kustom di sisi server.
  • Mengatur otentikasi pengguna dengan dukungan untuk verifikasi email dan pengaturan ulang kata sandi.
  • Mengelola unggahan file dan pengambilan, dengan kontrol keamanan file opsional.
  • Menjadwalkan Cloud Jobs untuk tugas latar belakang otomatis.
  • Menggunakan Webhooks untuk mengintegrasikan dengan layanan eksternal.
  • Menjelajahi Panel Admin Back4App untuk manajemen data.

Dengan framework backend Flask yang solid yang dapat mengembalikan file template render (jika diinginkan) dan pengaturan Back4App yang kuat, Anda sekarang dilengkapi untuk mengembangkan aplikasi yang kaya fitur, dapat diskalakan, dan aman.

Anda dapat menjalankan perintah flask run untuk memulai server pengembangan dan melanjutkan pengkodean.

Baris perintah tugas menjadi sederhana dengan metode pasca def rute yang menerima payload JSON.

Langkah Selanjutnya

  • Bangun aplikasi Flask yang siap produksi dengan memperluas backend ini untuk menangani model data yang lebih kompleks, strategi caching, dan optimasi kinerja.
  • Integrasikan fitur-fitur canggih seperti alur otentikasi khusus, kontrol akses berbasis peran, atau API eksternal (seperti gerbang pembayaran).
  • Periksa dokumentasi resmi Back4app untuk penjelasan lebih dalam tentang keamanan canggih, penyetelan kinerja, dan analisis log.
  • Jelajahi tutorial lainnya tentang aplikasi obrolan waktu nyata, dasbor IoT, atau layanan berbasis lokasi. Anda dapat menggabungkan teknik yang dipelajari di sini dengan API pihak ketiga untuk membuat aplikasi kompleks di dunia nyata.