Skip to content

azliR/IF214002

Repository files navigation

IF214002

Repository pembelajaran Basis Data.

Aplikasi Restoran

Daftar Isi

Deskripsi

Terkadang kita ingin pergi ke suatu restoran atau sedang kumpul bersama teman-teman dan ingin memesan makanan bersama disana, apa yang pertama di benak kita? Apakah tempatnya ramai? Apakah masih tersedia meja untuk dipesan? Aplikasi restoran ini menjawab pertanyaan-pertanyaan tersebut. Dengan aplikasi restoran pelanggan dapat melihat status restoran yang ingin dipesan apakah ramai pembeli, apakah meja masih tersedia, apakah makanan tersedia, dan sebagainya hanya melalui aplikasi. Pelanggan hanya perlu memesan makanan dari aplikasi dan datang ke restoran untuk mengambil pesanan hanya dengan menunjukkan kode QR unik, tanpa perlu repot mengantri.

  • Pencarian restoran terdekat dengan lokasi pelanggan.
  • Melihat antrian dan status meja yang tersedia tanpa harus mengunjungi restoran terlebih dahulu.
  • Mempermudah melakukan pemesanan makanan atau minuman secara langsung dari aplikasi, beserta varian yang tersedia (jika ada).
  • Memesan secara terjadwal, pesan sekarang ambil beberapa jam kemudian.
  • Mempermudah melihat daftar order, baik itu pesanan yang masih menunggu konfirmasi, dan sedang disiapkan; sampai pesanan yang sudah selesai, pesanan ditolak, dan pesanan dibatalkan.

Changelog

⚠️ Note :
File gambar berekstensi .svg dengan tujuan agar file menjadi ringan dan tidak pecah. Untuk bisa memperbesar, klik kanan pada gambar dan klik buka gambar di tab baru (open image in new tab).

  • ⚑ Instalasi Diagrams.net
  • ⚑ Instalasi Docker
  • ⚑ Instalasi DBeaver
  • πŸ†• Membuat contoh diagram ERD
  • πŸ†• Membuat rancangan aplikasi berupa deskripsi dan atribut yang dibutuhkan
  • πŸ†• Membuat diagram untuk rancangan aplikasi
Diagram hasil praktikum (klik untuk membuka)

Diagram v0.2

  • πŸ†• Membuat rancangan aplikasi berupa diagram ER konseptual
  • πŸš€ Menambahkan cardinality dan optionality dari diagram sebelumnya
Diagram hasil praktikum (klik untuk membuka)

Diagram ER Konseptual v0.3

  • πŸš€ Menambahkan primary key dan composite key pada rancangan aplikasi
  • πŸš€ Menambahkan relasi antar entitas pada rancangan aplikasi
  • πŸš€ Mengubah diagram ER konseptual menjadi logical
Diagram hasil praktikum (klik untuk membuka)

Diagram ER Logical v0.4

  • πŸ› οΈ Memperbaiki beberapa optinality yang salah di beberapa entity
  • ✨ Mengubah tema diagram agar terlihat lebih rapi
  • ✨ Merapikan README.md
    • πŸš€ Menambahkan changelog untuk setiap pertemuan
    • πŸš€ Menambahkan gambar pertemuan sebelumnya untuk memudahkan perbandingan
Diagram hasil praktikum (klik untuk membuka)

Diagram ER Logical v0.5

  • ✨ Mengganti tipe data dari BINARY(16) menjadi UUID agar lebih umum dan jelas
  • ✨ Mengganti tipe data dari TINYINT(1) menjadi BOOLEAN agar lebih umum dan jelas
  • πŸ†• Menambahkan atribut role pada tabel users
  • πŸ†• Menambahkan tabel roles
  • πŸ› οΈ Menghapus atribut last_updated pada tabel users
  • πŸš€ Normalilasi Tabel! πŸ”₯πŸ”₯πŸ”₯πŸ”₯
    • πŸš€ Menghapus atribut total_person karena tidak diperlukan
    • πŸš€ Memerdekakan kolom yang bergantung pada postcode menjadi tabel postcodes
  • πŸš€ Sinkronisasi README.md dengan diagram ER
  • πŸ†• Menambahkan file restaurant.sql yang berisi kode SQL untuk pembuatan tabel-tabel menggunakan MariaDB
Diagram hasil praktikum (klik untuk membuka)

Diagram ER Logical v0.6

Quiz 1 jam. Lihat soal dan jawaban.

Diagram hasil praktikum (klik untuk membuka)

Diagram ER Logical v0.6

Pertemuan 8 (UTS)

Lihat soal dan jawaban UTS.
Lihat soal dan jawaban UTS Praktikum.

  • πŸ› οΈ Perbaikan struktur database pada users
  • πŸ†• Menambahkan file restaurant.sql yang berisi kode SQL untuk pembuatan tabel-tabel menggunakan PostgreSQL
Diagram hasil praktikum (klik untuk membuka)

Diagram ER Logical v0.9

  • πŸ†• Menambahkan query add data pada file restaurant.sql
  • πŸ†• Tugas
Cheatsheet PostgreSQL (klik untuk membuka)

Cheatsheet PostgreSQL

  • πŸ†• Menambahkan query add data pada file restaurant.sql
  • πŸ†• Menambahkan restaurant-no-plpgsql.sql yang berisi query tanpa PL/PGSQL
  • πŸš€ Update beberapa query restaurant.sql
  • πŸ†• Menambahkan restaurant-no-plpgsql-one-run.sql yang berisi query siap run
  • πŸš€ Update beberapa query restaurant-no-plpgsql.sql
  • πŸ†• Menambahkan project API di folder dart_restaurant_api
  • πŸš€ Mengubah nama restaurant-no-plpgsql-one-run.sql menjadi restaurant-template.sql
  • πŸš€ Update beberapa query restaurant-no-plpgsql.sql
  • πŸ†• Tugas, lihat disini
  • πŸ†• Update API dengan penambahan middleware dengan JWT menggunakan Redis

Diagram

Diagram ER Logical

Entitas dan Atribut

Note:
* primary key
** composite key

Users

  • * ID
  • Full name
  • Phone
  • Language code
  • Role
  • Created at

Roles

  • * Name

Stores

  • * ID
  • User ID
  • Name
  • Description
  • Image
  • Banner
  • Phone
  • Pickup type
  • Street address
  • Area
  • Postcode
  • Latitude
  • Longitude
  • Rating
  • Is active

Postcodes

  • Postcode
  • City
  • State
  • Country

Items

  • * ID
  • Store ID
  • Category ID
  • Sub category ID
  • Name
  • Picture
  • Price
  • Special offer
  • Description
  • Is active

Item Categories

  • * ID
  • Name

Item Category L10ns

  • ** Category ID
  • ** Langauge Code
  • Name

Item Sub Categories

  • * ID
  • Name

Item Sub Category L10ns

  • ** Sub Category ID
  • ** Langauge Code
  • Name

Item Addon Categories

  • * ID
  • * Item ID
  • Name
  • Description
  • Is multiple choice

Item Addons

  • * ID
  • Addon Category ID
  • Name
  • Price

Orders

  • * ID
  • User ID
  • Store ID
  • Table ID
  • Coupon ID
  • Buyer
  • Store image
  • Store banner
  • Created at
  • Coupon code
  • Coupon name
  • Discount
  • Discount nominal
  • Netto
  • Brutto
  • Status
    • Pending
    • Preparing
    • Ready
    • Complete
    • Cancelled
  • Order type
    • Scheduled
    • Now
  • Scheduled at
  • Pickup type
    • Dine-in
    • Pickup
  • Rating
  • Comment

Order Details

  • * ID
  • Order ID
  • Item ID
  • Item name
  • Quantity
  • Price
  • Netto
  • Picture
  • Item detail

Order Detail Addons

  • * ID
  • Order detail ID
  • Addon ID
  • Addon name
  • Quantity
  • Price

Tables

  • * ID
  • Store ID
  • Name
  • Max person
  • Book price

Coupons

  • * ID
  • Inserted by
  • ** Coupon code
  • Name
  • Description
  • Expiry date
  • Discount type
    • Fixed
    • Percentage
  • Discount
  • Min total
  • Max discount
  • Max number use total
  • Max number use user
  • Created at
  • All store
  • ** Is valid

Coupon Users

  • ** Coupon ID
  • ** User ID

Coupon Stores

  • ** Coupon ID
  • ** Store ID

Relasi Entitas

Entitas 1 Relasi Entitas 2
Users 1 1 - 0 1 Stores
Users 1 1 - 0 N Coupon Users
Users 1 1 - 0 N Coupons
Users 1 1 - 0 N Orders
Stores 1 1 - 0 N Orders
Stores 1 1 - 0 N Tables
Stores 1 1 - 0 N Items
Postcodes 1 1 - 0 N Stores
Items 1 1 - 0 N Order Details
Items N 0 - 1 1 Item Categories
Items N 0 - 0 1 Item Sub Categories
Items N 0 - 1 1 Item Addon Categories
Item Categories 1 1 - 0 N Item Category L10ns
Item Sub Categories 1 1 - 0 N Item Sub Category L10ns
Item Addon Categories 1 1 - 0 N Item Addons
Item Addons 1 1 - 0 N Order Detail Addons
Order Details 1 1 - 0 N Order Details Addons
Tables 1 1 - 0 N Orders
Orders 1 1 - 0 N Order Details
Orders N 0 - 0 1 Coupons
Coupons 1 1 - 0 N Coupon Stores
Coupons 1 1 - 0 N Coupon Users

Profil

Portfolio: https://azlir.github.io/

Nama        : Rizal Hadiyansah  
NIM         : 1207050109  
Kelas       : IF E  
Universitas : UIN Sunan Gunung Djati

About

Pembelajaran Basis Data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published