Coder Social home page Coder Social logo

rizkimufrizal / docker-spring-cloud Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 8.0 15.16 MB

Project ini dibuat dalam rangka belajar microservice dengan Stack Spring Cloud

Home Page: https://github.com/RizkiMufrizal/Docker-Spring-Cloud

License: Apache License 2.0

Kotlin 98.72% Shell 0.54% Dockerfile 0.74%
microservice spring-boot spring-cloud zuul-proxy zipkin consul oauth2 feign mongodb mariadb

docker-spring-cloud's Introduction

Docker-Spring-Cloud

Sebelum menjalankan aplikasi, berikut tool yang harus diinstall terlebih dahulu

Cara Menjalankan Aplikasi Jika menggunakan Linux dan OSX

  • Jalankan file shell docker-build.sh untuk proses build project
  • Jalankan perintah docker-compose up untuk menjalankan 11 container secara berbarengan

Cara Menjalankan Aplikasi Jika menggunakan Windows

  • 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

Cara Mengakses Aplikasi

  • 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
    }
  }
]

List Docker Container

  1. consul : digunakan sebagai consul server
  2. zipkin : digunakan sebagai zipkin server
  3. postgrescatalog : digunakan sebagai database postgresql
  4. mongotransaction : digunakan sebagai database mongodb
  5. mariadboauth2 : digunakan sebagai database mariadb
  6. redissessionoauth2 : digunakan sebagai database redis
  7. admindashboard : digunakan sebagai admin dashboard
  8. catalogservice : digunakan sebagai service catalog
  9. transactionservice : digunakan sebagai service transaction
  10. oauth2service : digunakan sebagai service oauth2
  11. apigateway : digunakan sebagai apigateway

List Screenshot

  • Discovery Service Consul

discovery service

  • Node Consul

node consul

  • KV Consul

KV Consul

  • Spring Boot Admin

Spring Boot Admin

  • Spring Boot Admin Trace

Spring Boot Admin Trace

  • Hystrix

hystrix

  • Journal

Journal

  • Zipkin

Zipkin

  • Zipkin Trace

Zipkin Trace

  • Trace Client To API Gateway

Trace Client To API Gateway

  • Trace API Gateway To Service

Trace API Gateway To Service

docker-spring-cloud's People

Contributors

imgbotapp avatar rizkimufrizal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.