Layanan dibangun menggunakan Java EE EJB, Spring Boot, database MySQL dan antrian RabbitMQ. Semua layanan diekspos sebagai API REST, antarmuka web dibuat menggunakan java servlets, halaman JSP, HTML dan JavaScript.
Setiap layanan diimplementasikan sebagai proyeknya sendiri. Ini mensyaratkan ia memiliki basis kode sendiri dan DB sendiri. Jika Anda memiliki Layanan S1 dan Layanan S2 maka S1 seharusnya tidak dapat mendapatkan informasi dari DB S2, tetapi sebaliknya harus memintanya dari Layanan S2 melalui Panggilan REST.
Persyaratan fungsional
Aplikasi belanja akan membutuhkan produk untuk ditambahkan oleh perusahaan penjualan mereka, dan akan membutuhkan perusahaan pelayaran untuk memberikan produk, beberapa kegiatan administrasi perlu didukung. Aplikasi harus mendukung fitur -fitur berikut:
Fitur Admin
Pembuatan akun Perwakilan Perusahaan Penjualan Produk.
Diberikan berbagai nama unik perusahaan
Kata sandi untuk setiap perusahaan dihasilkan secara otomatis
Pembuatan Perusahaan Pengiriman
Daftar Akun Pelanggan
Daftar Perusahaan Pengiriman
Daftar Akun Perwakilan Perusahaan Penjualan
Menjual Fitur Perwakilan Perusahaan
Masuk ke sistem menggunakan kredensial yang dihasilkan seperti yang dikirim oleh admin
Lihat produk yang saat ini ditawarkan untuk dijual.
Lihat produk yang dijual sebelumnya, termasuk informasi tentang pelanggan yang membeli setiap produk dan perusahaan pengiriman.
Tambahkan produk baru.
Fitur Perusahaan Pengiriman
Proses permintaan pengiriman selama pelanggan yang membeli pesanan itu termasuk dalam wilayah geografis yang didukung.
Pelanggan harus diberi tahu, setelah permintaan pengiriman diproses.
Fitur Pelanggan
Daftar sebagai pelanggan baru melalui sistem.
Masuk ke sistem menggunakan kredensial yang digunakan selama pendaftaran.
Lihat pesanan pembelian saat ini dan sebelumnya.
Membuat pesanan pembelian baru. Pesanan harus ditangani dengan cara khusus untuk menghindari situasi kegagalan server.
Baik pemrosesan pesanan dan pengiriman mereka harus dikonfirmasi kembali ke pelanggan.
Persyaratan teknis
Penggunaan 4 jenis kacang yang berbeda untuk memenuhi persyaratan fungsional di atas:
Tanpa kewarganegaraan
Stateful
Singleton
Pesan didorong
Antarmuka harus berupa antarmuka berbasis web menggunakan teknologi pilihan Anda untuk mensimulasikan aplikasi belanja online yang berfungsi dengan pengguna yang berbeda sesuai persyaratan fungsional yang disebutkan di atas.
Layanan harus diekspos sebagai API REST, dan Anda harus mengekspos kacang Anda menggunakan istirahat untuk memenuhi API REST layanan web sebagaimana mestinya.