Fondasi Framework Frappe: Membuat DocType

Rio Pramana

Pendahuluan

Dengan kerangka dasar aplikasi ‘Ride Management’ sudah dibentuk, kita akan melangkah ke fase implementasi struktur data aplikasi. Di episode ini, fokus kita adalah menciptakan DocType pertama kita yang akan menjadi blok bangunan untuk menyimpan dan mengelola data dalam aplikasi Frappe kita.

Memulai Bench

Sebelum kita mulai membuat DocType, kita perlu memastikan bahwa Bench kita sedang berjalan.

1. Memulai Server Lokal

Gunakan perintah berikut di terminal Anda untuk memulai server lokal:

bench start

Command ini akan menjalankan proses yang diperlukan, seperti server web dan background jobs, yang memungkinkan aplikasi Frappe untuk berjalan di browser lokal Anda.

2. Mengakses Situs

Buka browser dan masukkan alamat localhost yang telah dikonfigurasikan (biasanya http://localhost:8000 atau http://ip:8000) untuk mengakses situs Frappe Anda.

Membuat DocType Vehicle dan Driver

Di Frappe, DocType adalah komponen terpenting yang mengatur seluruh jalannya proses bisnis yang ada pada aplikasi web. DocType adalah table database yang tidak hanya menyimpan kolom dan data setiap objek, tetapi juga menyimpan metadata objek tersebut seperti tanggal objek dibuat, siapa yang memiliki objek tersebut, dan lainnya.

DocType bisa dikatakan setara dengan Model pada framework lainnya, terutama yang menggunakan arsitektur MVC. Dengan menyimpan metadata, Doctype mendefinisikan properti sekaligus perilaku dari Model.

DocType adalah inti dari aplikasi Frappe, yang mendefinisikan format data dan perilaku dari entitas bisnis dalam sistem Anda. Dalam aplikasi Ride Management, salah satu entitas yang paling penting adalah Vehicle dan Driver. Mari kita mulai membuat kedua entitas tersebut menjadi DocType di aplikasi kita.

1. Pastikan Developer Mode Hidup

Agar DocType yang kita buat bisa muncul sebagai file di direktori kita, kita harus menghidupkan developer mode terlebih dahulu jika belum.

bench set-config -g developer_mode true


2. Membuat DocType Baru

Untuk membuat DocType baru, kita dapat mencari New DocType pada AwesomeBar. Kemudian, Klik tombol New DocType untuk mulai membuat DocType baru.

Untuk DocType pertama kita, buatlah DocType bernama Vehicle dengan module Ride Management seperti gambar di samping. Kemudian, klik Create & Continue.

Setelah DocType terbuat, Anda akan melihat form view dari DocType Vehicle.

3. Menambahkan Fields

Di view ini, Anda dapat membuat field/kolom dari DocType Anda sekaligus mengatur UI form view-nya. Untuk kolom yang hanya berisi teks singkat, Anda dapat memilih Type Data. Anda juga dapat menentukan Label dan Name dari setiap kolom. Setiap field dapat didefinisikan dengan tipe data yang spesifik seperti ‘Data’, ‘Select’, ‘Link’, ‘Check’, dll.

Perlu diingat bahwa Name akan menentukan nama kolom pada database, sedangkan Label hanya akan berfungsi untuk display. Jika Anda mengosongkan Name, maka Name akan diisi secara otomatis oleh Frappe dengan mengambil Label Anda.

Sekarang, cobalah untuk membuat kolom-kolom berikut ini. Jangan lupa untuk memperhatikan Mandatory-nya yang berarti field tersebut harus selalu diisi.

4. Menyimpan dan Menggunakan DocType

Setelah menambahkan semua fields yang diperlukan, jangan lupa untuk menyimpan DocType. Frappe akan otomatis membuat tabel dalam database untuk menampung data yang sesuai dengan DocType tersebut. Tabel pada database ini akan selalu memiliki nama sesuai format: tab[Nama DocType]. Maka, Vehicle akan memiliki nama tabel tabVehicle pada database.

5. Latihan

Selain Vehicle, kita masih membutuhkan DocType Driver sebagai entitas penting dalam aplikasi Ride Management ini. Sebagai latihan, cobalah membuat DocType Driver dengan requirements sebagai berikut.

Jika Anda telah membuat Driver dengan benar, maka form view dari Driver Anda seharusnya berbentuk seperti ini.

Kesimpulan

Dengan berhasil menciptakan 2 DocType pertama, Anda telah meletakkan dasar untuk pengelolaan data dalam aplikasi ‘Ride Management’. DocType yang telah dibuat akan menentukan bagaimana data disimpan, dilihat, dan diinteraksikan oleh pengguna.

Share this article

Photo of author

About the author

Rio Pramana