├── .github └── workflows │ └── deploy.yml ├── .vscode └── settings.json ├── app-invoices ├── .dockerignore ├── .env ├── .gitignore ├── Dockerfile ├── docker-compose.yml ├── docker │ └── create-test-database.sql ├── drizzle.config.ts ├── package-lock.json ├── package.json ├── src │ ├── broker │ │ ├── broker.ts │ │ ├── channels │ │ │ ├── index.ts │ │ │ └── orders.ts │ │ └── subscriber.ts │ ├── db │ │ ├── client.ts │ │ ├── migrations │ │ │ ├── 0000_worried_sunfire.sql │ │ │ └── meta │ │ │ │ ├── 0000_snapshot.json │ │ │ │ └── _journal.json │ │ └── schema │ │ │ ├── customers.ts │ │ │ ├── index.ts │ │ │ └── invoices.ts │ └── http │ │ └── server.ts └── tsconfig.json ├── app-orders ├── .dockerignore ├── .env ├── .gitignore ├── Dockerfile ├── docker-compose.yml ├── docker │ └── create-test-database.sql ├── drizzle.config.ts ├── package-lock.json ├── package.json ├── src │ ├── broker │ │ ├── broker.ts │ │ ├── channels │ │ │ ├── index.ts │ │ │ └── orders.ts │ │ └── messages │ │ │ └── order-created.ts │ ├── db │ │ ├── client.ts │ │ ├── migrations │ │ │ ├── 0000_familiar_nextwave.sql │ │ │ ├── 0001_friendly_mandarin.sql │ │ │ └── meta │ │ │ │ ├── 0000_snapshot.json │ │ │ │ ├── 0001_snapshot.json │ │ │ │ └── _journal.json │ │ └── schema │ │ │ ├── customers.ts │ │ │ ├── index.ts │ │ │ └── orders.ts │ ├── http │ │ └── server.ts │ └── tracer │ │ └── tracer.ts └── tsconfig.json ├── contracts └── messages │ └── order-created-message.ts ├── docker-compose.yml ├── docker └── kong │ ├── Dockerfile │ ├── config.template.yaml │ └── startup.sh ├── exemplo-com-dominio-e-secret-manager.ts └── infra ├── .gitignore ├── Pulumi.dev.yaml ├── Pulumi.yaml ├── README.md ├── index.ts ├── package-lock.json ├── package.json ├── src ├── cluster.ts ├── images │ ├── kong.ts │ └── orders.ts ├── load-balancer.ts └── services │ ├── kong.ts │ ├── orders.ts │ └── rabbitmq.ts └── tsconfig.json /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /app-invoices/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env* -------------------------------------------------------------------------------- /app-invoices/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/.env -------------------------------------------------------------------------------- /app-invoices/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /app-invoices/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/Dockerfile -------------------------------------------------------------------------------- /app-invoices/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/docker-compose.yml -------------------------------------------------------------------------------- /app-invoices/docker/create-test-database.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE invoices_test; -------------------------------------------------------------------------------- /app-invoices/drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/drizzle.config.ts -------------------------------------------------------------------------------- /app-invoices/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/package-lock.json -------------------------------------------------------------------------------- /app-invoices/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/package.json -------------------------------------------------------------------------------- /app-invoices/src/broker/broker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/broker/broker.ts -------------------------------------------------------------------------------- /app-invoices/src/broker/channels/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/broker/channels/index.ts -------------------------------------------------------------------------------- /app-invoices/src/broker/channels/orders.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/broker/channels/orders.ts -------------------------------------------------------------------------------- /app-invoices/src/broker/subscriber.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/broker/subscriber.ts -------------------------------------------------------------------------------- /app-invoices/src/db/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/db/client.ts -------------------------------------------------------------------------------- /app-invoices/src/db/migrations/0000_worried_sunfire.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/db/migrations/0000_worried_sunfire.sql -------------------------------------------------------------------------------- /app-invoices/src/db/migrations/meta/0000_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/db/migrations/meta/0000_snapshot.json -------------------------------------------------------------------------------- /app-invoices/src/db/migrations/meta/_journal.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/db/migrations/meta/_journal.json -------------------------------------------------------------------------------- /app-invoices/src/db/schema/customers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/db/schema/customers.ts -------------------------------------------------------------------------------- /app-invoices/src/db/schema/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/db/schema/index.ts -------------------------------------------------------------------------------- /app-invoices/src/db/schema/invoices.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/db/schema/invoices.ts -------------------------------------------------------------------------------- /app-invoices/src/http/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/src/http/server.ts -------------------------------------------------------------------------------- /app-invoices/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-invoices/tsconfig.json -------------------------------------------------------------------------------- /app-orders/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env* -------------------------------------------------------------------------------- /app-orders/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/.env -------------------------------------------------------------------------------- /app-orders/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /app-orders/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/Dockerfile -------------------------------------------------------------------------------- /app-orders/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/docker-compose.yml -------------------------------------------------------------------------------- /app-orders/docker/create-test-database.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE orders_test; -------------------------------------------------------------------------------- /app-orders/drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/drizzle.config.ts -------------------------------------------------------------------------------- /app-orders/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/package-lock.json -------------------------------------------------------------------------------- /app-orders/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/package.json -------------------------------------------------------------------------------- /app-orders/src/broker/broker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/broker/broker.ts -------------------------------------------------------------------------------- /app-orders/src/broker/channels/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/broker/channels/index.ts -------------------------------------------------------------------------------- /app-orders/src/broker/channels/orders.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/broker/channels/orders.ts -------------------------------------------------------------------------------- /app-orders/src/broker/messages/order-created.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/broker/messages/order-created.ts -------------------------------------------------------------------------------- /app-orders/src/db/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/client.ts -------------------------------------------------------------------------------- /app-orders/src/db/migrations/0000_familiar_nextwave.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/migrations/0000_familiar_nextwave.sql -------------------------------------------------------------------------------- /app-orders/src/db/migrations/0001_friendly_mandarin.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/migrations/0001_friendly_mandarin.sql -------------------------------------------------------------------------------- /app-orders/src/db/migrations/meta/0000_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/migrations/meta/0000_snapshot.json -------------------------------------------------------------------------------- /app-orders/src/db/migrations/meta/0001_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/migrations/meta/0001_snapshot.json -------------------------------------------------------------------------------- /app-orders/src/db/migrations/meta/_journal.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/migrations/meta/_journal.json -------------------------------------------------------------------------------- /app-orders/src/db/schema/customers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/schema/customers.ts -------------------------------------------------------------------------------- /app-orders/src/db/schema/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/schema/index.ts -------------------------------------------------------------------------------- /app-orders/src/db/schema/orders.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/db/schema/orders.ts -------------------------------------------------------------------------------- /app-orders/src/http/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/http/server.ts -------------------------------------------------------------------------------- /app-orders/src/tracer/tracer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/src/tracer/tracer.ts -------------------------------------------------------------------------------- /app-orders/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/app-orders/tsconfig.json -------------------------------------------------------------------------------- /contracts/messages/order-created-message.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/contracts/messages/order-created-message.ts -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker/kong/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/docker/kong/Dockerfile -------------------------------------------------------------------------------- /docker/kong/config.template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/docker/kong/config.template.yaml -------------------------------------------------------------------------------- /docker/kong/startup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/docker/kong/startup.sh -------------------------------------------------------------------------------- /exemplo-com-dominio-e-secret-manager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/exemplo-com-dominio-e-secret-manager.ts -------------------------------------------------------------------------------- /infra/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /infra/Pulumi.dev.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | aws:region: us-east-1 3 | -------------------------------------------------------------------------------- /infra/Pulumi.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/Pulumi.yaml -------------------------------------------------------------------------------- /infra/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/README.md -------------------------------------------------------------------------------- /infra/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/index.ts -------------------------------------------------------------------------------- /infra/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/package-lock.json -------------------------------------------------------------------------------- /infra/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/package.json -------------------------------------------------------------------------------- /infra/src/cluster.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/src/cluster.ts -------------------------------------------------------------------------------- /infra/src/images/kong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/src/images/kong.ts -------------------------------------------------------------------------------- /infra/src/images/orders.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/src/images/orders.ts -------------------------------------------------------------------------------- /infra/src/load-balancer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/src/load-balancer.ts -------------------------------------------------------------------------------- /infra/src/services/kong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/src/services/kong.ts -------------------------------------------------------------------------------- /infra/src/services/orders.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/src/services/orders.ts -------------------------------------------------------------------------------- /infra/src/services/rabbitmq.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/src/services/rabbitmq.ts -------------------------------------------------------------------------------- /infra/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rocketseat-education/desafio-microsservicos-nodejs/HEAD/infra/tsconfig.json --------------------------------------------------------------------------------