Final Project Pemrograman Web

Final Project Pemrograman Web


  • Studi kasus pemrograman web
    Studi kasus ini membahas implementasi sistem E-Grocery pada PD. Agung Jaya yaitu sebuah perusahaan yang menyediakan berbagai macam produk termasuk bahan masakan seperti sayur, buah, ikan dan daging. Sistem ini bertujuan untuk memperlancar pendistribusian produk dan memperluas pangsa pasar melalui transformasi proses bisnis ke arah digitalisasi, mobilitas modal, dan liberalisasi produk.
    Diharapkan sistem ini mampu menghapuskan perantara, mengurangi biaya produksi, serta menyederhanakan proses distribusi produk. Langkah digitalisasi penjualan tidak hanya berdampak pada efisiensi operasional, melainkan juga membangun hubungan positif dengan pelanggan. Penerapan teknologi web melibatkan bahasa pemrograman seperti PHP, Java Script, HTML, MySQL, dan CSS.

  • Buatlah rancangan umum arsitektur atau fitur yang ada dalam aplikasi 
Rancangan umum arsitektur:
1. Front-end (Antarmuka Pengguna):
    - Halaman Beranda: Menampilkan produk-produk terbaru dan kategori produk.
    - Pencarian: Memungkinkan pengguna mencari produk berdasarkan nama, kategori, atau merek.
    - Keranjang Belanja: Pengelolaan produk yang akan dibeli.
    - Whishlist : Memungkinkan pengguna untuk menandai produk yang ingin dibeli di kemudian hari.
    - Pembayaran: Proses pembayaran online dan informasi terkait.
    - Akun : Memudahkan pengguna untuk memperbarui akun dan keluar dari akun.
    - Halaman Shop : Menampilkan produk yang dijual berdasarkan kategori produk.
    - Halaman Order : Menampilkan informasi produk yang sudah dibeli beserta status pembelian produk.

2. Back-end (Server dan Database):
    - Server Aplikasi: Menangani logika bisnis, termasuk proses pembelian, verifikasi pembayaran, dan manajemen stok.
    Database: Menyimpan informasi produk, informasi pelanggan, riwayat transaksi, dan stok barang.
    Manajemen Pesanan: Sistem untuk melacak dan mengelola status pesanan.
    Sistem Otentikasi dan Keamanan: Login, registrasi, dan manajemen akun pelanggan dan admin.

3. Manajemen Produk:
       Tambah/Ubah/Hapus Produk: Kemampuan untuk menambahkan, mengedit, atau menghapus produk dari inventaris.
        Sistem Pembayaran:
            * Pembayaran Online: Integrasi dengan penyedia pembayaran online untuk memproses transaksi.
            * Konfirmasi Pembayaran: Mengelola konfirmasi pembayaran dan pemberitahuan kepada pengguna.

4. Manajemen Pengguna:
    - Hak Akses: Penetapan hak akses berbeda antara pengguna biasa dan admin.
    - Profil Pengguna: Pengelolaan informasi pribadi dan histori transaksi.

Fitur-fitur dalam aplikasi:
    1, Pencarian Produk
    2. Keranjang Belanja Online
    3. Proses Checkout dan Riwayat Pembelian
    4. Sistem Ulasan dan Rating
    5. Integrasi Pembayaran Online
  • Rancang desain database
1. Tabel User:
    id (Primary Key)
    name
    email
    password
    user_type (Default: 'user')
    image
2. Tabel Products:
    id (Primary Key)
    name
    category
    details
    price
    image
3. Tabel Cart:
    id (Primary Key)
    user_id (Foreign Key mengacu ke User)
    pid (Foreign Key mengacu ke Products)
    name
    price
    quantity
    image
4. Tabel Wishlist:
    id (Primary Key)
    user_id (Foreign Key mengacu ke User)
    pid (Foreign Key mengacu ke Products)
    name
    price
    image
5. Tabel Orders:
    id (Primary Key)
    user_id (Foreign Key mengacu ke User)
    name
    number
    email
    method
    address
    total_products
    total_price
    placed_on
    payment_status (Default: 'pending')
6. Tabel Message:
    id (Primary Key)
    user_id (Foreign Key mengacu ke User)
    name
    email
    number
    message
  • Buat desain front end
1. Halaman utama:
    - menu navigasi : 
            * user : home, kategori, proses pembelian, produk, kontak, tentang kami, keranjang belanja, whislist, profil pengguna, dan bar pencarian
            * admin : home, pesan, stok produk, jumlah pembelian yang sudah di check out maupun yang ada di keranjang, profil pengguna, total pendapatan baik yang sudah diselesaikan maupun yang sedang di proses, informasi jumlah akun admin&penggunayang terhubung ke web, dan jumlah akun yang sudah melakukan registrasi di web
2. Halaman kategori produk:
    - Tampilkan berbagai kategori produk (buah, produk susu, daging, dll.).
    - Thumbnail atau gambar yang mewakili setiap kategori.
3. Halaman daftar produk:
    - Tunjukkan produk dalam kategori tertentu.
    - Gambar produk, nama, harga, dan deskripsi singkat.
    - Pilihan untuk pencarian produk.
    - Deskripsi produk  harga, dan opsi kuantitas.
    - Tombol tambah ke keranjang.
4. Keranjang belanja:
    - Daftar produk yang ditambahkan dengan gambar, nama, kuantitas, dan harga.
    - Opsi untuk memperbarui atau menghapus item.
    - Perhitungan total biaya.
5. Proses checkout:
    - Formulir detail pengguna (nama, alamat, informasi kontak).
    - Opsi pengiriman dan opsi pembayaran.
6. Konfirmasi pesanan:
    - Ringkasan pesanan dengan detail.
    - Konfirmasi pembayaran.
7. Akun pengguna:
    - Informasi profil.
    - Opsi update profil, log in, log out, dan registrasi
8. Halaman kontak:
    - Formulir pertanyaan.

  • Tentukan action yang akan mengandle logika back end
1. Register User:
    - Menerima data registrasi (nama, email, password).
    - Memastikan email unik.
    - Mengenkripsi password sebelum menyimpannya di database.    
    - Memberikan nilai default untuk user_type dan image jika diperlukan.
    - Menyimpan data user ke dalam tabel Users.
2. Login User:
    - Menerima data login (email, password).    
    - Memeriksa kecocokan data login dengan data di database. 
    - Menghasilkan token otentikasi (JWT) setelah login berhasil.
    - Menyimpan token otentikasi di sisi klien (misalnya, cookie atau local storage).
3. Add to Cart:
    - Menerima data produk yang ditambahkan ke keranjang (user_id, product_id, quantity).    
    - Memeriksa ketersediaan produk dan stok.
    - Menambahkan produk ke dalam tabel Cart dengan menyimpan informasi seperti harga, nama, dan gambar produk.
4. Add to Wishlist:
    - Menerima data produk yang ditambahkan ke wishlist (user_id, product_id).    
    - Memeriksa apakah produk  sudah ada di wishlist.
    - Menambahkan produk ke dalam tabel Wishlist.
5. Place Order:
    - Menerima data pemesanan (user_id, items in cart, metode pembayaran, alamat pengiriman.
    - Mengurangi stok produk berdasarkan jumlah yang dipesan.    
    - Membuat catatan pesanan dalam tabel Orders.
    - Membersihkan isi keranjang setelah pesanan berhasil.
6. View Order History:
    - Mengambil data pesanan berdasarkan user_id.
    - Menampilkan riwayat pesanan kepada pengguna.
7. Send Message:
    - Menerima data pesan (user_id, name, email, number, message).    
    - Menyimpan pesan ke dalam tabel Message.
    - Memberikan notifikasi atau merespons kepada pengguna jika diperlukan.
8. Update User Profile:
    - Menerima data pembaruan profil (user_id, name, email, password, image).   
    - Memperbarui informasi profil pengguna dalam tabel Users.
    - Mengenkripsi password baru sebelum menyimpannya.
9. Logout User:
    - Menghapus token otentikasi yang ada di sisi klien.    
    - Memastikan keluar dari sesi.
  • Implementasikan rancangan yang sudah dibuat

Link Source Code

  • Buat video presentasinya, upload di youtube, dan didokumentasikan di blog

Link Youtube

Komentar

Postingan populer dari blog ini