Arvilanti Devani
Pembuatan website toko roti yang bernama “Sweet Bakery” ini adalah sebuah website yang menyediakan platform untuk pengelolaan menu roti dengan fokus pada kemampuan untuk memperbarui, mengedit, dan menambah daftar roti. Website ini dibangun menggunakan React Native untuk frontend dan Flask untuk backend, serta mengintegrasikan API RajaOngkir untuk menghitung ongkos kirim yang memudahkan untuk mengetahui biaya pengiriman.
Sweet Bakery adalah sebuah aplikasi berbasis web yang dirancang untuk memudahkan pengelolaan menu roti di sebuah toko roti. Dengan fitur pengelolaan menu roti yang memungkinkan pemilik toko untuk menambah, memperbarui produk, serta fitur pengecekan ongkos kirim menggunakan API RajaOngkir, Sweet Bakery memberikan solusi yang efisien dan efektif bagi pemilik toko dan pelanggan. Aplikasi ini dibangun dengan kombinasi React Native untuk frontend dan Flask untuk backend, menawarkan pengalaman pengguna yang interaktif dan performa yang stabil.
Backend - Flask:
Flask adalah framework web berbasis Python yang digunakan untuk membangun backend dari Sweet Bakery. Backend ini bertanggung jawab untuk menangani permintaan HTTP dari frontend, melakukan operasi pada database, serta berinteraksi dengan API eksternal untuk menghitung ongkos kirim. Berikut adalah komponen utama yang digunakan pada backend:
API Endpoints:
Frontend - React Native:
Frontend Sweet Bakery dibangun menggunakan React Native, sebuah framework JavaScript yang memungkinkan pembuatan aplikasi mobile dan web yang responsif. React Native mempermudah pengembangan antarmuka pengguna dengan komponen UI yang dinamis dan dapat disesuaikan. Berikut adalah fitur utama yang terdapat pada frontend:
Teknologi yang Digunakan:
Pembuatan Backend
1. Akses Server
Mengakses server dengan menggunakan SSH dan pastikan memasukkan password dengan benar.
2. Membuat Folder Backend
Membuat folder untuk backend kemudian arahkan menuju directorynya.
3. Membuat API dengan Flask
API Flask ini mengelola data roti dan menghitung biaya pengiriman menggunakan RajaOngkir. Terdapat empat endpoint utama: /get_roti untuk mengambil daftar roti dari database, /add_roti untuk menambahkan roti baru, dan /update_roti/<id> untuk memperbarui informasi roti berdasarkan ID. Endpoint /shipping_cost menghitung biaya pengiriman dengan mengirimkan permintaan ke API RajaOngkir menggunakan parameter asal, tujuan, berat, dan kurir. API ini terhubung ke database MySQL untuk menyimpan data roti dan menggunakan Flask-CORS untuk mengizinkan permintaan lintas sumber. Jika terjadi kesalahan, API mengembalikan pesan error yang sesuai.
4. Membuat Database
Pada proyek ini, kita menggunakan database MySQL untuk menyimpan data menu roti. Database ini akan digunakan untuk menyimpan dan mengelola data roti seperti nama roti, harga, dan jumlah stok yang tersedia.
5. Menjalankan Server
Aplikasi Flask akan berjalan pada http://110.239.71.90:5022 dan bisa di akses API untuk mengambil data roti, menambah roti, dan cek ongkos kirim.
Pembuatan Frontend
Membuat folder project
Masuk ke dalam folder project.
Buka vscode dengan perintah berikut.
Membuat file App.js dan App.css
App.js adalah komponen utama React dalam proyek yang mengelola logika aplikasi dan menggabungkan komponen serta fitur utama.
App.css adalah file stylesheet dalam proyek React yang berfungsi untuk mengatur tampilan visual atau gaya dari aplikasi. Di dalam file ini, bisa menentukan bagaimana elemen-elemen di App.js akan tampil, termasuk pengaturan warna, tata letak, ukuran, margin, padding, dan lain-lain.
Tampilan Web
Tampilan web yang ditampilkan adalah antarmuka sederhana untuk pengelolaan data produk roti dengan fitur tambahan untuk pengecekan ongkos kirim. Di bagian atas halaman, terdapat judul "Sweet Bakery" yang menunjukkan nama aplikasi atau toko roti, dengan subjudul "Daftar Roti" sebagai penanda bagian yang menampilkan daftar produk roti.