BookEat – Restaurant Booking

Aplikasi Android dua sisi untuk pemesanan di restoran. Pelanggan dapat memesan makanan dan meja, sementara pemilik restoran dapat mengelola pesanan, meja, dan menu secara real-time melalui dasbor khusus.

Lihat Kode di GitHub

Galeri Proyek

BookEat screenshot 1
BookEat screenshot 4
BookEat screenshot 2

Halaman bagi pelanggan untuk memilih menu yang tersedia.

Tujuan Proyek

Menciptakan sistem pemesanan terintegrasi yang menjembatani pelanggan dan pemilik restoran. Tujuannya adalah mengurangi waktu tunggu, mempermudah pengelolaan pesanan, dan memberikan pengalaman makan yang lebih efisien bagi kedua belah pihak.

Tantangan & Solusi

Sinkronisasi Status Meja secara Real-Time

Ketika seorang pelanggan memesan meja, status meja tersebut harus segera diperbarui di aplikasi semua pelanggan lain dan di dasbor restoran untuk mencegah pemesanan ganda (double booking).

Solusi: Memanfaatkan Firebase Realtime Database. Setiap meja memiliki status ('tersedia', 'dipesan'). Listener Firebase mendorong perubahan ke semua klien secara langsung sehingga ketersediaan meja di aplikasi pelanggan dan dasbor restoran selalu sinkron.

Fitur Utama

  • Login & Registrasi Pengguna (Pelanggan & Restoran).
  • Dasbor Restoran: Mengelola status meja, menu, dan melihat pesanan masuk.
  • Alur Pemesanan Pelanggan: Memilih meja, memilih menu, dan melakukan pemesanan.
  • Manajemen Pesanan: Pelacakan status pesanan dari 'diproses' hingga 'selesai'.
  • Riwayat Transaksi untuk pelanggan dan restoran.

Teknologi yang Digunakan

Kotlin
Firebase
Midtrans
View Binding
Navigation Component
Glide
Coroutines

Arsitektur Proyek

BookEat
app/
src/
main/
java/com/jif/bookeat/
activity/
fragment/
adapter/
model/
res/
layout/
drawable/
navigation/
AndroidManifest.xml
build.gradle.kts
google-services.json
build.gradle.kts
settings.gradle.kts