SaleProject adalah aplikasi marketplace berbasis web untuk membeli dan menjual barang apapun yang Anda inginkan.
Berikut anggota tim kami:
- 13514029 | Muhammad Farhan Majid
- 13514041 | Varian Caesar
- 13514095 | Muhammad Az-zahid Adhitya Silp
Basis data SaleProject dibagi menjadi 2, yakni:
- Database account (t2_akun) yang digunakan untuk menyimpan data user seperti nama, username, alamat, dsb. Database ini digunakan oleh Identity Service.
- Database marketplace (t2_product) yang digunakan untuk menyimpan data produk dan transaksi yang ada pada sistem. Database ini digunakan oleh Marketplace Web Service.
Session menyimpan nilai token dari user yang sedang aktif. Token ini kemudian digunakan untuk mendapatkan konteks dari client, apakah user valid atau tidak. Nilai token ini dapat digunakan bersama oleh semua file .jsp dan divalidasi dengan REST pada Identity Service.
Token dibangkitkan ketika user melakukan login atau registrasi. Token kemudian disimpan pada session dan digunakan oleh Marketplace Web Service untuk melakukan autentikasi user. Token akan tidak dapat digunakan setelah melewati expire time yang telah ditentukan atau ketika user melakukan logout.
Dibandingkan dengan aplikasi monolitik (login, CRUD DB, dll jadi dalam satu aplikasi), arsitektur ini memiliki beberapa kelebihan dan kekurangan, yakni:
- Kelebihan: Loose coupling, yakni masing-masing komponen pada arsitektur dapat berjalan sendiri dan masing-masing komponen tidak perlu mempedulikan internal dari komponen lainnya. Hal ini memungkinkan independensi dari bahasa pemrograman dan platform yang dapat digunakan masing-masing komponen. Arsitektur ini juga lebih fleksibel, scalable, dan mempunyai maintenance cost yang lebih rendah dibandingkan arsitektur monolitik.
- Kekurangan: REST memiliki properti stateless yang dapat berpengaruh kepada tingginya redundansi request yang dilakukan client yang dapat menambah bandwith.
Berikut pembagian tugas dari tim kami:
REST :
- Generate token : 13514041
- Validasi token : 13514029
- SearchServlet : 13514095
- LoginServlet : 13514041
- DB : 13514041
- IdServlet : 13514029
- RegisterServlet : 13514029
- TokenServlet : 13514029
- logoutServlet : 13514041
SOAP :
- Add Product : 13513041
- getPhoto : 13514095
- getAllProduct : 13514095
- getProductPurchase : 13514095
- searchProduct : 13514095
- changeLikeStatus : 13514095
- insertLike : 13514095
- confirmPurchase : 13514041
- getPhotoPurchase : 13514095
- deleteProduct : 13514029
- getLike : 13514095
- getLikeStatus : 13514095
- getPhotoPurchase : 13514095
- getProductSales : 13514095
- getTotalPurchase : 13514095
- getYouProduct : 13514029
Web app (JSP) :
- Halaman Login : 13514041
- Halaman Register : 13514029
- Halaman Catalog : 13514095
- Halaman Confirmation Purchase : 13514029
- Halaman Your Products : 13514029
- Halaman Add Product : 13514041
- Halaman Edit Product : 13514041
- Halaman Sales : 13514095
- Halaman Purchases : 13514095
- PhotoGenerator : 13514095
- LikeServlet(TestServ) : 13514095