Project EAS PWEB

 


   Nama : Muhamad Faiz Fernanda

   Kelas  : PWEB-B

   NRP   : 5025211186

   Link SourceCode  :https://github.com/faizfernanda/Final-Project-Pweb

Deskripsi :

Dalam pengerjaan Final Project saya memiliki ide untuk membuat sebuah website online mengenai pemesanan makanan, dimana nama website nya saya beri nama dengan "ManganKu". Untuk deskripsi aplikasinya sebagai berikut :

Manganku adalah sebuah platform pemesanan makanan yang revolusioner, dirancang untuk memenuhi kebutuhan kuliner Anda dengan cara yang cepat, mudah, dan menyenangkan. Dengan antarmuka yang ramah pengguna dan berbagai fitur inovatif, Manganku membawa pengalaman memesan makanan Anda ke level berikutnya.


Fitur yang ada di Aplikasi :

Berikut ini fitur - fitur yang bisa di terapkan dalam aplikasi ini :

1. Beranda:

    Rekomendasi Spesial: Menampilkan promosi, diskon, dan makanan spesial dari restoran terpopuler.

2. Pencarian dan Filter:

    Pencarian Cepat: Fasilitas pencarian berdasarkan nama restoran atau jenis masakan.

    Filter: Berdasarkan kategori makanan, harga, jarak, dan rating.

3. Menu Restoran:

    Deskripsi dan Harga: Informasi rinci tentang setiap item menu dengan harga.

    Foto Makanan: Galeri foto menarik untuk setiap hidangan.

4. Pemesanan:

    Keranjang Belanja: Menyimpan item yang dipilih sebelum proses checkout.

    Pemilihan Kuantitas: Memungkinkan pengguna memilih jumlah porsi.

    Catatan Tambahan: Opsi untuk menambahkan catatan atau preferensi khusus.

5. Checkout dan Pembayaran:

    Ringkasan Pesanan: Tampilan akhir sebelum pembayaran.

    Pilihan Pembayaran: Kartu kredit, e-wallet, atau pembayaran tunai.

    Kode Promo: Ruang untuk memasukkan kode promo atau diskon.

6. Notifikasi:

    Konfirmasi Pesanan: Notifikasi langsung setelah pemesanan berhasil.

    Status Pesanan: Pemberitahuan tentang proses persiapan dan pengiriman.

7. Histori Pesanan:

    Riwayat Pesanan: Daftar lengkap pesanan sebelumnya dengan detail transaksi.

8. Promo dan Diskon:

    Penawaran Khusus: Informasi tentang promosi dan diskon dari restoran tertentu.

    Program Loyalti: Sistem poin atau diskon khusus untuk pelanggan setia.

9. Ulasan dan Penilaian:

    Ulasan Pengguna: Ruang bagi pelanggan untuk memberikan ulasan dan penilaian.

    Rating Restoran: Menunjukkan rating restoran berdasarkan ulasan pengguna.

10. Lokasi dan Pengiriman:

    Peta Restoran: Integrasi peta untuk menunjukkan lokasi restoran.

    Opsi Pengiriman: Pilihan antara pengiriman langsung atau pengambilan sendiri.

11. Akun Pengguna:

    Profil Pengguna: Informasi akun dan pengaturan pribadi.

    Histori Pesanan: Menyimpan riwayat pesanan untuk referensi pengguna.

Diagram Alur :



Rancangan mengenai Database nya :

CDM

PDM

1. Tabel Pengguna (Users):

  • UserID (Primary Key)
  • Nama Pengguna
  • Email
  • Kata Sandi
  • Alamat Pengiriman
  • Nomor Telepon

2. Tabel Restoran (Restaurants):

  • RestaurantID (Primary Key)
  • Nama Restoran
  • Deskripsi
  • Alamat
  • Nomor Telepon
  • Jam Operasional

3. Tabel Menu (Menus):

  • MenuID (Primary Key)
  • RestaurantID (Foreign Key mengacu pada Restaurants)
  • Nama Menu
  • Deskripsi
  • Harga
  • Foto

4. Tabel Pesanan (Orders):

  • OrderID (Primary Key)
  • UserID (Foreign Key mengacu pada Users)
  • Waktu Pemesanan
  • Status Pesanan (dalam proses, dikirim, selesai, dibatalkan, dll.)

5. Tabel Detail Pesanan (OrderDetails):

  • OrderDetailID (Primary Key)
  • OrderID (Foreign Key mengacu pada Orders)
  • MenuID (Foreign Key mengacu pada Menus)
  • Kuantitas
  • Catatan Tambahan

6. Tabel Metode Pembayaran (PaymentMethods):

  • PaymentMethodID (Primary Key)
  • UserID (Foreign Key mengacu pada Users)
  • Jenis Pembayaran (kartu kredit, e-wallet, tunai, dll.)
  • Informasi Pembayaran (nomor kartu kredit, ID e-wallet, dll.)

7. Tabel Ulasan (Reviews):

  • ReviewID (Primary Key)
  • UserID (Foreign Key mengacu pada Users)
  • RestaurantID (Foreign Key mengacu pada Restaurants)
  • Bintang Penilaian
  • Komentar

8. Tabel Promo dan Diskon (Promotions):

  • PromoID (Primary Key)
  • Kode Promo
  • Jenis Diskon (persentase, jumlah tertentu, dll.)
  • Nilai Diskon
  • Batas Penggunaan
  • Tanggal Berlaku

9. Tabel Histori Pesanan (OrderHistory):

  • HistoryID (Primary Key)
  • OrderID (Foreign Key mengacu pada Orders)
  • Status Lama
  • Status Baru
  • Waktu Perubahan

10. Tabel Kategori Makanan (FoodCategories):

  • CategoryID (Primary Key)
  • Nama Kategori

Design Front-End :

Untuk halaman utamanya :

untuk halaman categories :
untuk halaman harga makanan dan order :
halaman tambahan untuk mendukung aplikasi :


Logika Back-End :

1. Autentikasi Pengguna:
  • Registrasi Pengguna: Memproses permintaan pendaftaran pengguna baru dengan menyimpan informasi seperti nama pengguna, email, dan kata sandi ke dalam database.
  • Masuk Pengguna: Memverifikasi keabsahan pengguna berdasarkan email dan kata sandi. Menghasilkan token akses setelah autentikasi berhasil.
2. Manajemen Restoran dan Menu:
  • Tambah Restoran: Menangani penambahan restoran baru ke dalam database.
  • Tambah Menu: Menangani penambahan item menu baru beserta detailnya ke dalam database.
  • Update Menu dan Restoran: Memungkinkan pembaruan informasi restoran dan menu.
3. Pemesanan dan Pembayaran:
  • Proses Pemesanan: Menerima pesanan baru, memperbarui status pesanan, dan mengelola pembayaran.
  • Verifikasi Pembayaran: Memastikan validitas dan keabsahan pembayaran sebelum mengonfirmasi pesanan.
  • Generasi Invoice: Membuat invoice atau kwitansi setelah pembayaran berhasil.
4. Manajemen Promosi dan Diskon:
  • Tambah Promo dan Diskon: Menangani penambahan promo atau diskon baru ke dalam database.
  • Verifikasi Kode Promo: Memvalidasi keabsahan dan penggunaan kode promo.
5. Ulasan dan Penilaian:
  • Tambah Ulasan: Memproses ulasan dan penilaian yang diberikan oleh pengguna untuk restoran tertentu.
  • Perhitungan Rating: Menghitung rata-rata rating restoran berdasarkan ulasan yang diterima.
6. Histori Pesanan:
  • Pembaruan Status Pesanan: Memperbarui status pesanan berdasarkan tahapan pengiriman atau persiapan.
  • Riwayat Status Pesanan: Merekam perubahan status pesanan ke dalam tabel riwayat untuk referensi.
7. Manajemen Pengguna:
  • Update Profil Pengguna: Memungkinkan pengguna memperbarui informasi profil mereka.
  • Ganti Kata Sandi: Menangani permintaan pengguna untuk mengganti kata sandi akun.
8. Analitika dan Pelacakan:
  • Analisis Penggunaan Aplikasi: Mengumpulkan dan menganalisis data penggunaan aplikasi untuk meningkatkan pengalaman pengguna.
  • Pelacakan Performa Promo: Melacak efektivitas promosi dan diskon.
9. Layanan Pelanggan:
  • Chat Dukungan Langsung: Menanggapi dan mengelola percakapan dari pengguna yang mencari dukungan langsung.
10. Integrasi Pihak Ketiga:
  • Integrasi Gateway Pembayaran: Berinteraksi dengan gateway pembayaran untuk memproses transaksi online.
  • Integrasi Peta: Menggunakan layanan peta untuk menunjukkan lokasi restoran.
11. Keamanan:
  • Verifikasi Otorisasi: Memastikan bahwa pengguna memiliki hak akses yang sesuai untuk melakukan tindakan tertentu.
  • Enkripsi Data: Menangani enkripsi data sensitif seperti informasi pengguna dan pembayaran.
12. Notifikasi:
  • Pengiriman Notifikasi: Mengirim notifikasi real-time kepada pengguna terkait status pesanan dan promosi.
13. Pengelolaan Stok (Opsional):
  • Update Stok Menu: Memastikan bahwa stok item menu diperbarui setelah setiap pesanan.
Berikut ini vidio presentasi mengenai implementasi dari website yang telah kami buat 
   


Komentar

Postingan populer dari blog ini

Low Level Design

Evaluasi Akhir Semester

Estimasi Kapasitas Sistem