{"id":13316308,"url":"https://github.com/RizkiMufrizal/Docker-Spring-Cloud","last_synced_at":"2025-03-10T22:32:58.495Z","repository":{"id":90435394,"uuid":"114779146","full_name":"RizkiMufrizal/Docker-Spring-Cloud","owner":"RizkiMufrizal","description":"Project ini dibuat dalam rangka belajar microservice dengan Stack Spring Cloud","archived":false,"fork":false,"pushed_at":"2020-01-19T15:33:33.000Z","size":15528,"stargazers_count":8,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-01T03:22:22.565Z","etag":null,"topics":["consul","docker","feign","hystrix","kotlin","mariadb","microservice","mongodb","oauth2","postgresql","redis","spring-boot","spring-cloud","spring-data-jpa","spring-data-mongodb","spring-data-redis","spring-session","zipkin","zuul-proxy"],"latest_commit_sha":null,"homepage":"https://github.com/RizkiMufrizal/Docker-Spring-Cloud","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RizkiMufrizal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-19T15:06:44.000Z","updated_at":"2021-02-11T01:44:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"f46c55d2-22ad-4104-bed6-749d729b3624","html_url":"https://github.com/RizkiMufrizal/Docker-Spring-Cloud","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RizkiMufrizal%2FDocker-Spring-Cloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RizkiMufrizal%2FDocker-Spring-Cloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RizkiMufrizal%2FDocker-Spring-Cloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RizkiMufrizal%2FDocker-Spring-Cloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RizkiMufrizal","download_url":"https://codeload.github.com/RizkiMufrizal/Docker-Spring-Cloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242939424,"owners_count":20209874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["consul","docker","feign","hystrix","kotlin","mariadb","microservice","mongodb","oauth2","postgresql","redis","spring-boot","spring-cloud","spring-data-jpa","spring-data-mongodb","spring-data-redis","spring-session","zipkin","zuul-proxy"],"created_at":"2024-07-29T18:21:31.787Z","updated_at":"2025-03-10T22:32:58.482Z","avatar_url":"https://github.com/RizkiMufrizal.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker-Spring-Cloud\n\n## Sebelum menjalankan aplikasi, berikut tool yang harus diinstall terlebih dahulu\n\n* Lakukan Instalasi [Gradle](https://gradle.org/)\n* Lakukan Instalasi [Docker](https://www.docker.com/) dan [Docker Compose](https://docs.docker.com/compose/), jika pengguna linux, silahkan lihat di artikel [Belajar Docker](https://rizkimufrizal.github.io/belajar-docker/)\n\n## Cara Menjalankan Aplikasi Jika menggunakan Linux dan OSX\n\n* Jalankan file shell `docker-build.sh` untuk proses build project\n* Jalankan perintah `docker-compose up` untuk menjalankan 11 container secara berbarengan\n\n## Cara Menjalankan Aplikasi Jika menggunakan Windows\n\n* Jalankan perintah berikut secara berurutan\n  ```bash\n  gradle clean build docker -p Admin-Dashboard\n  gradle clean build docker -p Transaction-Service\n  gradle clean build docker -p Catalog-Service\n  gradle clean build docker -p OAuth2-Service\n  gradle clean build docker -p API-Gateway\n  ```\n* Jalankan perintah `docker-compose up` untuk menjalankan 11 container secara berbarengan\n\n## Cara Mengakses Aplikasi\n\n* Jalankan perintah berikut untuk mengenerate token OAuth2 :\n\n```bash\ncurl -X POST \\\n  http://localhost:8080/v1/api/oauth/token \\\n  -vu clientid:secret \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d grant_type=client_credentials\n```\n\ndan berikut adalah contoh hasil token nya :\n\n```json\n{\n  \"access_token\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiUkVTT1VSQ0VfSURfQVBJX0dBVEVXQVkiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTUxNTkwMjEwMiwiYXV0aG9yaXRpZXMiOlsiQURNSU5JU1RSQVRPUiIsIkNMSUVOVCIsIkFETUlOIl0sImp0aSI6ImMzMjg1YTU4LWZiNGQtNDQ5ZS1iMTZkLWVlZjNhZDcxMDFhZCIsImNsaWVudF9pZCI6ImNsaWVudGlkIn0.hPzJeSHX8_I_h6VCXIn2nlZJ5pA-0ULWI65Gd15AatiG2g5RhTNT4JUyi-LnNr8ZFwZiPU4KhzZczKNh71yBJ1sskZ3DmqdDtrsOyUciOO11e9HCp4sj8obGDzFwaG1kKKoEDwQarTeUbmjlAY6AGA1BYSFNkiJzHuFtlwOnVYXHoUUZ6CSvOMD03VAuoHgrgUhwjqr8lzouKUwAuR1RvsUJOan-I5bisrLG4mgsX221x9z4x9F2_0ufHDWRxT76bgOThOfqoGdpBn0sNp0IP3NNHXcW4P81QZLYoUQh1Lp1LPdsYMpbA4ywIinPplVOjD7jNhQtEu0mxrY3DxnhyQ\",\n  \"token_type\": \"bearer\",\n  \"expires_in\": 3599,\n  \"scope\": \"read write\",\n  \"jti\": \"c3285a58-fb4d-449e-b16d-eef3ad7101ad\"\n}\n```\n\n* Akses Catalog service service dengan menggunakan perintah berikut\n\n```bash\ncurl -X GET \\\n  http://localhost:8080/v1/catalog/api/barangs \\\n  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiUkVTT1VSQ0VfSURfQVBJX0dBVEVXQVkiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTUxNTkwMjEwMiwiYXV0aG9yaXRpZXMiOlsiQURNSU5JU1RSQVRPUiIsIkNMSUVOVCIsIkFETUlOIl0sImp0aSI6ImMzMjg1YTU4LWZiNGQtNDQ5ZS1iMTZkLWVlZjNhZDcxMDFhZCIsImNsaWVudF9pZCI6ImNsaWVudGlkIn0.hPzJeSHX8_I_h6VCXIn2nlZJ5pA-0ULWI65Gd15AatiG2g5RhTNT4JUyi-LnNr8ZFwZiPU4KhzZczKNh71yBJ1sskZ3DmqdDtrsOyUciOO11e9HCp4sj8obGDzFwaG1kKKoEDwQarTeUbmjlAY6AGA1BYSFNkiJzHuFtlwOnVYXHoUUZ6CSvOMD03VAuoHgrgUhwjqr8lzouKUwAuR1RvsUJOan-I5bisrLG4mgsX221x9z4x9F2_0ufHDWRxT76bgOThOfqoGdpBn0sNp0IP3NNHXcW4P81QZLYoUQh1Lp1LPdsYMpbA4ywIinPplVOjD7jNhQtEu0mxrY3DxnhyQ'\n```\n\ndan berikut adalah contoh hasil token nya :\n\n```json\n{\n  \"content\": [\n    {\n      \"idBarang\": 1,\n      \"namaBarang\": \"Barang 1\",\n      \"jenisBarang\": \"gas\",\n      \"tanggalKadaluarsa\": {\n        \"year\": 2018,\n        \"month\": \"JANUARY\",\n        \"leapYear\": false,\n        \"dayOfMonth\": 14,\n        \"dayOfWeek\": \"SUNDAY\",\n        \"dayOfYear\": 14,\n        \"era\": \"CE\",\n        \"monthValue\": 1,\n        \"chronology\": {\n          \"calendarType\": \"iso8601\",\n          \"id\": \"ISO\"\n        }\n      },\n      \"hargaSatuanBarang\": 5000,\n      \"jumlahBarangTersedia\": 6\n    },\n    {\n      \"idBarang\": 2,\n      \"namaBarang\": \"Barang 2\",\n      \"jenisBarang\": \"cair\",\n      \"tanggalKadaluarsa\": {\n        \"year\": 2018,\n        \"month\": \"JANUARY\",\n        \"leapYear\": false,\n        \"dayOfMonth\": 14,\n        \"dayOfWeek\": \"SUNDAY\",\n        \"dayOfYear\": 14,\n        \"era\": \"CE\",\n        \"monthValue\": 1,\n        \"chronology\": {\n          \"calendarType\": \"iso8601\",\n          \"id\": \"ISO\"\n        }\n      },\n      \"hargaSatuanBarang\": 10000,\n      \"jumlahBarangTersedia\": 7\n    }\n  ],\n  \"totalPages\": 1,\n  \"totalElements\": 10,\n  \"last\": true,\n  \"numberOfElements\": 10,\n  \"first\": true,\n  \"sort\": null,\n  \"size\": 20,\n  \"number\": 0\n}\n```\n\n* Akses Transaction service service dengan menggunakan perintah berikut\n\n```bash\n  curl -X GET \\\n    http://localhost:8080/v1/transaction/api/penjualan/penjualandetails/1 \\\n    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiUkVTT1VSQ0VfSURfQVBJX0dBVEVXQVkiXSwic2NvcGUiOlsicmVhZCIsIndyaXRlIl0sImV4cCI6MTUxNTkwMjEwMiwiYXV0aG9yaXRpZXMiOlsiQURNSU5JU1RSQVRPUiIsIkNMSUVOVCIsIkFETUlOIl0sImp0aSI6ImMzMjg1YTU4LWZiNGQtNDQ5ZS1iMTZkLWVlZjNhZDcxMDFhZCIsImNsaWVudF9pZCI6ImNsaWVudGlkIn0.hPzJeSHX8_I_h6VCXIn2nlZJ5pA-0ULWI65Gd15AatiG2g5RhTNT4JUyi-LnNr8ZFwZiPU4KhzZczKNh71yBJ1sskZ3DmqdDtrsOyUciOO11e9HCp4sj8obGDzFwaG1kKKoEDwQarTeUbmjlAY6AGA1BYSFNkiJzHuFtlwOnVYXHoUUZ6CSvOMD03VAuoHgrgUhwjqr8lzouKUwAuR1RvsUJOan-I5bisrLG4mgsX221x9z4x9F2_0ufHDWRxT76bgOThOfqoGdpBn0sNp0IP3NNHXcW4P81QZLYoUQh1Lp1LPdsYMpbA4ywIinPplVOjD7jNhQtEu0mxrY3DxnhyQ'\n```\n\ndan berikut adalah contoh hasil token nya :\n\n```json\n[\n  {\n    \"idPenjualanDetail\": \"1.detail\",\n    \"jumlahBarang\": 6,\n    \"totalHargaPerBarang\": 1000,\n    \"idPenjualan\": \"1\",\n    \"barang\": {\n      \"idBarang\": 1,\n      \"namaBarang\": \"Barang 1\",\n      \"jenisBarang\": \"gas\",\n      \"tanggalKadaluarsa\": {\n        \"year\": 2018,\n        \"month\": \"JANUARY\",\n        \"leapYear\": false,\n        \"dayOfMonth\": 14,\n        \"dayOfWeek\": \"SUNDAY\",\n        \"dayOfYear\": 14,\n        \"era\": \"CE\",\n        \"monthValue\": 1,\n        \"chronology\": {\n          \"calendarType\": \"iso8601\",\n          \"id\": \"ISO\"\n        }\n      },\n      \"hargaSatuanBarang\": \"5000.00\",\n      \"jumlahBarangTersedia\": 6\n    }\n  }\n]\n```\n\n## List Docker Container\n\n1. consul : digunakan sebagai consul server\n2. zipkin : digunakan sebagai zipkin server\n3. postgrescatalog : digunakan sebagai database postgresql\n4. mongotransaction : digunakan sebagai database mongodb\n5. mariadboauth2 : digunakan sebagai database mariadb\n6. redissessionoauth2 : digunakan sebagai database redis\n7. admindashboard : digunakan sebagai admin dashboard\n8. catalogservice : digunakan sebagai service catalog\n9. transactionservice : digunakan sebagai service transaction\n10. oauth2service : digunakan sebagai service oauth2\n11. apigateway : digunakan sebagai apigateway\n\n## List Screenshot\n\n* Discovery Service Consul\n\n![discovery service](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.53.28.png)\n\n* Node Consul\n\n![node consul](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.53.46.png)\n\n* KV Consul\n\n![KV Consul](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.53.56.png)\n\n* Spring Boot Admin\n\n![Spring Boot Admin](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.54.13.png)\n\n* Spring Boot Admin Trace\n\n![Spring Boot Admin Trace](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.54.37.png)\n\n* Hystrix\n\n![hystrix](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.55.26.png)\n\n* Journal\n\n![Journal](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.55.44.png)\n\n* Zipkin\n\n![Zipkin](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.57.06.png)\n\n* Zipkin Trace\n\n![Zipkin Trace](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.57.10.png)\n\n* Trace Client To API Gateway\n\n![Trace Client To API Gateway](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.57.35.png)\n\n* Trace API Gateway To Service\n\n![Trace API Gateway To Service](https://github.com/RizkiMufrizal/Docker-Spring-Cloud/blob/master/screenshot/Screen%20Shot%202018-01-14%20at%2009.57.39.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRizkiMufrizal%2FDocker-Spring-Cloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRizkiMufrizal%2FDocker-Spring-Cloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRizkiMufrizal%2FDocker-Spring-Cloud/lists"}