Anda di halaman 1dari 6

################################ Soal Cerita: ##########################

Mba Devi Pengen Bikin Usaha Kecil Kecilan Yakni Jualan Cangkir Unik Kekinian Top Markotop Di Instagram dan Tiktok,
Alhamdulillah setelah 3 bulan berjalan bisninsnya laris manis, setiap hari bisa ada 1000 order cangkirNah Tapi Dia Pusing Banget
Nih Karena Setiap Harinya dia harus begadang ngurusin rekap penjualan, mana bonnya kadang ada yang lupa kecatat, kadang ada
yang salah kirim
karena itu dia minta tolong nih sama kalian buat bikinin blue print sistem cangkir UKTM ini yang nantinya bisa diimplementasi dan
menyelesaikan masalah mba Devi.

Berikut ini hasil wawancara sama Mba Devi terkait data data yang dibutuhkan/dihasilkan dalam membuat sistem produksi cangkir.

Sistem Produksi Cangkir:

[Invoice Produksi]
Invoice Number : INV-73456
Kode Barang : GTX-1212
Nama Barang : Cangkir Gurame
Harga Barang : 20000
Jumlah : 12
Total : 240000
Tanggal Pesan : 12-11-2020
Penerima : Mas Anton
Alamat Penerima : Jalan Bunga no 24, Jakarta Barat

[Status Produksi]
Invoince Number : INV-73456
Status : [desain, konfirmasi, Cetak, Siap, Kirim, Sampai]
Catatan : Sudah disetujui oleh customer
Tanggal Masuk : 13-11-2020
Tanggal Produksi : 13-11-2020
Tanggal Seleai : 13-11-2020
[Pembayaran]
Invoice Number : INV-73456
Metode Bayar : Transfer [Transfer,CC,Shopee,Tokopedia]
Bukti Bayar : <File Foto>
Status : Lunas [Pending, Lunas, Batal]
Tanggal Bayar : 12-11-2020

Note:
1. Barang akan di produksi ketika pembayaran telah lunas

Pertanyaan:
1. Tolong bikin model database sederhannya;
2. Tolong bikin query pada service tersebut untuk:
a. melihat list list status dan invoice produksi
SELECT a.invoice_no,
a.total_item b. create, update, delete produksi
a.total_price, - INSERT:
a.created_at,
INSERT INTO invoice (item_id, invoice_no, total_item, total_price, receiver_name, receiver_address,
b.status AS production_status,
created_at, created_by)
b.request_date,
values (1, 'INV-73456', 12, 20000, 'Mas Anton', 'Jalan Bunga no 24, Jakarta Barat', NOW(), 'USER1');
b.production_date,
b.completed_date,
c.payment_method, - UPDATE
c.status AS payment_status UPDATE production_status SET status = ‘LUNAS’ WHERE invoice_id = ‘NV-73456’;
FROM invoice a -
JOIN production_status b DELETE
ON a.id = b.invoice_id
DELETE FROM production_status WHERE invoice_id = ‘NV-73456’;
JOIN payment c
ON a.id = c.invoice_id;
3. Tolong bikin model REST API
sederhana pada service produksi untuk menunjang komunikasi antar service
Bisa dibagi menjadi beberapa service per entitas database (micro-service based).

1. Invoice Service
1. GET invoice List

Description To get invoice list of a user

URL Path /api/v1/invoice Remarks

HTTP Method GET

Content-Type application/json

Headers Authorization: Bearer [token] Use jwt nad the payload is user_id

Request Params Data Type Optional

Response Status success Boolean

message string

invoice_list invoice_no string

total_item string

total_price string

receiver_name string

receiver_address string

created_at timestamp string

production_status string

payment_method string

payment_status string

2. User service
1. GET User Detail

Description To get user profile

URL Path /api/v1/user/<id> Remarks

HTTP Method GET

Content-Type application/json

Headers Authorization: Bearer [token] Use jwt nad the payload is user_id

Request Params Data Type Optional

Response Status success Boolean

message string

user_detail email string

phone_number string

name string

date_of_birth string

Anda mungkin juga menyukai