- Lakukan Instalasi Gradle
- Lakukan Instalasi Docker dan Docker Compose, jika pengguna linux, silahkan lihat di artikel Belajar Docker
- Jalankan file shell
docker-build.sh
untuk proses build project - Jalankan perintah
docker-compose up
untuk menjalankan 11 container secara berbarengan
- Jalankan perintah berikut secara berurutan
gradle clean build docker -p Admin-Dashboard gradle clean build docker -p Transaction-Service gradle clean build docker -p Catalog-Service gradle clean build docker -p OAuth2-Service gradle clean build docker -p API-Gateway
- Jalankan perintah
docker-compose up
untuk menjalankan 11 container secara berbarengan
- Jalankan perintah berikut untuk mengenerate token OAuth2 :
curl -X POST \
http://localhost:8080/v1/api/oauth/token \
-vu clientid:secret \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d grant_type=client_credentials
dan berikut adalah contoh hasil token nya :
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiUkVTT1VSQ0VfSURfQVBJX0dBVEVXQVkiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTUxNTkwMjEwMiwiYXV0aG9yaXRpZXMiOlsiQURNSU5JU1RSQVRPUiIsIkNMSUVOVCIsIkFETUlOIl0sImp0aSI6ImMzMjg1YTU4LWZiNGQtNDQ5ZS1iMTZkLWVlZjNhZDcxMDFhZCIsImNsaWVudF9pZCI6ImNsaWVudGlkIn0.hPzJeSHX8_I_h6VCXIn2nlZJ5pA-0ULWI65Gd15AatiG2g5RhTNT4JUyi-LnNr8ZFwZiPU4KhzZczKNh71yBJ1sskZ3DmqdDtrsOyUciOO11e9HCp4sj8obGDzFwaG1kKKoEDwQarTeUbmjlAY6AGA1BYSFNkiJzHuFtlwOnVYXHoUUZ6CSvOMD03VAuoHgrgUhwjqr8lzouKUwAuR1RvsUJOan-I5bisrLG4mgsX221x9z4x9F2_0ufHDWRxT76bgOThOfqoGdpBn0sNp0IP3NNHXcW4P81QZLYoUQh1Lp1LPdsYMpbA4ywIinPplVOjD7jNhQtEu0mxrY3DxnhyQ",
"token_type": "bearer",
"expires_in": 3599,
"scope": "read write",
"jti": "c3285a58-fb4d-449e-b16d-eef3ad7101ad"
}
- Akses Catalog service service dengan menggunakan perintah berikut
curl -X GET \
http://localhost:8080/v1/catalog/api/barangs \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiUkVTT1VSQ0VfSURfQVBJX0dBVEVXQVkiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTUxNTkwMjEwMiwiYXV0aG9yaXRpZXMiOlsiQURNSU5JU1RSQVRPUiIsIkNMSUVOVCIsIkFETUlOIl0sImp0aSI6ImMzMjg1YTU4LWZiNGQtNDQ5ZS1iMTZkLWVlZjNhZDcxMDFhZCIsImNsaWVudF9pZCI6ImNsaWVudGlkIn0.hPzJeSHX8_I_h6VCXIn2nlZJ5pA-0ULWI65Gd15AatiG2g5RhTNT4JUyi-LnNr8ZFwZiPU4KhzZczKNh71yBJ1sskZ3DmqdDtrsOyUciOO11e9HCp4sj8obGDzFwaG1kKKoEDwQarTeUbmjlAY6AGA1BYSFNkiJzHuFtlwOnVYXHoUUZ6CSvOMD03VAuoHgrgUhwjqr8lzouKUwAuR1RvsUJOan-I5bisrLG4mgsX221x9z4x9F2_0ufHDWRxT76bgOThOfqoGdpBn0sNp0IP3NNHXcW4P81QZLYoUQh1Lp1LPdsYMpbA4ywIinPplVOjD7jNhQtEu0mxrY3DxnhyQ'
dan berikut adalah contoh hasil token nya :
{
"content": [
{
"idBarang": 1,
"namaBarang": "Barang 1",
"jenisBarang": "gas",
"tanggalKadaluarsa": {
"year": 2018,
"month": "JANUARY",
"leapYear": false,
"dayOfMonth": 14,
"dayOfWeek": "SUNDAY",
"dayOfYear": 14,
"era": "CE",
"monthValue": 1,
"chronology": {
"calendarType": "iso8601",
"id": "ISO"
}
},
"hargaSatuanBarang": 5000,
"jumlahBarangTersedia": 6
},
{
"idBarang": 2,
"namaBarang": "Barang 2",
"jenisBarang": "cair",
"tanggalKadaluarsa": {
"year": 2018,
"month": "JANUARY",
"leapYear": false,
"dayOfMonth": 14,
"dayOfWeek": "SUNDAY",
"dayOfYear": 14,
"era": "CE",
"monthValue": 1,
"chronology": {
"calendarType": "iso8601",
"id": "ISO"
}
},
"hargaSatuanBarang": 10000,
"jumlahBarangTersedia": 7
}
],
"totalPages": 1,
"totalElements": 10,
"last": true,
"numberOfElements": 10,
"first": true,
"sort": null,
"size": 20,
"number": 0
}
- Akses Transaction service service dengan menggunakan perintah berikut
curl -X GET \
http://localhost:8080/v1/transaction/api/penjualan/penjualandetails/1 \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiUkVTT1VSQ0VfSURfQVBJX0dBVEVXQVkiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTUxNTkwMjEwMiwiYXV0aG9yaXRpZXMiOlsiQURNSU5JU1RSQVRPUiIsIkNMSUVOVCIsIkFETUlOIl0sImp0aSI6ImMzMjg1YTU4LWZiNGQtNDQ5ZS1iMTZkLWVlZjNhZDcxMDFhZCIsImNsaWVudF9pZCI6ImNsaWVudGlkIn0.hPzJeSHX8_I_h6VCXIn2nlZJ5pA-0ULWI65Gd15AatiG2g5RhTNT4JUyi-LnNr8ZFwZiPU4KhzZczKNh71yBJ1sskZ3DmqdDtrsOyUciOO11e9HCp4sj8obGDzFwaG1kKKoEDwQarTeUbmjlAY6AGA1BYSFNkiJzHuFtlwOnVYXHoUUZ6CSvOMD03VAuoHgrgUhwjqr8lzouKUwAuR1RvsUJOan-I5bisrLG4mgsX221x9z4x9F2_0ufHDWRxT76bgOThOfqoGdpBn0sNp0IP3NNHXcW4P81QZLYoUQh1Lp1LPdsYMpbA4ywIinPplVOjD7jNhQtEu0mxrY3DxnhyQ'
dan berikut adalah contoh hasil token nya :
[
{
"idPenjualanDetail": "1.detail",
"jumlahBarang": 6,
"totalHargaPerBarang": 1000,
"idPenjualan": "1",
"barang": {
"idBarang": 1,
"namaBarang": "Barang 1",
"jenisBarang": "gas",
"tanggalKadaluarsa": {
"year": 2018,
"month": "JANUARY",
"leapYear": false,
"dayOfMonth": 14,
"dayOfWeek": "SUNDAY",
"dayOfYear": 14,
"era": "CE",
"monthValue": 1,
"chronology": {
"calendarType": "iso8601",
"id": "ISO"
}
},
"hargaSatuanBarang": "5000.00",
"jumlahBarangTersedia": 6
}
}
]
- consul : digunakan sebagai consul server
- zipkin : digunakan sebagai zipkin server
- postgrescatalog : digunakan sebagai database postgresql
- mongotransaction : digunakan sebagai database mongodb
- mariadboauth2 : digunakan sebagai database mariadb
- redissessionoauth2 : digunakan sebagai database redis
- admindashboard : digunakan sebagai admin dashboard
- catalogservice : digunakan sebagai service catalog
- transactionservice : digunakan sebagai service transaction
- oauth2service : digunakan sebagai service oauth2
- apigateway : digunakan sebagai apigateway
- Discovery Service Consul
- Node Consul
- KV Consul
- Spring Boot Admin
- Spring Boot Admin Trace
- Hystrix
- Journal
- Zipkin
- Zipkin Trace
- Trace Client To API Gateway
- Trace API Gateway To Service