├── app ├── ui │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── camel-logo.png │ │ │ └── plush │ │ │ │ ├── dali.jpg │ │ │ │ ├── jocker.jpg │ │ │ │ ├── lupin.jpg │ │ │ │ ├── e-donkey.jpg │ │ │ │ ├── mr-camel.jpg │ │ │ │ ├── darth-vader.jpg │ │ │ │ ├── sorcio-secco.jpg │ │ │ │ └── grattachecca-fichetto.jpg │ │ ├── app │ │ │ ├── app.component.css │ │ │ ├── app-navbar │ │ │ │ ├── app-navbar.component.css │ │ │ │ ├── app-navbar.component.ts │ │ │ │ └── app-navbar.component.html │ │ │ ├── items │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── messages │ │ │ │ ├── messages.component.css │ │ │ │ ├── messages.component.html │ │ │ │ └── messages.component.ts │ │ │ ├── loading │ │ │ │ ├── loading.component.html │ │ │ │ ├── loading.component.css │ │ │ │ └── loading.component.ts │ │ │ ├── app.component.ts │ │ │ ├── purchases │ │ │ │ ├── purchases.component.css │ │ │ │ ├── purchases.component.html │ │ │ │ └── purchases.component.ts │ │ │ ├── app.component.html │ │ │ ├── map-values.pipe.ts │ │ │ ├── payments │ │ │ │ ├── payments.component.css │ │ │ │ ├── payments.component.html │ │ │ │ └── payments.component.ts │ │ │ ├── payment.service.ts │ │ │ ├── purchase.service.ts │ │ │ ├── data.service.ts │ │ │ ├── datatypes.ts │ │ │ ├── item.service.ts │ │ │ └── app.module.ts │ │ ├── favicon.ico │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── styles.css │ │ ├── tsconfig.app.json │ │ ├── index.html │ │ ├── tsconfig.spec.json │ │ ├── tslint.json │ │ ├── browserslist │ │ ├── main.ts │ │ ├── test.ts │ │ ├── karma.conf.js │ │ └── polyfills.ts │ ├── docker_push.sh │ ├── Dockerfile │ ├── docker_build.sh │ ├── e2e │ │ ├── src │ │ │ ├── app.po.ts │ │ │ └── app.e2e-spec.ts │ │ ├── tsconfig.e2e.json │ │ └── protractor.conf.js │ ├── .editorconfig │ ├── tsconfig.json │ ├── .gitignore │ ├── README.md │ ├── default.conf │ ├── package.json │ ├── openshift-ui.yaml │ ├── tslint.json │ └── angular.json ├── spring-boot-ui │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ ├── application.properties │ │ │ └── static │ │ │ │ ├── favicon.ico │ │ │ │ ├── assets │ │ │ │ ├── camel-logo.png │ │ │ │ └── plush │ │ │ │ │ ├── dali.jpg │ │ │ │ │ ├── lupin.jpg │ │ │ │ │ ├── jocker.jpg │ │ │ │ │ ├── e-donkey.jpg │ │ │ │ │ ├── mr-camel.jpg │ │ │ │ │ ├── darth-vader.jpg │ │ │ │ │ ├── sorcio-secco.jpg │ │ │ │ │ └── grattachecca-fichetto.jpg │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── index.html │ │ │ │ └── runtime.js │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── camel │ │ │ └── workshop │ │ │ └── springbootui │ │ │ └── SpringBootUiApplication.java │ ├── .gitignore │ ├── pom.xml │ ├── mvnw.cmd │ └── mvnw ├── credit │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ └── application.properties │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── camel │ │ │ └── workshop │ │ │ └── credit │ │ │ ├── CreditStore.java │ │ │ ├── CreditApplication.java │ │ │ ├── CreditRoutes.java │ │ │ ├── Payment.java │ │ │ └── CreditStoreImpl.java │ ├── .gitignore │ ├── pom.xml │ ├── mvnw.cmd │ └── mvnw ├── recommendation │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ └── application.properties │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── camel │ │ │ └── workshop │ │ │ └── recommendation │ │ │ └── RecommendationApplication.java │ ├── .gitignore │ ├── pom.xml │ ├── mvnw.cmd │ └── mvnw ├── inventory │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ ├── application.properties │ │ │ └── catalog.json │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── camel │ │ │ └── workshop │ │ │ └── inventory │ │ │ ├── Inventory.java │ │ │ ├── InventoryApplication.java │ │ │ ├── Catalog.java │ │ │ ├── Purchase.java │ │ │ ├── Item.java │ │ │ ├── InventoryRoutes.java │ │ │ └── InventoryImpl.java │ ├── .gitignore │ ├── pom.xml │ ├── mvnw.cmd │ └── mvnw ├── gateway │ ├── .gitignore │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── camel │ │ │ │ └── workshop │ │ │ │ └── gateway │ │ │ │ ├── GatewayApplication.java │ │ │ │ ├── Catalog.java │ │ │ │ ├── Payment.java │ │ │ │ ├── Item.java │ │ │ │ ├── Order.java │ │ │ │ └── GatewayRoutes.java │ │ │ └── resources │ │ │ └── application.properties │ ├── pom.xml │ ├── mvnw.cmd │ └── mvnw └── pom.xml ├── .gitignore ├── doc ├── slides.pdf ├── catalog.png ├── purchases.png ├── jfuture-workshop-slides.pdf ├── camel-workshop-architecture.png ├── camel-workshop-architecture.xml ├── using-bom.md ├── ui.md ├── saga.md ├── recommendation.md ├── circuit-breaker.md └── credit.md └── README.md /app/ui/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/ui/src/app/app.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/ui/src/app/app-navbar/app-navbar.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/spring-boot-ui/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=4000 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | 4 | target 5 | .metadata 6 | .project 7 | 8 | .mvn -------------------------------------------------------------------------------- /app/ui/src/app/items/items.component.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .item img { 4 | width: 100px; 5 | } 6 | -------------------------------------------------------------------------------- /doc/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolaferraro/camel-workshop/HEAD/doc/slides.pdf -------------------------------------------------------------------------------- /app/ui/src/app/messages/messages.component.css: -------------------------------------------------------------------------------- 1 | .row.message { 2 | margin-top: 20px; 3 | } 4 | -------------------------------------------------------------------------------- /doc/catalog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolaferraro/camel-workshop/HEAD/doc/catalog.png -------------------------------------------------------------------------------- /doc/purchases.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolaferraro/camel-workshop/HEAD/doc/purchases.png -------------------------------------------------------------------------------- /app/ui/docker_push.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | docker push nferraro/camel-workshop-ui 6 | -------------------------------------------------------------------------------- /app/ui/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolaferraro/camel-workshop/HEAD/app/ui/src/favicon.ico -------------------------------------------------------------------------------- /app/ui/src/assets/camel-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolaferraro/camel-workshop/HEAD/app/ui/src/assets/camel-logo.png -------------------------------------------------------------------------------- /app/ui/src/assets/plush/dali.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolaferraro/camel-workshop/HEAD/app/ui/src/assets/plush/dali.jpg -------------------------------------------------------------------------------- /doc/jfuture-workshop-slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolaferraro/camel-workshop/HEAD/doc/jfuture-workshop-slides.pdf -------------------------------------------------------------------------------- /app/credit/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | camel.component.servlet.mapping.context-path=/api/* 3 | server.port=8082 -------------------------------------------------------------------------------- /app/ui/src/app/loading/loading.component.html: -------------------------------------------------------------------------------- 1 |