├── .DS_Store ├── .vscode └── settings.json ├── README.md ├── section-01.md ├── section-01 ├── access-data.jpg ├── basic-ecommerce-app.jpg ├── common-database.jpg ├── event-bus.jpg ├── microservices-addon.jpg ├── monolith-server.jpg ├── monolithic-server-addon.jpg ├── monolithic-server-example.jpg ├── request-create-product.jpg ├── request-order-product.jpg ├── request-signup.jpg ├── schema-change.jpg ├── service-d-db-implement.jpg ├── service-d-db.jpg ├── service-dependent.jpg ├── single-microservice.jpg ├── store-data.jpg ├── sync-communication.jpg └── webs-of-requests.jpg ├── section-02.md ├── section-02 ├── add-filter-feature.jpg ├── app-overview-1.jpg ├── app-overview-2.jpg ├── array-of-requests.jpg ├── async-communication-step-1.jpg ├── async-communication-step-2.jpg ├── async-communication-step-3.jpg ├── async-communication-step-4.jpg ├── async-communication-step-5.jpg ├── async-communication.jpg ├── blog │ ├── client │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── public │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ ├── src │ │ │ ├── App.js │ │ │ ├── CommentCreate.js │ │ │ ├── CommentList.js │ │ │ ├── PostCreate.js │ │ │ ├── PostList.js │ │ │ └── index.js │ │ └── yarn.lock │ ├── comments │ │ ├── .gitignore │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── event-bus │ │ ├── .gitignore │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── moderation │ │ ├── .gitignore │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── posts │ │ ├── .gitignore │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ └── query │ │ ├── .gitignore │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json ├── comment-created.jpg ├── comment-moderated.jpg ├── comment-new-shape.jpg ├── comment-updated.jpg ├── comments-by-post-id.jpg ├── comments-service.jpg ├── emit-comment-creation-events.jpg ├── emit-post-creation-events.jpg ├── event-bus-overview-1.jpg ├── event-bus-overview-2.jpg ├── handle-resources-update.jpg ├── microservices-solution.jpg ├── missing-1.jpg ├── missing-2.jpg ├── moderation-service-1.jpg ├── moderation-service-2.jpg ├── moderation-service-3.jpg ├── monoliths-solution.jpg ├── multi-services-update.jpg ├── posts-service.jpg ├── process-update.jpg ├── project-setup.jpg ├── query-service-update.jpg ├── query-service.jpg ├── react-client.jpg ├── react-query-service.jpg ├── service-per-resource.jpg ├── solution-1.jpg ├── solution-2.jpg ├── solution-3.jpg ├── sync-communication.jpg └── what-services.jpg ├── section-03.md ├── section-03 ├── 01-your-computer.jpg ├── 02-virtual-machine.jpg ├── 03-scale-virtual-machine.jpg ├── 04-second-virtual-machine.jpg ├── 05-docker-container.jpg ├── 06-kubernetes-cluster.jpg └── blog │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ ├── src │ │ ├── App.js │ │ ├── CommentCreate.js │ │ ├── CommentList.js │ │ ├── PostCreate.js │ │ ├── PostList.js │ │ └── index.js │ └── yarn.lock │ ├── comments │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── event-bus │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── moderation │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── posts │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── index.js │ ├── package-lock.json │ └── package.json │ └── query │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── index.js │ ├── package-lock.json │ └── package.json ├── section-04.md ├── section-04 ├── access-pod-from-outside-cluster.jpg ├── app.jpg ├── blog │ ├── client │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── public │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ ├── src │ │ │ ├── App.js │ │ │ ├── CommentCreate.js │ │ │ ├── CommentList.js │ │ │ ├── PostCreate.js │ │ │ ├── PostList.js │ │ │ └── index.js │ │ └── yarn.lock │ ├── comments │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── event-bus │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── infra │ │ └── k8s │ │ │ ├── client-depl.yaml │ │ │ ├── comments-depl.yaml │ │ │ ├── event-bus-depl.yaml │ │ │ ├── ingress-srv.yaml │ │ │ ├── moderation-depl.yaml │ │ │ ├── posts-depl.yaml │ │ │ ├── posts-srv.yaml │ │ │ └── query-depl.yaml │ ├── moderation │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── posts │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── query │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ └── skaffold.yaml ├── cluster-ip-service-2.jpg ├── cluster-ip-service.jpg ├── communicate-between-services.jpg ├── create-docker-image.jpg ├── deployment-1.jpg ├── deployment-2.jpg ├── hosts.jpg ├── initial.jpg ├── ip-address.jpg ├── kubernetes-cluster.jpg ├── kubernetes-setup.jpg ├── lb-1.jpg ├── lb-2.jpg ├── nodeport-service-2.jpg ├── nodeport-service.jpg ├── option-1.jpg ├── option-2.jpg ├── react.jpg ├── request.jpg ├── service-1.jpg ├── service-2.jpg └── troubleshoot.jpg ├── section-05.md ├── section-05 ├── app-1.jpg ├── app-2.jpg ├── app-3.jpg ├── architecture-design.jpg ├── auth.jpg ├── events.jpg ├── resource-types.jpg ├── service-types.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ └── ingress-srv.yaml │ └── skaffold.yaml ├── section-06.md ├── section-07.md ├── section-07 ├── common-response-structure.jpg ├── different-frameworks.jpg ├── error-handling-issue.jpg ├── error-handling-solution.jpg ├── error-object-2.jpg ├── error-object.jpg ├── error.jpg ├── express-validator.jpg ├── handle-error-structure.jpg ├── handle-errors-details.jpg ├── react-different-errors.jpg ├── scenarios.jpg ├── subclass.jpg ├── ticketing │ ├── auth │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── errors │ │ │ │ ├── custom-error.ts │ │ │ │ ├── database-connection-error.ts │ │ │ │ ├── not-found-error.ts │ │ │ │ └── request-validation-error.ts │ │ │ ├── index.ts │ │ │ ├── middlewares │ │ │ │ └── error-handler.ts │ │ │ └── routes │ │ │ │ ├── current-user.ts │ │ │ │ ├── signin.ts │ │ │ │ ├── signout.ts │ │ │ │ └── signup.ts │ │ └── tsconfig.json │ ├── infra │ │ └── k8s │ │ │ ├── auth-depl.yaml │ │ │ └── ingress-srv.yaml │ └── skaffold.yaml ├── verify-custom-error-1.jpg ├── verify-custom-error-2.jpg ├── verify-custom-error-option-1.jpg └── verify-custom-error-option-2.jpg ├── section-08.md ├── section-08 ├── auth-1.jpg ├── auth-2.jpg ├── mongoose.jpg ├── signin-hashing.jpg ├── signup-hashing-1.jpg ├── signup-hashing-2.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── index.ts │ │ ├── middlewares │ │ │ └── error-handler.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ └── services │ │ │ └── password.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ └── ingress-srv.yaml │ └── skaffold.yaml ├── section-09.md ├── section-09 ├── admin-ban-user.jpg ├── admin-create-coupon.jpg ├── auth-2.jpg ├── auth-mechanism.jpg ├── ban-user-can-buy-ticket.jpg ├── cache-banned-users.jpg ├── client-jwt-server.jpg ├── cookie.jpg ├── current-user-middleware.jpg ├── current-user.jpg ├── different-db-issue.jpg ├── different-db-solution.jpg ├── jwt-in-cookie.jpg ├── jwt-signing-key.jpg ├── jwt.jpg ├── login-expire.jpg ├── login-user-details.jpg ├── option-1-1.jpg ├── option-1.jpg ├── option-2.jpg ├── order-service.jpg ├── refresh-token-1.jpg ├── refresh-token-2.jpg ├── requests-responses.jpg ├── secret-object-1.jpg ├── secret-object-2.jpg ├── sign-jwt.jpg ├── signin-flow.jpg ├── signup.jpg ├── ssr-1.jpg ├── ssr-2.jpg ├── ssr-3.jpg ├── ssr.jpg ├── ticketing │ ├── auth │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── errors │ │ │ │ ├── bad-request-error.ts │ │ │ │ ├── custom-error.ts │ │ │ │ ├── database-connection-error.ts │ │ │ │ ├── not-authorized-error.ts │ │ │ │ ├── not-found-error.ts │ │ │ │ └── request-validation-error.ts │ │ │ ├── index.ts │ │ │ ├── middlewares │ │ │ │ ├── current-user.ts │ │ │ │ ├── error-handler.ts │ │ │ │ ├── require-auth.ts │ │ │ │ └── validate-request.ts │ │ │ ├── models │ │ │ │ └── user.ts │ │ │ ├── routes │ │ │ │ ├── current-user.ts │ │ │ │ ├── signin.ts │ │ │ │ ├── signout.ts │ │ │ │ └── signup.ts │ │ │ └── services │ │ │ │ └── password.ts │ │ └── tsconfig.json │ ├── infra │ │ └── k8s │ │ │ ├── auth-depl.yaml │ │ │ ├── auth-mongo-depl.yaml │ │ │ └── ingress-srv.yaml │ └── skaffold.yaml ├── user-signin-time-constraint.jpg └── user-signin.jpg ├── section-10.md ├── section-10 ├── .DS_Store ├── current-app.jpg ├── goal-1.jpg ├── goal-2.jpg ├── goal-3.jpg ├── setup-1.jpg ├── setup-2.jpg ├── supertest.jpg ├── test-process.jpg └── ticketing │ ├── .DS_Store │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── index.ts │ │ ├── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ └── ingress-srv.yaml │ └── skaffold.yaml ├── section-11.md ├── section-11 ├── build-client.jpg ├── cross-namespace-2.jpg ├── cross-namespace.jpg ├── csr.jpg ├── external-name.jpg ├── header-1.jpg ├── header-2.jpg ├── header-3.jpg ├── header-4.jpg ├── multiple-get-initial-props.jpg ├── page-vs-custom-app.jpg ├── pass-cookie.jpg ├── request-source.jpg ├── sign-in.jpg ├── sign-up.jpg ├── signup-request.jpg ├── solutions-1.jpg ├── solutions-2.jpg ├── solutions-3.jpg ├── ssr-client.jpg ├── ssr-current-user.jpg ├── ssr-request-from-browser.jpg ├── ssr-request-from-server.jpg ├── ssr.jpg ├── ticketing │ ├── auth │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── app.ts │ │ │ ├── errors │ │ │ │ ├── bad-request-error.ts │ │ │ │ ├── custom-error.ts │ │ │ │ ├── database-connection-error.ts │ │ │ │ ├── not-authorized-error.ts │ │ │ │ ├── not-found-error.ts │ │ │ │ └── request-validation-error.ts │ │ │ ├── index.ts │ │ │ ├── middlewares │ │ │ │ ├── current-user.ts │ │ │ │ ├── error-handler.ts │ │ │ │ ├── require-auth.ts │ │ │ │ └── validate-request.ts │ │ │ ├── models │ │ │ │ └── user.ts │ │ │ ├── routes │ │ │ │ ├── __test__ │ │ │ │ │ ├── current-user.test.ts │ │ │ │ │ ├── signin.test.ts │ │ │ │ │ ├── signout.test.ts │ │ │ │ │ └── signup.test.ts │ │ │ │ ├── current-user.ts │ │ │ │ ├── signin.ts │ │ │ │ ├── signout.ts │ │ │ │ └── signup.ts │ │ │ ├── services │ │ │ │ └── password.ts │ │ │ └── test │ │ │ │ └── setup.ts │ │ └── tsconfig.json │ ├── client │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── api │ │ │ └── build-client.js │ │ ├── components │ │ │ └── header.js │ │ ├── hooks │ │ │ └── use-request.js │ │ ├── next.config.js │ │ ├── package-lock.json │ │ ├── package.json │ │ └── pages │ │ │ ├── _app.js │ │ │ ├── auth │ │ │ ├── signin.js │ │ │ ├── signout.js │ │ │ └── signup.js │ │ │ └── index.js │ ├── infra │ │ └── k8s │ │ │ ├── auth-depl.yaml │ │ │ ├── auth-mongo-depl.yaml │ │ │ ├── client-depl.yaml │ │ │ └── ingress-srv.yaml │ └── skaffold.yaml └── use-request-hook.jpg ├── section-12.md ├── section-12 ├── option-1.jpg ├── option-2.jpg ├── option-3.jpg ├── package-security.jpg ├── shared-lib.jpg ├── ticket-service-1.jpg ├── ticket-service-2.jpg ├── ticket-service-3.jpg ├── ticket-service-4.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ └── index.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ └── ingress-srv.yaml │ └── skaffold.yaml ├── section-13.md ├── section-13 ├── ticket-model.jpg ├── ticketing │ ├── auth │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── app.ts │ │ │ ├── index.ts │ │ │ ├── models │ │ │ │ └── user.ts │ │ │ ├── routes │ │ │ │ ├── __test__ │ │ │ │ │ ├── current-user.test.ts │ │ │ │ │ ├── signin.test.ts │ │ │ │ │ ├── signout.test.ts │ │ │ │ │ └── signup.test.ts │ │ │ │ ├── current-user.ts │ │ │ │ ├── signin.ts │ │ │ │ ├── signout.ts │ │ │ │ └── signup.ts │ │ │ ├── services │ │ │ │ └── password.ts │ │ │ └── test │ │ │ │ └── setup.ts │ │ └── tsconfig.json │ ├── client │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── api │ │ │ └── build-client.js │ │ ├── components │ │ │ └── header.js │ │ ├── hooks │ │ │ └── use-request.js │ │ ├── next.config.js │ │ ├── package-lock.json │ │ ├── package.json │ │ └── pages │ │ │ ├── _app.js │ │ │ ├── auth │ │ │ ├── signin.js │ │ │ ├── signout.js │ │ │ └── signup.js │ │ │ └── index.js │ ├── common │ │ ├── .gitignore │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── errors │ │ │ │ ├── bad-request-error.ts │ │ │ │ ├── custom-error.ts │ │ │ │ ├── database-connection-error.ts │ │ │ │ ├── not-authorized-error.ts │ │ │ │ ├── not-found-error.ts │ │ │ │ └── request-validation-error.ts │ │ │ ├── index.ts │ │ │ └── middlewares │ │ │ │ ├── current-user.ts │ │ │ │ ├── error-handler.ts │ │ │ │ ├── require-auth.ts │ │ │ │ └── validate-request.ts │ │ └── tsconfig.json │ ├── infra │ │ └── k8s │ │ │ ├── auth-depl.yaml │ │ │ ├── auth-mongo-depl.yaml │ │ │ ├── client-depl.yaml │ │ │ ├── ingress-srv.yaml │ │ │ ├── tickets-depl.yaml │ │ │ └── tickets-mongo-depl.yaml │ ├── skaffold.yaml │ └── tickets │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── ticket.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── index.test.ts │ │ │ │ ├── new.test.ts │ │ │ │ ├── show.test.ts │ │ │ │ └── update.test.ts │ │ │ ├── index.ts │ │ │ ├── new.ts │ │ │ ├── show.ts │ │ │ └── update.ts │ │ └── test │ │ │ └── setup.ts │ │ └── tsconfig.json ├── tickets-service-mongo-db.jpg └── tickets-service.jpg ├── section-14.md ├── section-14 ├── account-1.jpg ├── account-2.jpg ├── account-3.jpg ├── account-4.jpg ├── client-id.jpg ├── concurrency-1.jpg ├── concurrency-2.jpg ├── concurrency-3.jpg ├── concurrency-4.jpg ├── concurrency-5.jpg ├── concurrency-6.jpg ├── concurrency-7.jpg ├── concurrency-8.jpg ├── concurrency-9.jpg ├── connect-1.jpg ├── connect-2.jpg ├── connect-3.jpg ├── custom-1.jpg ├── custom-2.jpg ├── custom-3.jpg ├── durable-subscription.jpg ├── event-bus.jpg ├── event-redelivery.jpg ├── fail-1.jpg ├── fail-2.jpg ├── fail-3.jpg ├── fail-4.jpg ├── fail-5.jpg ├── fail-6.jpg ├── last-seq-1.jpg ├── last-seq-2.jpg ├── last-seq-3.jpg ├── last-seq-4.jpg ├── last-seq-5.jpg ├── last-seq-6.jpg ├── last-seq-7.jpg ├── manual-ack.jpg ├── monolith.jpg ├── nats-1.jpg ├── nats-2.jpg ├── nats-3-1.jpg ├── nats-3.jpg ├── option-3.jpg ├── options.jpg ├── publisher.jpg ├── queue-groups-1.jpg ├── queue-groups-2.jpg ├── resource-id-1.jpg ├── resource-id-2.jpg ├── share-1.jpg ├── share-2.jpg ├── share-3.jpg ├── share-4.jpg ├── share-5.jpg ├── solution-1.jpg ├── solution-2.jpg ├── solution-3.jpg ├── solution-4.jpg ├── solution-5.jpg ├── solution-6.jpg ├── solution-7.jpg ├── solution-8.jpg ├── split-screen-3.jpg ├── split-screen-rs.jpg ├── split-screen.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ └── index.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── ingress-srv.yaml │ │ ├── nats-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json │ ├── skaffold.yaml │ └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app.ts │ ├── index.ts │ ├── models │ │ └── ticket.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json ├── section-15.md ├── section-15 ├── class-listener-1.jpg ├── class-listener-2.jpg ├── class-listener-3.jpg ├── common-event.jpg ├── common-module-2.jpg ├── common-module-3.jpg ├── common-module.jpg ├── cross-language-support.jpg ├── mismatch.jpg ├── subject-name-event-data.jpg ├── ticket-created-listener.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ └── index.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ └── ticket-updated-event.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── ingress-srv.yaml │ │ ├── nats-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-created-listener.ts │ │ │ └── ticket-created-publisher.ts │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json │ ├── skaffold.yaml │ └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app.ts │ ├── index.ts │ ├── models │ │ └── ticket.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json ├── section-16.md ├── section-16 ├── cyclic-dependency.jpg ├── failed-event-publishing-1.jpg ├── failed-event-publishing-2.jpg ├── fix-test-1.jpg ├── fix-test-2.jpg ├── fix-test-3.jpg ├── handle-publish-failure-1.jpg ├── handle-publish-failure-2.jpg ├── handle-publish-failure-3.jpg ├── handle-publish-failure-4.jpg ├── handle-publish-failure-5.jpg ├── handle-publish-failure-6.jpg ├── import-mongoose.jpg ├── import-nats-client.jpg ├── mock-implementation-1.jpg ├── mock-implementation-2.jpg ├── mock-implementation-3.jpg ├── nats-client-singleton.jpg ├── ticket-create-handler-1.jpg ├── ticket-create-handler-2.jpg ├── ticket-update-handler.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ └── index.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ └── ticket-updated-event.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── ingress-srv.yaml │ │ ├── nats-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-created-listener.ts │ │ │ ├── ticket-created-publisher.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── ticket-updated-listener.ts │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json │ ├── skaffold.yaml │ └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── __mocks__ │ │ └── nats-wrapper.ts │ ├── app.ts │ ├── events │ │ └── publishers │ │ │ ├── ticket-created-publisher.ts │ │ │ └── ticket-updated-publisher.ts │ ├── index.ts │ ├── models │ │ └── ticket.ts │ ├── nats-wrapper.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json ├── section-17.md ├── section-17 ├── app-2.jpg ├── enum-1.jpg ├── enum-2.jpg ├── enum-3.jpg ├── enum-4.jpg ├── enum-5.jpg ├── option-1-1.jpg ├── option-1-2.jpg ├── option-1.jpg ├── option-2.jpg ├── order-service-1.jpg ├── order-service-2.jpg ├── order-service-3.jpg ├── ticket-order.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ └── index.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── types │ │ │ │ └── order-status.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── ingress-srv.yaml │ │ ├── nats-depl.yaml │ │ ├── orders-depl.yaml │ │ ├── orders-mongo-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-created-listener.ts │ │ │ ├── ticket-created-publisher.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── ticket-updated-listener.ts │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json │ ├── orders │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── ticket.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── delete.test.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── new.test.ts │ │ │ │ └── show.test.ts │ │ │ ├── delete.ts │ │ │ ├── index.ts │ │ │ ├── new.ts │ │ │ └── show.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── skaffold.yaml │ └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── __mocks__ │ │ └── nats-wrapper.ts │ ├── app.ts │ ├── events │ │ └── publishers │ │ │ ├── ticket-created-publisher.ts │ │ │ └── ticket-updated-publisher.ts │ ├── index.ts │ ├── models │ │ └── ticket.ts │ ├── nats-wrapper.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json ├── section-18.md ├── section-18 ├── events.jpg ├── order-cancelled.jpg ├── order-created.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ └── index.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── order-cancelled-event.ts │ │ │ ├── order-created-event.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── types │ │ │ │ └── order-status.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── ingress-srv.yaml │ │ ├── nats-depl.yaml │ │ ├── orders-depl.yaml │ │ ├── orders-mongo-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-created-listener.ts │ │ │ ├── ticket-created-publisher.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── ticket-updated-listener.ts │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json │ ├── orders │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── app.ts │ │ ├── events │ │ │ └── publishers │ │ │ │ ├── order-cancelled-publisher.ts │ │ │ │ └── order-created-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── ticket.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── delete.test.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── new.test.ts │ │ │ │ └── show.test.ts │ │ │ ├── delete.ts │ │ │ ├── index.ts │ │ │ ├── new.ts │ │ │ └── show.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── skaffold.yaml │ └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── __mocks__ │ │ └── nats-wrapper.ts │ ├── app.ts │ ├── events │ │ └── publishers │ │ │ ├── ticket-created-publisher.ts │ │ │ └── ticket-updated-publisher.ts │ ├── index.ts │ ├── models │ │ └── ticket.ts │ ├── nats-wrapper.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json ├── section-19.md ├── section-19 ├── .DS_Store ├── concurrency-1.jpg ├── concurrency-2.jpg ├── concurrency-3.jpg ├── concurrency-4.jpg ├── control-1.jpg ├── control-2.jpg ├── control-3.jpg ├── events.jpg ├── id-adjustment-2.jpg ├── id-adjustment.jpg ├── lock-tickets-1.jpg ├── lock-tickets-2.jpg ├── lock-tickets-3.jpg ├── missing-update-event-1.jpg ├── missing-update-event-2.jpg ├── missing-update-event-3.jpg ├── missing-update-event-4.jpg ├── missing-update-event-5.jpg ├── mystery-event-source.jpg ├── order-cancelled.jpg ├── order-created.jpg ├── private-protected-1.jpg ├── private-protected-2.jpg ├── queue-groups.jpg ├── ticket-created.jpg ├── ticket-updated.jpg ├── ticketing │ ├── .DS_Store │ ├── auth │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── app.ts │ │ │ ├── index.ts │ │ │ ├── models │ │ │ │ └── user.ts │ │ │ ├── routes │ │ │ │ ├── __test__ │ │ │ │ │ ├── current-user.test.ts │ │ │ │ │ ├── signin.test.ts │ │ │ │ │ ├── signout.test.ts │ │ │ │ │ └── signup.test.ts │ │ │ │ ├── current-user.ts │ │ │ │ ├── signin.ts │ │ │ │ ├── signout.ts │ │ │ │ └── signup.ts │ │ │ ├── services │ │ │ │ └── password.ts │ │ │ └── test │ │ │ │ └── setup.ts │ │ └── tsconfig.json │ ├── client │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── api │ │ │ └── build-client.js │ │ ├── components │ │ │ └── header.js │ │ ├── hooks │ │ │ └── use-request.js │ │ ├── next.config.js │ │ ├── package-lock.json │ │ ├── package.json │ │ └── pages │ │ │ ├── _app.js │ │ │ ├── auth │ │ │ ├── signin.js │ │ │ ├── signout.js │ │ │ └── signup.js │ │ │ └── index.js │ ├── common │ │ ├── .gitignore │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── errors │ │ │ │ ├── bad-request-error.ts │ │ │ │ ├── custom-error.ts │ │ │ │ ├── database-connection-error.ts │ │ │ │ ├── not-authorized-error.ts │ │ │ │ ├── not-found-error.ts │ │ │ │ └── request-validation-error.ts │ │ │ ├── events │ │ │ │ ├── base-listener.ts │ │ │ │ ├── base-publisher.ts │ │ │ │ ├── order-cancelled-event.ts │ │ │ │ ├── order-created-event.ts │ │ │ │ ├── subjects.ts │ │ │ │ ├── ticket-created-event.ts │ │ │ │ ├── ticket-updated-event.ts │ │ │ │ └── types │ │ │ │ │ └── order-status.ts │ │ │ ├── index.ts │ │ │ └── middlewares │ │ │ │ ├── current-user.ts │ │ │ │ ├── error-handler.ts │ │ │ │ ├── require-auth.ts │ │ │ │ └── validate-request.ts │ │ └── tsconfig.json │ ├── infra │ │ └── k8s │ │ │ ├── auth-depl.yaml │ │ │ ├── auth-mongo-depl.yaml │ │ │ ├── client-depl.yaml │ │ │ ├── ingress-srv.yaml │ │ │ ├── nats-depl.yaml │ │ │ ├── orders-depl.yaml │ │ │ ├── orders-mongo-depl.yaml │ │ │ ├── tickets-depl.yaml │ │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ │ ├── .gitignore │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── events │ │ │ │ ├── base-listener.ts │ │ │ │ ├── base-publisher.ts │ │ │ │ ├── subjects.ts │ │ │ │ ├── ticket-created-event.ts │ │ │ │ ├── ticket-created-listener.ts │ │ │ │ ├── ticket-created-publisher.ts │ │ │ │ ├── ticket-updated-event.ts │ │ │ │ └── ticket-updated-listener.ts │ │ │ ├── listener.ts │ │ │ └── publisher.ts │ │ └── tsconfig.json │ ├── orders │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── __mocks__ │ │ │ │ └── nats-wrapper.ts │ │ │ ├── app.ts │ │ │ ├── events │ │ │ │ ├── listeners │ │ │ │ │ ├── __test__ │ │ │ │ │ │ ├── ticket-created-listener.test.ts │ │ │ │ │ │ └── ticket-updated-listener.test.ts │ │ │ │ │ ├── queue-group-name.ts │ │ │ │ │ ├── ticket-created-listener.ts │ │ │ │ │ └── ticket-updated-listener.ts │ │ │ │ └── publishers │ │ │ │ │ ├── order-cancelled-publisher.ts │ │ │ │ │ └── order-created-publisher.ts │ │ │ ├── index.ts │ │ │ ├── models │ │ │ │ ├── order.ts │ │ │ │ └── ticket.ts │ │ │ ├── nats-wrapper.ts │ │ │ ├── routes │ │ │ │ ├── __test__ │ │ │ │ │ ├── delete.test.ts │ │ │ │ │ ├── index.test.ts │ │ │ │ │ ├── new.test.ts │ │ │ │ │ └── show.test.ts │ │ │ │ ├── delete.ts │ │ │ │ ├── index.ts │ │ │ │ ├── new.ts │ │ │ │ └── show.ts │ │ │ └── test │ │ │ │ └── setup.ts │ │ └── tsconfig.json │ ├── skaffold.yaml │ ├── t │ │ ├── .gitignore │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ └── tickets │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── app.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── __test__ │ │ │ │ │ ├── order-cancelled-listener.test.ts │ │ │ │ │ └── order-created-listener.test.ts │ │ │ │ ├── order-cancelled-listener.ts │ │ │ │ ├── order-created-listener.ts │ │ │ │ └── queue-group-name.ts │ │ │ └── publishers │ │ │ │ ├── ticket-created-publisher.ts │ │ │ │ └── ticket-updated-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── __test__ │ │ │ │ └── ticket.test.ts │ │ │ └── ticket.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── index.test.ts │ │ │ │ ├── new.test.ts │ │ │ │ ├── show.test.ts │ │ │ │ └── update.test.ts │ │ │ ├── index.ts │ │ │ ├── new.ts │ │ │ ├── show.ts │ │ │ └── update.ts │ │ └── test │ │ │ └── setup.ts │ │ └── tsconfig.json ├── update-version.jpg ├── version-1.jpg └── version-2.jpg ├── section-20.md ├── section-20 ├── bull-1.jpg ├── bull-2.jpg ├── bull-3.jpg ├── bull-4.jpg ├── expiration-complete.jpg ├── expiration-options.jpg ├── expiration-service-1.jpg ├── expiration-service-2.jpg ├── option-1.jpg ├── option-2.jpg ├── option-3.jpg ├── option-4.jpg ├── order-cancelled.jpg ├── setup.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ └── index.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── expiration-complete-event.ts │ │ │ ├── order-cancelled-event.ts │ │ │ ├── order-created-event.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── types │ │ │ │ └── order-status.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── expiration │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── order-created-listener.ts │ │ │ │ └── queue-group-name.ts │ │ │ └── publishers │ │ │ │ └── expiration-complete-publisher.ts │ │ ├── index.ts │ │ ├── nats-wrapper.ts │ │ └── queues │ │ │ └── expiration-queue.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── expiration-depl.yaml │ │ ├── expiration-redis-depl.yaml │ │ ├── ingress-srv.yaml │ │ ├── nats-depl.yaml │ │ ├── orders-depl.yaml │ │ ├── orders-mongo-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-created-listener.ts │ │ │ ├── ticket-created-publisher.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── ticket-updated-listener.ts │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json │ ├── orders │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── app.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── __test__ │ │ │ │ │ ├── expiration-complete-listener.test.ts │ │ │ │ │ ├── ticket-created-listener.test.ts │ │ │ │ │ └── ticket-updated-listener.test.ts │ │ │ │ ├── expiration-complete-listener.ts │ │ │ │ ├── queue-group-name.ts │ │ │ │ ├── ticket-created-listener.ts │ │ │ │ └── ticket-updated-listener.ts │ │ │ └── publishers │ │ │ │ ├── order-cancelled-publisher.ts │ │ │ │ └── order-created-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── ticket.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── delete.test.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── new.test.ts │ │ │ │ └── show.test.ts │ │ │ ├── delete.ts │ │ │ ├── index.ts │ │ │ ├── new.ts │ │ │ └── show.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── skaffold.yaml │ ├── t │ ├── .gitignore │ ├── index.js │ ├── package-lock.json │ └── package.json │ └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── __mocks__ │ │ └── nats-wrapper.ts │ ├── app.ts │ ├── events │ │ ├── listeners │ │ │ ├── __test__ │ │ │ │ ├── order-cancelled-listener.test.ts │ │ │ │ └── order-created-listener.test.ts │ │ │ ├── order-cancelled-listener.ts │ │ │ ├── order-created-listener.ts │ │ │ └── queue-group-name.ts │ │ └── publishers │ │ │ ├── ticket-created-publisher.ts │ │ │ └── ticket-updated-publisher.ts │ ├── index.ts │ ├── models │ │ ├── __test__ │ │ │ └── ticket.test.ts │ │ └── ticket.ts │ ├── nats-wrapper.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json ├── section-21.md ├── section-21 ├── charge-created.jpg ├── charge-handler-1.jpg ├── charge-handler-2.jpg ├── order-cancelled.jpg ├── order-charge.jpg ├── order-created.jpg ├── payment-created.jpg ├── payments-service.jpg ├── payments.jpg ├── props.jpg ├── publish-payment.jpg ├── stripe-1.jpg ├── stripe-2.jpg ├── stripe-setup.jpg ├── test-implementation.jpg ├── test-setup.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ └── index.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── expiration-complete-event.ts │ │ │ ├── order-cancelled-event.ts │ │ │ ├── order-created-event.ts │ │ │ ├── payment-created-event.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── types │ │ │ │ └── order-status.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── expiration │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── order-created-listener.ts │ │ │ │ └── queue-group-name.ts │ │ │ └── publishers │ │ │ │ └── expiration-complete-publisher.ts │ │ ├── index.ts │ │ ├── nats-wrapper.ts │ │ └── queues │ │ │ └── expiration-queue.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── expiration-depl.yaml │ │ ├── expiration-redis-depl.yaml │ │ ├── ingress-srv.yaml │ │ ├── nats-depl.yaml │ │ ├── orders-depl.yaml │ │ ├── orders-mongo-depl.yaml │ │ ├── payments-depl.yaml │ │ ├── payments-mongo-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-created-listener.ts │ │ │ ├── ticket-created-publisher.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── ticket-updated-listener.ts │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json │ ├── orders │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── app.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── __test__ │ │ │ │ │ ├── expiration-complete-listener.test.ts │ │ │ │ │ ├── ticket-created-listener.test.ts │ │ │ │ │ └── ticket-updated-listener.test.ts │ │ │ │ ├── expiration-complete-listener.ts │ │ │ │ ├── payment-created-listener.ts │ │ │ │ ├── queue-group-name.ts │ │ │ │ ├── ticket-created-listener.ts │ │ │ │ └── ticket-updated-listener.ts │ │ │ └── publishers │ │ │ │ ├── order-cancelled-publisher.ts │ │ │ │ └── order-created-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── ticket.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── delete.test.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── new.test.ts │ │ │ │ └── show.test.ts │ │ │ ├── delete.ts │ │ │ ├── index.ts │ │ │ ├── new.ts │ │ │ └── show.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── payments │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ ├── nats-wrapper.ts │ │ │ └── stripe.ts.old │ │ ├── app.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── __test__ │ │ │ │ │ ├── order-cancelled-listener.test.ts │ │ │ │ │ └── order-created-listener.test.ts │ │ │ │ ├── order-cancelled-listener.ts │ │ │ │ ├── order-created-listener.ts │ │ │ │ └── queue-group-name.ts │ │ │ └── publishers │ │ │ │ └── payment-created-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── payment.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ └── new.test.ts │ │ │ └── new.ts │ │ ├── stripe.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── skaffold.yaml │ ├── t │ ├── .gitignore │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── test-setup-2.jpg │ └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── __mocks__ │ │ └── nats-wrapper.ts │ ├── app.ts │ ├── events │ │ ├── listeners │ │ │ ├── __test__ │ │ │ │ ├── order-cancelled-listener.test.ts │ │ │ │ └── order-created-listener.test.ts │ │ │ ├── order-cancelled-listener.ts │ │ │ ├── order-created-listener.ts │ │ │ └── queue-group-name.ts │ │ └── publishers │ │ │ ├── ticket-created-publisher.ts │ │ │ └── ticket-updated-publisher.ts │ ├── index.ts │ ├── models │ │ ├── __test__ │ │ │ └── ticket.test.ts │ │ └── ticket.ts │ ├── nats-wrapper.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json ├── section-22.md ├── section-22 ├── next-1.jpg ├── next-2.jpg ├── page-1.jpg ├── page-2.jpg ├── page-3.jpg ├── routes.jpg └── ticketing │ ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ ├── index.js │ │ ├── orders │ │ ├── [orderId].js │ │ └── index.js │ │ └── tickets │ │ ├── [ticketId].js │ │ └── new.js │ ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── expiration-complete-event.ts │ │ │ ├── order-cancelled-event.ts │ │ │ ├── order-created-event.ts │ │ │ ├── payment-created-event.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── types │ │ │ │ └── order-status.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json │ ├── expiration │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── order-created-listener.ts │ │ │ │ └── queue-group-name.ts │ │ │ └── publishers │ │ │ │ └── expiration-complete-publisher.ts │ │ ├── index.ts │ │ ├── nats-wrapper.ts │ │ └── queues │ │ │ └── expiration-queue.ts │ └── tsconfig.json │ ├── infra │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── expiration-depl.yaml │ │ ├── expiration-redis-depl.yaml │ │ ├── ingress-srv.yaml │ │ ├── nats-depl.yaml │ │ ├── orders-depl.yaml │ │ ├── orders-mongo-depl.yaml │ │ ├── payments-depl.yaml │ │ ├── payments-mongo-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml │ ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-created-listener.ts │ │ │ ├── ticket-created-publisher.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── ticket-updated-listener.ts │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json │ ├── orders │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── app.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── __test__ │ │ │ │ │ ├── expiration-complete-listener.test.ts │ │ │ │ │ ├── ticket-created-listener.test.ts │ │ │ │ │ └── ticket-updated-listener.test.ts │ │ │ │ ├── expiration-complete-listener.ts │ │ │ │ ├── payment-created-listener.ts │ │ │ │ ├── queue-group-name.ts │ │ │ │ ├── ticket-created-listener.ts │ │ │ │ └── ticket-updated-listener.ts │ │ │ └── publishers │ │ │ │ ├── order-cancelled-publisher.ts │ │ │ │ └── order-created-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── ticket.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── delete.test.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── new.test.ts │ │ │ │ └── show.test.ts │ │ │ ├── delete.ts │ │ │ ├── index.ts │ │ │ ├── new.ts │ │ │ └── show.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── payments │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ ├── nats-wrapper.ts │ │ │ └── stripe.ts.old │ │ ├── app.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── __test__ │ │ │ │ │ ├── order-cancelled-listener.test.ts │ │ │ │ │ └── order-created-listener.test.ts │ │ │ │ ├── order-cancelled-listener.ts │ │ │ │ ├── order-created-listener.ts │ │ │ │ └── queue-group-name.ts │ │ │ └── publishers │ │ │ │ └── payment-created-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── payment.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ └── new.test.ts │ │ │ └── new.ts │ │ ├── stripe.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json │ ├── skaffold.yaml │ ├── t │ ├── .gitignore │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── test-setup-2.jpg │ └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── __mocks__ │ │ └── nats-wrapper.ts │ ├── app.ts │ ├── events │ │ ├── listeners │ │ │ ├── __test__ │ │ │ │ ├── order-cancelled-listener.test.ts │ │ │ │ └── order-created-listener.test.ts │ │ │ ├── order-cancelled-listener.ts │ │ │ ├── order-created-listener.ts │ │ │ └── queue-group-name.ts │ │ └── publishers │ │ │ ├── ticket-created-publisher.ts │ │ │ └── ticket-updated-publisher.ts │ ├── index.ts │ ├── models │ │ ├── __test__ │ │ │ └── ticket.test.ts │ │ └── ticket.ts │ ├── nats-wrapper.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json ├── section-23.md └── section-23 ├── add-domain-name.jpg ├── branch.jpg ├── choose-cluster-capacity.jpg ├── configure-domain.jpg ├── context-2.jpg ├── context.jpg ├── deployment-plan.jpg ├── destroy-kubernetes-cluster.jpg ├── destroy-load-balancer.jpg ├── doctl.jpg ├── domain-name.jpg ├── github-action.jpg ├── load-balancer-1.jpg ├── load-balancer-2.jpg ├── mono-repo.jpg ├── repo-per-service.jpg ├── restart-deployment.jpg ├── run-action-1.jpg ├── run-action-2.jpg ├── secrets.jpg ├── selective-test-execution.jpg ├── successful-deploy.jpg ├── teams.jpg ├── ticketing ├── auth │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app.ts │ │ ├── index.ts │ │ ├── models │ │ │ └── user.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── current-user.test.ts │ │ │ │ ├── signin.test.ts │ │ │ │ ├── signout.test.ts │ │ │ │ └── signup.test.ts │ │ │ ├── current-user.ts │ │ │ ├── signin.ts │ │ │ ├── signout.ts │ │ │ └── signup.ts │ │ ├── services │ │ │ └── password.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json ├── client │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── api │ │ └── build-client.js │ ├── components │ │ └── header.js │ ├── hooks │ │ └── use-request.js │ ├── next.config.js │ ├── package-lock.json │ ├── package.json │ └── pages │ │ ├── _app.js │ │ ├── auth │ │ ├── signin.js │ │ ├── signout.js │ │ └── signup.js │ │ ├── index.js │ │ ├── orders │ │ ├── [orderId].js │ │ └── index.js │ │ └── tickets │ │ ├── [ticketId].js │ │ └── new.js ├── common │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── errors │ │ │ ├── bad-request-error.ts │ │ │ ├── custom-error.ts │ │ │ ├── database-connection-error.ts │ │ │ ├── not-authorized-error.ts │ │ │ ├── not-found-error.ts │ │ │ └── request-validation-error.ts │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── expiration-complete-event.ts │ │ │ ├── order-cancelled-event.ts │ │ │ ├── order-created-event.ts │ │ │ ├── payment-created-event.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── types │ │ │ │ └── order-status.ts │ │ ├── index.ts │ │ └── middlewares │ │ │ ├── current-user.ts │ │ │ ├── error-handler.ts │ │ │ ├── require-auth.ts │ │ │ └── validate-request.ts │ └── tsconfig.json ├── expiration │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── order-created-listener.ts │ │ │ │ └── queue-group-name.ts │ │ │ └── publishers │ │ │ │ └── expiration-complete-publisher.ts │ │ ├── index.ts │ │ ├── nats-wrapper.ts │ │ └── queues │ │ │ └── expiration-queue.ts │ └── tsconfig.json ├── infra │ ├── k8s-dev │ │ └── ingress-srv.yaml │ ├── k8s-prod │ │ └── ingress-srv.yaml │ └── k8s │ │ ├── auth-depl.yaml │ │ ├── auth-mongo-depl.yaml │ │ ├── client-depl.yaml │ │ ├── expiration-depl.yaml │ │ ├── expiration-redis-depl.yaml │ │ ├── nats-depl.yaml │ │ ├── orders-depl.yaml │ │ ├── orders-mongo-depl.yaml │ │ ├── payments-depl.yaml │ │ ├── payments-mongo-depl.yaml │ │ ├── tickets-depl.yaml │ │ └── tickets-mongo-depl.yaml ├── nats-test │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── events │ │ │ ├── base-listener.ts │ │ │ ├── base-publisher.ts │ │ │ ├── subjects.ts │ │ │ ├── ticket-created-event.ts │ │ │ ├── ticket-created-listener.ts │ │ │ ├── ticket-created-publisher.ts │ │ │ ├── ticket-updated-event.ts │ │ │ └── ticket-updated-listener.ts │ │ ├── listener.ts │ │ └── publisher.ts │ └── tsconfig.json ├── orders │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ └── nats-wrapper.ts │ │ ├── app.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── __test__ │ │ │ │ │ ├── expiration-complete-listener.test.ts │ │ │ │ │ ├── ticket-created-listener.test.ts │ │ │ │ │ └── ticket-updated-listener.test.ts │ │ │ │ ├── expiration-complete-listener.ts │ │ │ │ ├── payment-created-listener.ts │ │ │ │ ├── queue-group-name.ts │ │ │ │ ├── ticket-created-listener.ts │ │ │ │ └── ticket-updated-listener.ts │ │ │ └── publishers │ │ │ │ ├── order-cancelled-publisher.ts │ │ │ │ └── order-created-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── ticket.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ ├── delete.test.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── new.test.ts │ │ │ │ └── show.test.ts │ │ │ ├── delete.ts │ │ │ ├── index.ts │ │ │ ├── new.ts │ │ │ └── show.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json ├── payments │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── __mocks__ │ │ │ ├── nats-wrapper.ts │ │ │ └── stripe.ts.old │ │ ├── app.ts │ │ ├── events │ │ │ ├── listeners │ │ │ │ ├── __test__ │ │ │ │ │ ├── order-cancelled-listener.test.ts │ │ │ │ │ └── order-created-listener.test.ts │ │ │ │ ├── order-cancelled-listener.ts │ │ │ │ ├── order-created-listener.ts │ │ │ │ └── queue-group-name.ts │ │ │ └── publishers │ │ │ │ └── payment-created-publisher.ts │ │ ├── index.ts │ │ ├── models │ │ │ ├── order.ts │ │ │ └── payment.ts │ │ ├── nats-wrapper.ts │ │ ├── routes │ │ │ ├── __test__ │ │ │ │ └── new.test.ts │ │ │ └── new.ts │ │ ├── stripe.ts │ │ └── test │ │ │ └── setup.ts │ └── tsconfig.json ├── skaffold.yaml ├── t │ ├── .gitignore │ ├── index.js │ ├── package-lock.json │ └── package.json └── tickets │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── __mocks__ │ │ └── nats-wrapper.ts │ ├── app.ts │ ├── events │ │ ├── listeners │ │ │ ├── __test__ │ │ │ │ ├── order-cancelled-listener.test.ts │ │ │ │ └── order-created-listener.test.ts │ │ │ ├── order-cancelled-listener.ts │ │ │ ├── order-created-listener.ts │ │ │ └── queue-group-name.ts │ │ └── publishers │ │ │ ├── ticket-created-publisher.ts │ │ │ └── ticket-updated-publisher.ts │ ├── index.ts │ ├── models │ │ ├── __test__ │ │ │ └── ticket.test.ts │ │ └── ticket.ts │ ├── nats-wrapper.ts │ ├── routes │ │ ├── __test__ │ │ │ ├── index.test.ts │ │ │ ├── new.test.ts │ │ │ ├── show.test.ts │ │ │ └── update.test.ts │ │ ├── index.ts │ │ ├── new.ts │ │ ├── show.ts │ │ └── update.ts │ └── test │ │ └── setup.ts │ └── tsconfig.json └── token.jpg /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/.DS_Store -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/README.md -------------------------------------------------------------------------------- /section-01.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01.md -------------------------------------------------------------------------------- /section-01/access-data.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/access-data.jpg -------------------------------------------------------------------------------- /section-01/basic-ecommerce-app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/basic-ecommerce-app.jpg -------------------------------------------------------------------------------- /section-01/common-database.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/common-database.jpg -------------------------------------------------------------------------------- /section-01/event-bus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/event-bus.jpg -------------------------------------------------------------------------------- /section-01/microservices-addon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/microservices-addon.jpg -------------------------------------------------------------------------------- /section-01/monolith-server.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/monolith-server.jpg -------------------------------------------------------------------------------- /section-01/monolithic-server-addon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/monolithic-server-addon.jpg -------------------------------------------------------------------------------- /section-01/monolithic-server-example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/monolithic-server-example.jpg -------------------------------------------------------------------------------- /section-01/request-create-product.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/request-create-product.jpg -------------------------------------------------------------------------------- /section-01/request-order-product.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/request-order-product.jpg -------------------------------------------------------------------------------- /section-01/request-signup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/request-signup.jpg -------------------------------------------------------------------------------- /section-01/schema-change.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/schema-change.jpg -------------------------------------------------------------------------------- /section-01/service-d-db-implement.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/service-d-db-implement.jpg -------------------------------------------------------------------------------- /section-01/service-d-db.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/service-d-db.jpg -------------------------------------------------------------------------------- /section-01/service-dependent.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/service-dependent.jpg -------------------------------------------------------------------------------- /section-01/single-microservice.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/single-microservice.jpg -------------------------------------------------------------------------------- /section-01/store-data.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/store-data.jpg -------------------------------------------------------------------------------- /section-01/sync-communication.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/sync-communication.jpg -------------------------------------------------------------------------------- /section-01/webs-of-requests.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-01/webs-of-requests.jpg -------------------------------------------------------------------------------- /section-02.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02.md -------------------------------------------------------------------------------- /section-02/add-filter-feature.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/add-filter-feature.jpg -------------------------------------------------------------------------------- /section-02/app-overview-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/app-overview-1.jpg -------------------------------------------------------------------------------- /section-02/app-overview-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/app-overview-2.jpg -------------------------------------------------------------------------------- /section-02/array-of-requests.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/array-of-requests.jpg -------------------------------------------------------------------------------- /section-02/async-communication.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/async-communication.jpg -------------------------------------------------------------------------------- /section-02/blog/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/.gitignore -------------------------------------------------------------------------------- /section-02/blog/client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/README.md -------------------------------------------------------------------------------- /section-02/blog/client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/package-lock.json -------------------------------------------------------------------------------- /section-02/blog/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/package.json -------------------------------------------------------------------------------- /section-02/blog/client/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/public/index.html -------------------------------------------------------------------------------- /section-02/blog/client/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/public/robots.txt -------------------------------------------------------------------------------- /section-02/blog/client/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/src/App.js -------------------------------------------------------------------------------- /section-02/blog/client/src/PostCreate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/src/PostCreate.js -------------------------------------------------------------------------------- /section-02/blog/client/src/PostList.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/src/PostList.js -------------------------------------------------------------------------------- /section-02/blog/client/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/src/index.js -------------------------------------------------------------------------------- /section-02/blog/client/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/client/yarn.lock -------------------------------------------------------------------------------- /section-02/blog/comments/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/comments/.gitignore -------------------------------------------------------------------------------- /section-02/blog/comments/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/comments/index.js -------------------------------------------------------------------------------- /section-02/blog/comments/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/comments/package.json -------------------------------------------------------------------------------- /section-02/blog/event-bus/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/event-bus/.gitignore -------------------------------------------------------------------------------- /section-02/blog/event-bus/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/event-bus/index.js -------------------------------------------------------------------------------- /section-02/blog/event-bus/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/event-bus/package.json -------------------------------------------------------------------------------- /section-02/blog/moderation/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/moderation/.gitignore -------------------------------------------------------------------------------- /section-02/blog/moderation/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/moderation/index.js -------------------------------------------------------------------------------- /section-02/blog/moderation/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/moderation/package.json -------------------------------------------------------------------------------- /section-02/blog/posts/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/posts/.gitignore -------------------------------------------------------------------------------- /section-02/blog/posts/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/posts/index.js -------------------------------------------------------------------------------- /section-02/blog/posts/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/posts/package-lock.json -------------------------------------------------------------------------------- /section-02/blog/posts/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/posts/package.json -------------------------------------------------------------------------------- /section-02/blog/query/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/query/.gitignore -------------------------------------------------------------------------------- /section-02/blog/query/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/query/index.js -------------------------------------------------------------------------------- /section-02/blog/query/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/query/package-lock.json -------------------------------------------------------------------------------- /section-02/blog/query/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/blog/query/package.json -------------------------------------------------------------------------------- /section-02/comment-created.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/comment-created.jpg -------------------------------------------------------------------------------- /section-02/comment-moderated.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/comment-moderated.jpg -------------------------------------------------------------------------------- /section-02/comment-new-shape.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/comment-new-shape.jpg -------------------------------------------------------------------------------- /section-02/comment-updated.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/comment-updated.jpg -------------------------------------------------------------------------------- /section-02/comments-by-post-id.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/comments-by-post-id.jpg -------------------------------------------------------------------------------- /section-02/comments-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/comments-service.jpg -------------------------------------------------------------------------------- /section-02/emit-post-creation-events.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/emit-post-creation-events.jpg -------------------------------------------------------------------------------- /section-02/event-bus-overview-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/event-bus-overview-1.jpg -------------------------------------------------------------------------------- /section-02/event-bus-overview-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/event-bus-overview-2.jpg -------------------------------------------------------------------------------- /section-02/handle-resources-update.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/handle-resources-update.jpg -------------------------------------------------------------------------------- /section-02/microservices-solution.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/microservices-solution.jpg -------------------------------------------------------------------------------- /section-02/missing-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/missing-1.jpg -------------------------------------------------------------------------------- /section-02/missing-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/missing-2.jpg -------------------------------------------------------------------------------- /section-02/moderation-service-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/moderation-service-1.jpg -------------------------------------------------------------------------------- /section-02/moderation-service-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/moderation-service-2.jpg -------------------------------------------------------------------------------- /section-02/moderation-service-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/moderation-service-3.jpg -------------------------------------------------------------------------------- /section-02/monoliths-solution.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/monoliths-solution.jpg -------------------------------------------------------------------------------- /section-02/multi-services-update.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/multi-services-update.jpg -------------------------------------------------------------------------------- /section-02/posts-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/posts-service.jpg -------------------------------------------------------------------------------- /section-02/process-update.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/process-update.jpg -------------------------------------------------------------------------------- /section-02/project-setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/project-setup.jpg -------------------------------------------------------------------------------- /section-02/query-service-update.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/query-service-update.jpg -------------------------------------------------------------------------------- /section-02/query-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/query-service.jpg -------------------------------------------------------------------------------- /section-02/react-client.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/react-client.jpg -------------------------------------------------------------------------------- /section-02/react-query-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/react-query-service.jpg -------------------------------------------------------------------------------- /section-02/service-per-resource.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/service-per-resource.jpg -------------------------------------------------------------------------------- /section-02/solution-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/solution-1.jpg -------------------------------------------------------------------------------- /section-02/solution-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/solution-2.jpg -------------------------------------------------------------------------------- /section-02/solution-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/solution-3.jpg -------------------------------------------------------------------------------- /section-02/sync-communication.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/sync-communication.jpg -------------------------------------------------------------------------------- /section-02/what-services.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-02/what-services.jpg -------------------------------------------------------------------------------- /section-03.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03.md -------------------------------------------------------------------------------- /section-03/01-your-computer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/01-your-computer.jpg -------------------------------------------------------------------------------- /section-03/02-virtual-machine.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/02-virtual-machine.jpg -------------------------------------------------------------------------------- /section-03/03-scale-virtual-machine.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/03-scale-virtual-machine.jpg -------------------------------------------------------------------------------- /section-03/04-second-virtual-machine.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/04-second-virtual-machine.jpg -------------------------------------------------------------------------------- /section-03/05-docker-container.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/05-docker-container.jpg -------------------------------------------------------------------------------- /section-03/06-kubernetes-cluster.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/06-kubernetes-cluster.jpg -------------------------------------------------------------------------------- /section-03/blog/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-03/blog/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/.gitignore -------------------------------------------------------------------------------- /section-03/blog/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/Dockerfile -------------------------------------------------------------------------------- /section-03/blog/client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/README.md -------------------------------------------------------------------------------- /section-03/blog/client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/package-lock.json -------------------------------------------------------------------------------- /section-03/blog/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/package.json -------------------------------------------------------------------------------- /section-03/blog/client/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/public/index.html -------------------------------------------------------------------------------- /section-03/blog/client/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/public/robots.txt -------------------------------------------------------------------------------- /section-03/blog/client/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/src/App.js -------------------------------------------------------------------------------- /section-03/blog/client/src/PostCreate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/src/PostCreate.js -------------------------------------------------------------------------------- /section-03/blog/client/src/PostList.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/src/PostList.js -------------------------------------------------------------------------------- /section-03/blog/client/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/src/index.js -------------------------------------------------------------------------------- /section-03/blog/client/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/client/yarn.lock -------------------------------------------------------------------------------- /section-03/blog/comments/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-03/blog/comments/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/comments/.gitignore -------------------------------------------------------------------------------- /section-03/blog/comments/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/comments/Dockerfile -------------------------------------------------------------------------------- /section-03/blog/comments/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/comments/index.js -------------------------------------------------------------------------------- /section-03/blog/comments/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/comments/package.json -------------------------------------------------------------------------------- /section-03/blog/event-bus/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-03/blog/event-bus/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/event-bus/.gitignore -------------------------------------------------------------------------------- /section-03/blog/event-bus/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/event-bus/Dockerfile -------------------------------------------------------------------------------- /section-03/blog/event-bus/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/event-bus/index.js -------------------------------------------------------------------------------- /section-03/blog/event-bus/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/event-bus/package.json -------------------------------------------------------------------------------- /section-03/blog/moderation/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-03/blog/moderation/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/moderation/.gitignore -------------------------------------------------------------------------------- /section-03/blog/moderation/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/moderation/Dockerfile -------------------------------------------------------------------------------- /section-03/blog/moderation/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/moderation/index.js -------------------------------------------------------------------------------- /section-03/blog/moderation/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/moderation/package.json -------------------------------------------------------------------------------- /section-03/blog/posts/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-03/blog/posts/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/posts/.gitignore -------------------------------------------------------------------------------- /section-03/blog/posts/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/posts/Dockerfile -------------------------------------------------------------------------------- /section-03/blog/posts/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/posts/index.js -------------------------------------------------------------------------------- /section-03/blog/posts/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/posts/package-lock.json -------------------------------------------------------------------------------- /section-03/blog/posts/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/posts/package.json -------------------------------------------------------------------------------- /section-03/blog/query/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-03/blog/query/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/query/.gitignore -------------------------------------------------------------------------------- /section-03/blog/query/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/query/Dockerfile -------------------------------------------------------------------------------- /section-03/blog/query/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/query/index.js -------------------------------------------------------------------------------- /section-03/blog/query/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/query/package-lock.json -------------------------------------------------------------------------------- /section-03/blog/query/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-03/blog/query/package.json -------------------------------------------------------------------------------- /section-04.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04.md -------------------------------------------------------------------------------- /section-04/app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/app.jpg -------------------------------------------------------------------------------- /section-04/blog/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-04/blog/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/.gitignore -------------------------------------------------------------------------------- /section-04/blog/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/Dockerfile -------------------------------------------------------------------------------- /section-04/blog/client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/README.md -------------------------------------------------------------------------------- /section-04/blog/client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/package-lock.json -------------------------------------------------------------------------------- /section-04/blog/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/package.json -------------------------------------------------------------------------------- /section-04/blog/client/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/public/index.html -------------------------------------------------------------------------------- /section-04/blog/client/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/public/robots.txt -------------------------------------------------------------------------------- /section-04/blog/client/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/src/App.js -------------------------------------------------------------------------------- /section-04/blog/client/src/PostCreate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/src/PostCreate.js -------------------------------------------------------------------------------- /section-04/blog/client/src/PostList.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/src/PostList.js -------------------------------------------------------------------------------- /section-04/blog/client/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/src/index.js -------------------------------------------------------------------------------- /section-04/blog/client/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/client/yarn.lock -------------------------------------------------------------------------------- /section-04/blog/comments/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-04/blog/comments/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/comments/.gitignore -------------------------------------------------------------------------------- /section-04/blog/comments/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/comments/Dockerfile -------------------------------------------------------------------------------- /section-04/blog/comments/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/comments/index.js -------------------------------------------------------------------------------- /section-04/blog/comments/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/comments/package.json -------------------------------------------------------------------------------- /section-04/blog/event-bus/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-04/blog/event-bus/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/event-bus/.gitignore -------------------------------------------------------------------------------- /section-04/blog/event-bus/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/event-bus/Dockerfile -------------------------------------------------------------------------------- /section-04/blog/event-bus/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/event-bus/index.js -------------------------------------------------------------------------------- /section-04/blog/event-bus/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/event-bus/package.json -------------------------------------------------------------------------------- /section-04/blog/infra/k8s/posts-srv.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/infra/k8s/posts-srv.yaml -------------------------------------------------------------------------------- /section-04/blog/moderation/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-04/blog/moderation/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/moderation/.gitignore -------------------------------------------------------------------------------- /section-04/blog/moderation/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/moderation/Dockerfile -------------------------------------------------------------------------------- /section-04/blog/moderation/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/moderation/index.js -------------------------------------------------------------------------------- /section-04/blog/moderation/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/moderation/package.json -------------------------------------------------------------------------------- /section-04/blog/posts/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-04/blog/posts/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/posts/.gitignore -------------------------------------------------------------------------------- /section-04/blog/posts/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/posts/Dockerfile -------------------------------------------------------------------------------- /section-04/blog/posts/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/posts/index.js -------------------------------------------------------------------------------- /section-04/blog/posts/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/posts/package-lock.json -------------------------------------------------------------------------------- /section-04/blog/posts/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/posts/package.json -------------------------------------------------------------------------------- /section-04/blog/query/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-04/blog/query/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/query/.gitignore -------------------------------------------------------------------------------- /section-04/blog/query/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/query/Dockerfile -------------------------------------------------------------------------------- /section-04/blog/query/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/query/index.js -------------------------------------------------------------------------------- /section-04/blog/query/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/query/package-lock.json -------------------------------------------------------------------------------- /section-04/blog/query/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/query/package.json -------------------------------------------------------------------------------- /section-04/blog/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/blog/skaffold.yaml -------------------------------------------------------------------------------- /section-04/cluster-ip-service-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/cluster-ip-service-2.jpg -------------------------------------------------------------------------------- /section-04/cluster-ip-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/cluster-ip-service.jpg -------------------------------------------------------------------------------- /section-04/create-docker-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/create-docker-image.jpg -------------------------------------------------------------------------------- /section-04/deployment-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/deployment-1.jpg -------------------------------------------------------------------------------- /section-04/deployment-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/deployment-2.jpg -------------------------------------------------------------------------------- /section-04/hosts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/hosts.jpg -------------------------------------------------------------------------------- /section-04/initial.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/initial.jpg -------------------------------------------------------------------------------- /section-04/ip-address.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/ip-address.jpg -------------------------------------------------------------------------------- /section-04/kubernetes-cluster.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/kubernetes-cluster.jpg -------------------------------------------------------------------------------- /section-04/kubernetes-setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/kubernetes-setup.jpg -------------------------------------------------------------------------------- /section-04/lb-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/lb-1.jpg -------------------------------------------------------------------------------- /section-04/lb-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/lb-2.jpg -------------------------------------------------------------------------------- /section-04/nodeport-service-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/nodeport-service-2.jpg -------------------------------------------------------------------------------- /section-04/nodeport-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/nodeport-service.jpg -------------------------------------------------------------------------------- /section-04/option-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/option-1.jpg -------------------------------------------------------------------------------- /section-04/option-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/option-2.jpg -------------------------------------------------------------------------------- /section-04/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/react.jpg -------------------------------------------------------------------------------- /section-04/request.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/request.jpg -------------------------------------------------------------------------------- /section-04/service-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/service-1.jpg -------------------------------------------------------------------------------- /section-04/service-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/service-2.jpg -------------------------------------------------------------------------------- /section-04/troubleshoot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-04/troubleshoot.jpg -------------------------------------------------------------------------------- /section-05.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05.md -------------------------------------------------------------------------------- /section-05/app-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/app-1.jpg -------------------------------------------------------------------------------- /section-05/app-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/app-2.jpg -------------------------------------------------------------------------------- /section-05/app-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/app-3.jpg -------------------------------------------------------------------------------- /section-05/architecture-design.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/architecture-design.jpg -------------------------------------------------------------------------------- /section-05/auth.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/auth.jpg -------------------------------------------------------------------------------- /section-05/events.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/events.jpg -------------------------------------------------------------------------------- /section-05/resource-types.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/resource-types.jpg -------------------------------------------------------------------------------- /section-05/service-types.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/service-types.jpg -------------------------------------------------------------------------------- /section-05/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-05/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-05/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-05/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-05/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-05/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-05/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-05/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-06.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-06.md -------------------------------------------------------------------------------- /section-07.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07.md -------------------------------------------------------------------------------- /section-07/common-response-structure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/common-response-structure.jpg -------------------------------------------------------------------------------- /section-07/different-frameworks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/different-frameworks.jpg -------------------------------------------------------------------------------- /section-07/error-handling-issue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/error-handling-issue.jpg -------------------------------------------------------------------------------- /section-07/error-handling-solution.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/error-handling-solution.jpg -------------------------------------------------------------------------------- /section-07/error-object-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/error-object-2.jpg -------------------------------------------------------------------------------- /section-07/error-object.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/error-object.jpg -------------------------------------------------------------------------------- /section-07/error.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/error.jpg -------------------------------------------------------------------------------- /section-07/express-validator.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/express-validator.jpg -------------------------------------------------------------------------------- /section-07/handle-error-structure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/handle-error-structure.jpg -------------------------------------------------------------------------------- /section-07/handle-errors-details.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/handle-errors-details.jpg -------------------------------------------------------------------------------- /section-07/react-different-errors.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/react-different-errors.jpg -------------------------------------------------------------------------------- /section-07/scenarios.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/scenarios.jpg -------------------------------------------------------------------------------- /section-07/subclass.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/subclass.jpg -------------------------------------------------------------------------------- /section-07/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-07/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-07/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-07/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-07/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-07/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-07/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-07/verify-custom-error-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/verify-custom-error-1.jpg -------------------------------------------------------------------------------- /section-07/verify-custom-error-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-07/verify-custom-error-2.jpg -------------------------------------------------------------------------------- /section-08.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08.md -------------------------------------------------------------------------------- /section-08/auth-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/auth-1.jpg -------------------------------------------------------------------------------- /section-08/auth-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/auth-2.jpg -------------------------------------------------------------------------------- /section-08/mongoose.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/mongoose.jpg -------------------------------------------------------------------------------- /section-08/signin-hashing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/signin-hashing.jpg -------------------------------------------------------------------------------- /section-08/signup-hashing-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/signup-hashing-1.jpg -------------------------------------------------------------------------------- /section-08/signup-hashing-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/signup-hashing-2.jpg -------------------------------------------------------------------------------- /section-08/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-08/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-08/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-08/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-08/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-08/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-08/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-08/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-09.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09.md -------------------------------------------------------------------------------- /section-09/admin-ban-user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/admin-ban-user.jpg -------------------------------------------------------------------------------- /section-09/admin-create-coupon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/admin-create-coupon.jpg -------------------------------------------------------------------------------- /section-09/auth-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/auth-2.jpg -------------------------------------------------------------------------------- /section-09/auth-mechanism.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/auth-mechanism.jpg -------------------------------------------------------------------------------- /section-09/ban-user-can-buy-ticket.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ban-user-can-buy-ticket.jpg -------------------------------------------------------------------------------- /section-09/cache-banned-users.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/cache-banned-users.jpg -------------------------------------------------------------------------------- /section-09/client-jwt-server.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/client-jwt-server.jpg -------------------------------------------------------------------------------- /section-09/cookie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/cookie.jpg -------------------------------------------------------------------------------- /section-09/current-user-middleware.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/current-user-middleware.jpg -------------------------------------------------------------------------------- /section-09/current-user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/current-user.jpg -------------------------------------------------------------------------------- /section-09/different-db-issue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/different-db-issue.jpg -------------------------------------------------------------------------------- /section-09/different-db-solution.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/different-db-solution.jpg -------------------------------------------------------------------------------- /section-09/jwt-in-cookie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/jwt-in-cookie.jpg -------------------------------------------------------------------------------- /section-09/jwt-signing-key.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/jwt-signing-key.jpg -------------------------------------------------------------------------------- /section-09/jwt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/jwt.jpg -------------------------------------------------------------------------------- /section-09/login-expire.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/login-expire.jpg -------------------------------------------------------------------------------- /section-09/login-user-details.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/login-user-details.jpg -------------------------------------------------------------------------------- /section-09/option-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/option-1-1.jpg -------------------------------------------------------------------------------- /section-09/option-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/option-1.jpg -------------------------------------------------------------------------------- /section-09/option-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/option-2.jpg -------------------------------------------------------------------------------- /section-09/order-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/order-service.jpg -------------------------------------------------------------------------------- /section-09/refresh-token-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/refresh-token-1.jpg -------------------------------------------------------------------------------- /section-09/refresh-token-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/refresh-token-2.jpg -------------------------------------------------------------------------------- /section-09/requests-responses.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/requests-responses.jpg -------------------------------------------------------------------------------- /section-09/secret-object-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/secret-object-1.jpg -------------------------------------------------------------------------------- /section-09/secret-object-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/secret-object-2.jpg -------------------------------------------------------------------------------- /section-09/sign-jwt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/sign-jwt.jpg -------------------------------------------------------------------------------- /section-09/signin-flow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/signin-flow.jpg -------------------------------------------------------------------------------- /section-09/signup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/signup.jpg -------------------------------------------------------------------------------- /section-09/ssr-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ssr-1.jpg -------------------------------------------------------------------------------- /section-09/ssr-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ssr-2.jpg -------------------------------------------------------------------------------- /section-09/ssr-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ssr-3.jpg -------------------------------------------------------------------------------- /section-09/ssr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ssr.jpg -------------------------------------------------------------------------------- /section-09/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-09/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-09/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-09/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-09/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-09/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-09/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-09/user-signin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-09/user-signin.jpg -------------------------------------------------------------------------------- /section-10.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10.md -------------------------------------------------------------------------------- /section-10/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/.DS_Store -------------------------------------------------------------------------------- /section-10/current-app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/current-app.jpg -------------------------------------------------------------------------------- /section-10/goal-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/goal-1.jpg -------------------------------------------------------------------------------- /section-10/goal-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/goal-2.jpg -------------------------------------------------------------------------------- /section-10/goal-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/goal-3.jpg -------------------------------------------------------------------------------- /section-10/setup-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/setup-1.jpg -------------------------------------------------------------------------------- /section-10/setup-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/setup-2.jpg -------------------------------------------------------------------------------- /section-10/supertest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/supertest.jpg -------------------------------------------------------------------------------- /section-10/test-process.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/test-process.jpg -------------------------------------------------------------------------------- /section-10/ticketing/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/ticketing/.DS_Store -------------------------------------------------------------------------------- /section-10/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-10/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-10/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-10/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-10/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-10/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-10/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-10/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-10/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-11.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11.md -------------------------------------------------------------------------------- /section-11/build-client.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/build-client.jpg -------------------------------------------------------------------------------- /section-11/cross-namespace-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/cross-namespace-2.jpg -------------------------------------------------------------------------------- /section-11/cross-namespace.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/cross-namespace.jpg -------------------------------------------------------------------------------- /section-11/csr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/csr.jpg -------------------------------------------------------------------------------- /section-11/external-name.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/external-name.jpg -------------------------------------------------------------------------------- /section-11/header-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/header-1.jpg -------------------------------------------------------------------------------- /section-11/header-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/header-2.jpg -------------------------------------------------------------------------------- /section-11/header-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/header-3.jpg -------------------------------------------------------------------------------- /section-11/header-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/header-4.jpg -------------------------------------------------------------------------------- /section-11/page-vs-custom-app.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/page-vs-custom-app.jpg -------------------------------------------------------------------------------- /section-11/pass-cookie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/pass-cookie.jpg -------------------------------------------------------------------------------- /section-11/request-source.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/request-source.jpg -------------------------------------------------------------------------------- /section-11/sign-in.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/sign-in.jpg -------------------------------------------------------------------------------- /section-11/sign-up.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/sign-up.jpg -------------------------------------------------------------------------------- /section-11/signup-request.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/signup-request.jpg -------------------------------------------------------------------------------- /section-11/solutions-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/solutions-1.jpg -------------------------------------------------------------------------------- /section-11/solutions-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/solutions-2.jpg -------------------------------------------------------------------------------- /section-11/solutions-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/solutions-3.jpg -------------------------------------------------------------------------------- /section-11/ssr-client.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ssr-client.jpg -------------------------------------------------------------------------------- /section-11/ssr-current-user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ssr-current-user.jpg -------------------------------------------------------------------------------- /section-11/ssr-request-from-browser.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ssr-request-from-browser.jpg -------------------------------------------------------------------------------- /section-11/ssr-request-from-server.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ssr-request-from-server.jpg -------------------------------------------------------------------------------- /section-11/ssr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ssr.jpg -------------------------------------------------------------------------------- /section-11/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-11/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-11/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-11/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-11/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-11/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-11/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-11/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-11/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-11/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-11/ticketing/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/client/package.json -------------------------------------------------------------------------------- /section-11/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-11/use-request-hook.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-11/use-request-hook.jpg -------------------------------------------------------------------------------- /section-12.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12.md -------------------------------------------------------------------------------- /section-12/option-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/option-1.jpg -------------------------------------------------------------------------------- /section-12/option-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/option-2.jpg -------------------------------------------------------------------------------- /section-12/option-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/option-3.jpg -------------------------------------------------------------------------------- /section-12/package-security.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/package-security.jpg -------------------------------------------------------------------------------- /section-12/shared-lib.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/shared-lib.jpg -------------------------------------------------------------------------------- /section-12/ticket-service-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticket-service-1.jpg -------------------------------------------------------------------------------- /section-12/ticket-service-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticket-service-2.jpg -------------------------------------------------------------------------------- /section-12/ticket-service-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticket-service-3.jpg -------------------------------------------------------------------------------- /section-12/ticket-service-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticket-service-4.jpg -------------------------------------------------------------------------------- /section-12/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-12/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-12/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-12/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-12/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-12/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-12/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-12/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-12/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-12/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-12/ticketing/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/client/package.json -------------------------------------------------------------------------------- /section-12/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-12/ticketing/common/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/common/package.json -------------------------------------------------------------------------------- /section-12/ticketing/common/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/common/src/index.ts -------------------------------------------------------------------------------- /section-12/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-12/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-13.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13.md -------------------------------------------------------------------------------- /section-13/ticket-model.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticket-model.jpg -------------------------------------------------------------------------------- /section-13/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-13/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-13/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-13/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-13/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-13/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-13/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-13/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-13/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-13/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-13/ticketing/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/client/package.json -------------------------------------------------------------------------------- /section-13/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-13/ticketing/common/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/common/package.json -------------------------------------------------------------------------------- /section-13/ticketing/common/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/common/src/index.ts -------------------------------------------------------------------------------- /section-13/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-13/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-13/ticketing/tickets/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/tickets/.gitignore -------------------------------------------------------------------------------- /section-13/ticketing/tickets/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/tickets/Dockerfile -------------------------------------------------------------------------------- /section-13/ticketing/tickets/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/ticketing/tickets/src/app.ts -------------------------------------------------------------------------------- /section-13/tickets-service-mongo-db.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/tickets-service-mongo-db.jpg -------------------------------------------------------------------------------- /section-13/tickets-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-13/tickets-service.jpg -------------------------------------------------------------------------------- /section-14.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14.md -------------------------------------------------------------------------------- /section-14/account-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/account-1.jpg -------------------------------------------------------------------------------- /section-14/account-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/account-2.jpg -------------------------------------------------------------------------------- /section-14/account-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/account-3.jpg -------------------------------------------------------------------------------- /section-14/account-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/account-4.jpg -------------------------------------------------------------------------------- /section-14/client-id.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/client-id.jpg -------------------------------------------------------------------------------- /section-14/concurrency-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-1.jpg -------------------------------------------------------------------------------- /section-14/concurrency-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-2.jpg -------------------------------------------------------------------------------- /section-14/concurrency-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-3.jpg -------------------------------------------------------------------------------- /section-14/concurrency-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-4.jpg -------------------------------------------------------------------------------- /section-14/concurrency-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-5.jpg -------------------------------------------------------------------------------- /section-14/concurrency-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-6.jpg -------------------------------------------------------------------------------- /section-14/concurrency-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-7.jpg -------------------------------------------------------------------------------- /section-14/concurrency-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-8.jpg -------------------------------------------------------------------------------- /section-14/concurrency-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/concurrency-9.jpg -------------------------------------------------------------------------------- /section-14/connect-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/connect-1.jpg -------------------------------------------------------------------------------- /section-14/connect-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/connect-2.jpg -------------------------------------------------------------------------------- /section-14/connect-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/connect-3.jpg -------------------------------------------------------------------------------- /section-14/custom-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/custom-1.jpg -------------------------------------------------------------------------------- /section-14/custom-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/custom-2.jpg -------------------------------------------------------------------------------- /section-14/custom-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/custom-3.jpg -------------------------------------------------------------------------------- /section-14/durable-subscription.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/durable-subscription.jpg -------------------------------------------------------------------------------- /section-14/event-bus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/event-bus.jpg -------------------------------------------------------------------------------- /section-14/event-redelivery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/event-redelivery.jpg -------------------------------------------------------------------------------- /section-14/fail-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/fail-1.jpg -------------------------------------------------------------------------------- /section-14/fail-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/fail-2.jpg -------------------------------------------------------------------------------- /section-14/fail-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/fail-3.jpg -------------------------------------------------------------------------------- /section-14/fail-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/fail-4.jpg -------------------------------------------------------------------------------- /section-14/fail-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/fail-5.jpg -------------------------------------------------------------------------------- /section-14/fail-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/fail-6.jpg -------------------------------------------------------------------------------- /section-14/last-seq-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/last-seq-1.jpg -------------------------------------------------------------------------------- /section-14/last-seq-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/last-seq-2.jpg -------------------------------------------------------------------------------- /section-14/last-seq-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/last-seq-3.jpg -------------------------------------------------------------------------------- /section-14/last-seq-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/last-seq-4.jpg -------------------------------------------------------------------------------- /section-14/last-seq-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/last-seq-5.jpg -------------------------------------------------------------------------------- /section-14/last-seq-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/last-seq-6.jpg -------------------------------------------------------------------------------- /section-14/last-seq-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/last-seq-7.jpg -------------------------------------------------------------------------------- /section-14/manual-ack.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/manual-ack.jpg -------------------------------------------------------------------------------- /section-14/monolith.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/monolith.jpg -------------------------------------------------------------------------------- /section-14/nats-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/nats-1.jpg -------------------------------------------------------------------------------- /section-14/nats-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/nats-2.jpg -------------------------------------------------------------------------------- /section-14/nats-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/nats-3-1.jpg -------------------------------------------------------------------------------- /section-14/nats-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/nats-3.jpg -------------------------------------------------------------------------------- /section-14/option-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/option-3.jpg -------------------------------------------------------------------------------- /section-14/options.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/options.jpg -------------------------------------------------------------------------------- /section-14/publisher.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/publisher.jpg -------------------------------------------------------------------------------- /section-14/queue-groups-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/queue-groups-1.jpg -------------------------------------------------------------------------------- /section-14/queue-groups-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/queue-groups-2.jpg -------------------------------------------------------------------------------- /section-14/resource-id-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/resource-id-1.jpg -------------------------------------------------------------------------------- /section-14/resource-id-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/resource-id-2.jpg -------------------------------------------------------------------------------- /section-14/share-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/share-1.jpg -------------------------------------------------------------------------------- /section-14/share-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/share-2.jpg -------------------------------------------------------------------------------- /section-14/share-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/share-3.jpg -------------------------------------------------------------------------------- /section-14/share-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/share-4.jpg -------------------------------------------------------------------------------- /section-14/share-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/share-5.jpg -------------------------------------------------------------------------------- /section-14/solution-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/solution-1.jpg -------------------------------------------------------------------------------- /section-14/solution-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/solution-2.jpg -------------------------------------------------------------------------------- /section-14/solution-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/solution-3.jpg -------------------------------------------------------------------------------- /section-14/solution-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/solution-4.jpg -------------------------------------------------------------------------------- /section-14/solution-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/solution-5.jpg -------------------------------------------------------------------------------- /section-14/solution-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/solution-6.jpg -------------------------------------------------------------------------------- /section-14/solution-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/solution-7.jpg -------------------------------------------------------------------------------- /section-14/solution-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/solution-8.jpg -------------------------------------------------------------------------------- /section-14/split-screen-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/split-screen-3.jpg -------------------------------------------------------------------------------- /section-14/split-screen-rs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/split-screen-rs.jpg -------------------------------------------------------------------------------- /section-14/split-screen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/split-screen.jpg -------------------------------------------------------------------------------- /section-14/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-14/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-14/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-14/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-14/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-14/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-14/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-14/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-14/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-14/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-14/ticketing/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/client/package.json -------------------------------------------------------------------------------- /section-14/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-14/ticketing/common/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/common/package.json -------------------------------------------------------------------------------- /section-14/ticketing/common/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/common/src/index.ts -------------------------------------------------------------------------------- /section-14/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-14/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-14/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-14/ticketing/tickets/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/tickets/.gitignore -------------------------------------------------------------------------------- /section-14/ticketing/tickets/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/tickets/Dockerfile -------------------------------------------------------------------------------- /section-14/ticketing/tickets/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-14/ticketing/tickets/src/app.ts -------------------------------------------------------------------------------- /section-15.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15.md -------------------------------------------------------------------------------- /section-15/class-listener-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/class-listener-1.jpg -------------------------------------------------------------------------------- /section-15/class-listener-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/class-listener-2.jpg -------------------------------------------------------------------------------- /section-15/class-listener-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/class-listener-3.jpg -------------------------------------------------------------------------------- /section-15/common-event.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/common-event.jpg -------------------------------------------------------------------------------- /section-15/common-module-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/common-module-2.jpg -------------------------------------------------------------------------------- /section-15/common-module-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/common-module-3.jpg -------------------------------------------------------------------------------- /section-15/common-module.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/common-module.jpg -------------------------------------------------------------------------------- /section-15/cross-language-support.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/cross-language-support.jpg -------------------------------------------------------------------------------- /section-15/mismatch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/mismatch.jpg -------------------------------------------------------------------------------- /section-15/subject-name-event-data.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/subject-name-event-data.jpg -------------------------------------------------------------------------------- /section-15/ticket-created-listener.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticket-created-listener.jpg -------------------------------------------------------------------------------- /section-15/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-15/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-15/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-15/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-15/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-15/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-15/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-15/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-15/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-15/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-15/ticketing/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/client/package.json -------------------------------------------------------------------------------- /section-15/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-15/ticketing/common/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/common/package.json -------------------------------------------------------------------------------- /section-15/ticketing/common/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/common/src/index.ts -------------------------------------------------------------------------------- /section-15/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-15/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-15/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-15/ticketing/tickets/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/tickets/.gitignore -------------------------------------------------------------------------------- /section-15/ticketing/tickets/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/tickets/Dockerfile -------------------------------------------------------------------------------- /section-15/ticketing/tickets/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-15/ticketing/tickets/src/app.ts -------------------------------------------------------------------------------- /section-16.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16.md -------------------------------------------------------------------------------- /section-16/cyclic-dependency.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/cyclic-dependency.jpg -------------------------------------------------------------------------------- /section-16/failed-event-publishing-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/failed-event-publishing-1.jpg -------------------------------------------------------------------------------- /section-16/failed-event-publishing-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/failed-event-publishing-2.jpg -------------------------------------------------------------------------------- /section-16/fix-test-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/fix-test-1.jpg -------------------------------------------------------------------------------- /section-16/fix-test-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/fix-test-2.jpg -------------------------------------------------------------------------------- /section-16/fix-test-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/fix-test-3.jpg -------------------------------------------------------------------------------- /section-16/handle-publish-failure-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/handle-publish-failure-1.jpg -------------------------------------------------------------------------------- /section-16/handle-publish-failure-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/handle-publish-failure-2.jpg -------------------------------------------------------------------------------- /section-16/handle-publish-failure-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/handle-publish-failure-3.jpg -------------------------------------------------------------------------------- /section-16/handle-publish-failure-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/handle-publish-failure-4.jpg -------------------------------------------------------------------------------- /section-16/handle-publish-failure-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/handle-publish-failure-5.jpg -------------------------------------------------------------------------------- /section-16/handle-publish-failure-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/handle-publish-failure-6.jpg -------------------------------------------------------------------------------- /section-16/import-mongoose.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/import-mongoose.jpg -------------------------------------------------------------------------------- /section-16/import-nats-client.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/import-nats-client.jpg -------------------------------------------------------------------------------- /section-16/mock-implementation-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/mock-implementation-1.jpg -------------------------------------------------------------------------------- /section-16/mock-implementation-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/mock-implementation-2.jpg -------------------------------------------------------------------------------- /section-16/mock-implementation-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/mock-implementation-3.jpg -------------------------------------------------------------------------------- /section-16/nats-client-singleton.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/nats-client-singleton.jpg -------------------------------------------------------------------------------- /section-16/ticket-create-handler-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticket-create-handler-1.jpg -------------------------------------------------------------------------------- /section-16/ticket-create-handler-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticket-create-handler-2.jpg -------------------------------------------------------------------------------- /section-16/ticket-update-handler.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticket-update-handler.jpg -------------------------------------------------------------------------------- /section-16/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-16/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-16/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-16/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-16/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-16/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-16/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-16/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-16/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-16/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-16/ticketing/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/client/package.json -------------------------------------------------------------------------------- /section-16/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-16/ticketing/common/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/common/package.json -------------------------------------------------------------------------------- /section-16/ticketing/common/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/common/src/index.ts -------------------------------------------------------------------------------- /section-16/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-16/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-16/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-16/ticketing/tickets/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/tickets/.gitignore -------------------------------------------------------------------------------- /section-16/ticketing/tickets/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/tickets/Dockerfile -------------------------------------------------------------------------------- /section-16/ticketing/tickets/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-16/ticketing/tickets/src/app.ts -------------------------------------------------------------------------------- /section-17.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17.md -------------------------------------------------------------------------------- /section-17/app-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/app-2.jpg -------------------------------------------------------------------------------- /section-17/enum-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/enum-1.jpg -------------------------------------------------------------------------------- /section-17/enum-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/enum-2.jpg -------------------------------------------------------------------------------- /section-17/enum-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/enum-3.jpg -------------------------------------------------------------------------------- /section-17/enum-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/enum-4.jpg -------------------------------------------------------------------------------- /section-17/enum-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/enum-5.jpg -------------------------------------------------------------------------------- /section-17/option-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/option-1-1.jpg -------------------------------------------------------------------------------- /section-17/option-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/option-1-2.jpg -------------------------------------------------------------------------------- /section-17/option-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/option-1.jpg -------------------------------------------------------------------------------- /section-17/option-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/option-2.jpg -------------------------------------------------------------------------------- /section-17/order-service-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/order-service-1.jpg -------------------------------------------------------------------------------- /section-17/order-service-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/order-service-2.jpg -------------------------------------------------------------------------------- /section-17/order-service-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/order-service-3.jpg -------------------------------------------------------------------------------- /section-17/ticket-order.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticket-order.jpg -------------------------------------------------------------------------------- /section-17/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-17/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-17/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-17/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-17/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-17/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-17/ticketing/auth/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/auth/tsconfig.json -------------------------------------------------------------------------------- /section-17/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-17/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-17/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-17/ticketing/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/client/package.json -------------------------------------------------------------------------------- /section-17/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-17/ticketing/common/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/common/package.json -------------------------------------------------------------------------------- /section-17/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-17/ticketing/orders/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-17/ticketing/orders/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/orders/.gitignore -------------------------------------------------------------------------------- /section-17/ticketing/orders/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/orders/Dockerfile -------------------------------------------------------------------------------- /section-17/ticketing/orders/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/orders/src/app.ts -------------------------------------------------------------------------------- /section-17/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-17/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-17/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-18.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18.md -------------------------------------------------------------------------------- /section-18/events.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/events.jpg -------------------------------------------------------------------------------- /section-18/order-cancelled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/order-cancelled.jpg -------------------------------------------------------------------------------- /section-18/order-created.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/order-created.jpg -------------------------------------------------------------------------------- /section-18/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-18/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-18/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-18/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-18/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-18/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-18/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-18/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-18/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-18/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-18/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-18/ticketing/orders/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-18/ticketing/orders/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/orders/.gitignore -------------------------------------------------------------------------------- /section-18/ticketing/orders/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/orders/Dockerfile -------------------------------------------------------------------------------- /section-18/ticketing/orders/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/orders/src/app.ts -------------------------------------------------------------------------------- /section-18/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-18/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-18/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-19.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19.md -------------------------------------------------------------------------------- /section-19/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/.DS_Store -------------------------------------------------------------------------------- /section-19/concurrency-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/concurrency-1.jpg -------------------------------------------------------------------------------- /section-19/concurrency-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/concurrency-2.jpg -------------------------------------------------------------------------------- /section-19/concurrency-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/concurrency-3.jpg -------------------------------------------------------------------------------- /section-19/concurrency-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/concurrency-4.jpg -------------------------------------------------------------------------------- /section-19/control-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/control-1.jpg -------------------------------------------------------------------------------- /section-19/control-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/control-2.jpg -------------------------------------------------------------------------------- /section-19/control-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/control-3.jpg -------------------------------------------------------------------------------- /section-19/events.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/events.jpg -------------------------------------------------------------------------------- /section-19/id-adjustment-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/id-adjustment-2.jpg -------------------------------------------------------------------------------- /section-19/id-adjustment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/id-adjustment.jpg -------------------------------------------------------------------------------- /section-19/lock-tickets-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/lock-tickets-1.jpg -------------------------------------------------------------------------------- /section-19/lock-tickets-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/lock-tickets-2.jpg -------------------------------------------------------------------------------- /section-19/lock-tickets-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/lock-tickets-3.jpg -------------------------------------------------------------------------------- /section-19/missing-update-event-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/missing-update-event-1.jpg -------------------------------------------------------------------------------- /section-19/missing-update-event-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/missing-update-event-2.jpg -------------------------------------------------------------------------------- /section-19/missing-update-event-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/missing-update-event-3.jpg -------------------------------------------------------------------------------- /section-19/missing-update-event-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/missing-update-event-4.jpg -------------------------------------------------------------------------------- /section-19/missing-update-event-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/missing-update-event-5.jpg -------------------------------------------------------------------------------- /section-19/mystery-event-source.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/mystery-event-source.jpg -------------------------------------------------------------------------------- /section-19/order-cancelled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/order-cancelled.jpg -------------------------------------------------------------------------------- /section-19/order-created.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/order-created.jpg -------------------------------------------------------------------------------- /section-19/private-protected-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/private-protected-1.jpg -------------------------------------------------------------------------------- /section-19/private-protected-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/private-protected-2.jpg -------------------------------------------------------------------------------- /section-19/queue-groups.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/queue-groups.jpg -------------------------------------------------------------------------------- /section-19/ticket-created.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticket-created.jpg -------------------------------------------------------------------------------- /section-19/ticket-updated.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticket-updated.jpg -------------------------------------------------------------------------------- /section-19/ticketing/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/.DS_Store -------------------------------------------------------------------------------- /section-19/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-19/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-19/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-19/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-19/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-19/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-19/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-19/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-19/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-19/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-19/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-19/ticketing/orders/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-19/ticketing/orders/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/orders/.gitignore -------------------------------------------------------------------------------- /section-19/ticketing/orders/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/orders/Dockerfile -------------------------------------------------------------------------------- /section-19/ticketing/orders/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/orders/src/app.ts -------------------------------------------------------------------------------- /section-19/ticketing/orders/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'orders-service'; 2 | -------------------------------------------------------------------------------- /section-19/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-19/ticketing/t/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/t/.gitignore -------------------------------------------------------------------------------- /section-19/ticketing/t/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/t/index.js -------------------------------------------------------------------------------- /section-19/ticketing/t/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/ticketing/t/package.json -------------------------------------------------------------------------------- /section-19/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-19/ticketing/tickets/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'tickets-service'; 2 | -------------------------------------------------------------------------------- /section-19/update-version.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/update-version.jpg -------------------------------------------------------------------------------- /section-19/version-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/version-1.jpg -------------------------------------------------------------------------------- /section-19/version-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-19/version-2.jpg -------------------------------------------------------------------------------- /section-20.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20.md -------------------------------------------------------------------------------- /section-20/bull-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/bull-1.jpg -------------------------------------------------------------------------------- /section-20/bull-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/bull-2.jpg -------------------------------------------------------------------------------- /section-20/bull-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/bull-3.jpg -------------------------------------------------------------------------------- /section-20/bull-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/bull-4.jpg -------------------------------------------------------------------------------- /section-20/expiration-complete.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/expiration-complete.jpg -------------------------------------------------------------------------------- /section-20/expiration-options.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/expiration-options.jpg -------------------------------------------------------------------------------- /section-20/expiration-service-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/expiration-service-1.jpg -------------------------------------------------------------------------------- /section-20/expiration-service-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/expiration-service-2.jpg -------------------------------------------------------------------------------- /section-20/option-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/option-1.jpg -------------------------------------------------------------------------------- /section-20/option-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/option-2.jpg -------------------------------------------------------------------------------- /section-20/option-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/option-3.jpg -------------------------------------------------------------------------------- /section-20/option-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/option-4.jpg -------------------------------------------------------------------------------- /section-20/order-cancelled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/order-cancelled.jpg -------------------------------------------------------------------------------- /section-20/setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/setup.jpg -------------------------------------------------------------------------------- /section-20/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-20/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-20/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-20/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-20/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-20/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-20/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-20/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-20/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-20/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-20/ticketing/expiration/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-20/ticketing/expiration/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'expiration-service'; 2 | -------------------------------------------------------------------------------- /section-20/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-20/ticketing/orders/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-20/ticketing/orders/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/orders/.gitignore -------------------------------------------------------------------------------- /section-20/ticketing/orders/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/orders/Dockerfile -------------------------------------------------------------------------------- /section-20/ticketing/orders/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/orders/src/app.ts -------------------------------------------------------------------------------- /section-20/ticketing/orders/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'orders-service'; 2 | -------------------------------------------------------------------------------- /section-20/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-20/ticketing/t/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/t/.gitignore -------------------------------------------------------------------------------- /section-20/ticketing/t/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/t/index.js -------------------------------------------------------------------------------- /section-20/ticketing/t/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-20/ticketing/t/package.json -------------------------------------------------------------------------------- /section-20/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-20/ticketing/tickets/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'tickets-service'; 2 | -------------------------------------------------------------------------------- /section-21.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21.md -------------------------------------------------------------------------------- /section-21/charge-created.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/charge-created.jpg -------------------------------------------------------------------------------- /section-21/charge-handler-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/charge-handler-1.jpg -------------------------------------------------------------------------------- /section-21/charge-handler-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/charge-handler-2.jpg -------------------------------------------------------------------------------- /section-21/order-cancelled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/order-cancelled.jpg -------------------------------------------------------------------------------- /section-21/order-charge.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/order-charge.jpg -------------------------------------------------------------------------------- /section-21/order-created.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/order-created.jpg -------------------------------------------------------------------------------- /section-21/payment-created.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/payment-created.jpg -------------------------------------------------------------------------------- /section-21/payments-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/payments-service.jpg -------------------------------------------------------------------------------- /section-21/payments.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/payments.jpg -------------------------------------------------------------------------------- /section-21/props.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/props.jpg -------------------------------------------------------------------------------- /section-21/publish-payment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/publish-payment.jpg -------------------------------------------------------------------------------- /section-21/stripe-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/stripe-1.jpg -------------------------------------------------------------------------------- /section-21/stripe-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/stripe-2.jpg -------------------------------------------------------------------------------- /section-21/stripe-setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/stripe-setup.jpg -------------------------------------------------------------------------------- /section-21/test-implementation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/test-implementation.jpg -------------------------------------------------------------------------------- /section-21/test-setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/test-setup.jpg -------------------------------------------------------------------------------- /section-21/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-21/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-21/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-21/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-21/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-21/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-21/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-21/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-21/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-21/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-21/ticketing/expiration/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-21/ticketing/expiration/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'expiration-service'; 2 | -------------------------------------------------------------------------------- /section-21/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-21/ticketing/orders/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-21/ticketing/orders/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/orders/.gitignore -------------------------------------------------------------------------------- /section-21/ticketing/orders/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/orders/Dockerfile -------------------------------------------------------------------------------- /section-21/ticketing/orders/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/orders/src/app.ts -------------------------------------------------------------------------------- /section-21/ticketing/orders/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'orders-service'; 2 | -------------------------------------------------------------------------------- /section-21/ticketing/payments/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-21/ticketing/payments/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'payments-service'; 2 | -------------------------------------------------------------------------------- /section-21/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-21/ticketing/t/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/t/.gitignore -------------------------------------------------------------------------------- /section-21/ticketing/t/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/t/index.js -------------------------------------------------------------------------------- /section-21/ticketing/t/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/t/package.json -------------------------------------------------------------------------------- /section-21/ticketing/test-setup-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-21/ticketing/test-setup-2.jpg -------------------------------------------------------------------------------- /section-21/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-21/ticketing/tickets/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'tickets-service'; 2 | -------------------------------------------------------------------------------- /section-22.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22.md -------------------------------------------------------------------------------- /section-22/next-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/next-1.jpg -------------------------------------------------------------------------------- /section-22/next-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/next-2.jpg -------------------------------------------------------------------------------- /section-22/page-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/page-1.jpg -------------------------------------------------------------------------------- /section-22/page-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/page-2.jpg -------------------------------------------------------------------------------- /section-22/page-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/page-3.jpg -------------------------------------------------------------------------------- /section-22/routes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/routes.jpg -------------------------------------------------------------------------------- /section-22/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-22/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-22/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-22/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-22/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-22/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-22/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-22/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-22/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-22/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-22/ticketing/expiration/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-22/ticketing/expiration/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'expiration-service'; 2 | -------------------------------------------------------------------------------- /section-22/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-22/ticketing/orders/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-22/ticketing/orders/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/orders/.gitignore -------------------------------------------------------------------------------- /section-22/ticketing/orders/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/orders/Dockerfile -------------------------------------------------------------------------------- /section-22/ticketing/orders/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/orders/src/app.ts -------------------------------------------------------------------------------- /section-22/ticketing/orders/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'orders-service'; 2 | -------------------------------------------------------------------------------- /section-22/ticketing/payments/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-22/ticketing/payments/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'payments-service'; 2 | -------------------------------------------------------------------------------- /section-22/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-22/ticketing/t/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/t/.gitignore -------------------------------------------------------------------------------- /section-22/ticketing/t/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/t/index.js -------------------------------------------------------------------------------- /section-22/ticketing/t/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/t/package.json -------------------------------------------------------------------------------- /section-22/ticketing/test-setup-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-22/ticketing/test-setup-2.jpg -------------------------------------------------------------------------------- /section-22/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-22/ticketing/tickets/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'tickets-service'; 2 | -------------------------------------------------------------------------------- /section-23.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23.md -------------------------------------------------------------------------------- /section-23/add-domain-name.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/add-domain-name.jpg -------------------------------------------------------------------------------- /section-23/branch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/branch.jpg -------------------------------------------------------------------------------- /section-23/choose-cluster-capacity.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/choose-cluster-capacity.jpg -------------------------------------------------------------------------------- /section-23/configure-domain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/configure-domain.jpg -------------------------------------------------------------------------------- /section-23/context-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/context-2.jpg -------------------------------------------------------------------------------- /section-23/context.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/context.jpg -------------------------------------------------------------------------------- /section-23/deployment-plan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/deployment-plan.jpg -------------------------------------------------------------------------------- /section-23/destroy-load-balancer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/destroy-load-balancer.jpg -------------------------------------------------------------------------------- /section-23/doctl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/doctl.jpg -------------------------------------------------------------------------------- /section-23/domain-name.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/domain-name.jpg -------------------------------------------------------------------------------- /section-23/github-action.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/github-action.jpg -------------------------------------------------------------------------------- /section-23/load-balancer-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/load-balancer-1.jpg -------------------------------------------------------------------------------- /section-23/load-balancer-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/load-balancer-2.jpg -------------------------------------------------------------------------------- /section-23/mono-repo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/mono-repo.jpg -------------------------------------------------------------------------------- /section-23/repo-per-service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/repo-per-service.jpg -------------------------------------------------------------------------------- /section-23/restart-deployment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/restart-deployment.jpg -------------------------------------------------------------------------------- /section-23/run-action-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/run-action-1.jpg -------------------------------------------------------------------------------- /section-23/run-action-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/run-action-2.jpg -------------------------------------------------------------------------------- /section-23/secrets.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/secrets.jpg -------------------------------------------------------------------------------- /section-23/successful-deploy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/successful-deploy.jpg -------------------------------------------------------------------------------- /section-23/teams.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/teams.jpg -------------------------------------------------------------------------------- /section-23/ticketing/auth/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-23/ticketing/auth/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/auth/.gitignore -------------------------------------------------------------------------------- /section-23/ticketing/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/auth/Dockerfile -------------------------------------------------------------------------------- /section-23/ticketing/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/auth/package.json -------------------------------------------------------------------------------- /section-23/ticketing/auth/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/auth/src/app.ts -------------------------------------------------------------------------------- /section-23/ticketing/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/auth/src/index.ts -------------------------------------------------------------------------------- /section-23/ticketing/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-23/ticketing/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/client/.gitignore -------------------------------------------------------------------------------- /section-23/ticketing/client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/client/Dockerfile -------------------------------------------------------------------------------- /section-23/ticketing/common/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | node_modules -------------------------------------------------------------------------------- /section-23/ticketing/expiration/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-23/ticketing/expiration/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'expiration-service'; 2 | -------------------------------------------------------------------------------- /section-23/ticketing/nats-test/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-23/ticketing/orders/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-23/ticketing/orders/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/orders/.gitignore -------------------------------------------------------------------------------- /section-23/ticketing/orders/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/orders/Dockerfile -------------------------------------------------------------------------------- /section-23/ticketing/orders/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/orders/src/app.ts -------------------------------------------------------------------------------- /section-23/ticketing/orders/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'orders-service'; 2 | -------------------------------------------------------------------------------- /section-23/ticketing/payments/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-23/ticketing/payments/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'payments-service'; 2 | -------------------------------------------------------------------------------- /section-23/ticketing/skaffold.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/skaffold.yaml -------------------------------------------------------------------------------- /section-23/ticketing/t/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/t/.gitignore -------------------------------------------------------------------------------- /section-23/ticketing/t/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/t/index.js -------------------------------------------------------------------------------- /section-23/ticketing/t/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/ticketing/t/package.json -------------------------------------------------------------------------------- /section-23/ticketing/tickets/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /section-23/ticketing/tickets/src/events/listeners/queue-group-name.ts: -------------------------------------------------------------------------------- 1 | export const queueGroupName = 'tickets-service'; 2 | -------------------------------------------------------------------------------- /section-23/token.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chesterheng/microservices-node-react/HEAD/section-23/token.jpg --------------------------------------------------------------------------------