├── .gitignore ├── backend ├── payment │ ├── .gitignore │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── application │ │ │ ├── gateway │ │ │ │ └── PaymentGateway.ts │ │ │ ├── repository │ │ │ │ └── TransactionRepository.ts │ │ │ └── usecase │ │ │ │ └── ProcessPayment.ts │ │ ├── domain │ │ │ ├── entities │ │ │ │ └── Transaction.ts │ │ │ └── event │ │ │ │ ├── PaymentApproved.ts │ │ │ │ └── TicketReserved.ts │ │ ├── infra │ │ │ ├── gateway │ │ │ │ └── FakePaymentGateway.ts │ │ │ ├── queue │ │ │ │ ├── Queue.ts │ │ │ │ ├── QueueController.ts │ │ │ │ └── RabbitMQAdapter.ts │ │ │ ├── registry │ │ │ │ └── Registry.ts │ │ │ └── repository │ │ │ │ └── TransactionRepositoryDatabase.ts │ │ └── main.ts │ ├── tsconfig.json │ └── yarn.lock └── ticket │ ├── .gitignore │ ├── jest.config.js │ ├── package.json │ ├── src │ ├── application │ │ ├── repository │ │ │ ├── EventRepository.ts │ │ │ └── TicketRepository.ts │ │ └── usecase │ │ │ ├── ApproveTicket.ts │ │ │ └── PurchaseTicket.ts │ ├── domain │ │ ├── entities │ │ │ ├── Event.ts │ │ │ └── Ticket.ts │ │ └── event │ │ │ ├── PaymentApproved.ts │ │ │ └── TicketReserved.ts │ ├── infra │ │ ├── queue │ │ │ ├── Queue.ts │ │ │ ├── QueueController.ts │ │ │ └── RabbitMQAdapter.ts │ │ ├── registry │ │ │ └── Registry.ts │ │ └── repository │ │ │ ├── EventRepositoryDatabase.ts │ │ │ └── TicketRepositoryDatabase.ts │ └── main.ts │ ├── test │ └── api.test.ts │ ├── tsconfig.json │ └── yarn.lock └── create.sql /.gitignore: -------------------------------------------------------------------------------- 1 | resources -------------------------------------------------------------------------------- /backend/payment/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage -------------------------------------------------------------------------------- /backend/payment/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/jest.config.js -------------------------------------------------------------------------------- /backend/payment/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/package.json -------------------------------------------------------------------------------- /backend/payment/src/application/gateway/PaymentGateway.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/application/gateway/PaymentGateway.ts -------------------------------------------------------------------------------- /backend/payment/src/application/repository/TransactionRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/application/repository/TransactionRepository.ts -------------------------------------------------------------------------------- /backend/payment/src/application/usecase/ProcessPayment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/application/usecase/ProcessPayment.ts -------------------------------------------------------------------------------- /backend/payment/src/domain/entities/Transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/domain/entities/Transaction.ts -------------------------------------------------------------------------------- /backend/payment/src/domain/event/PaymentApproved.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/domain/event/PaymentApproved.ts -------------------------------------------------------------------------------- /backend/payment/src/domain/event/TicketReserved.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/domain/event/TicketReserved.ts -------------------------------------------------------------------------------- /backend/payment/src/infra/gateway/FakePaymentGateway.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/infra/gateway/FakePaymentGateway.ts -------------------------------------------------------------------------------- /backend/payment/src/infra/queue/Queue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/infra/queue/Queue.ts -------------------------------------------------------------------------------- /backend/payment/src/infra/queue/QueueController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/infra/queue/QueueController.ts -------------------------------------------------------------------------------- /backend/payment/src/infra/queue/RabbitMQAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/infra/queue/RabbitMQAdapter.ts -------------------------------------------------------------------------------- /backend/payment/src/infra/registry/Registry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/infra/registry/Registry.ts -------------------------------------------------------------------------------- /backend/payment/src/infra/repository/TransactionRepositoryDatabase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/infra/repository/TransactionRepositoryDatabase.ts -------------------------------------------------------------------------------- /backend/payment/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/src/main.ts -------------------------------------------------------------------------------- /backend/payment/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/tsconfig.json -------------------------------------------------------------------------------- /backend/payment/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/payment/yarn.lock -------------------------------------------------------------------------------- /backend/ticket/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage -------------------------------------------------------------------------------- /backend/ticket/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/jest.config.js -------------------------------------------------------------------------------- /backend/ticket/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/package.json -------------------------------------------------------------------------------- /backend/ticket/src/application/repository/EventRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/application/repository/EventRepository.ts -------------------------------------------------------------------------------- /backend/ticket/src/application/repository/TicketRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/application/repository/TicketRepository.ts -------------------------------------------------------------------------------- /backend/ticket/src/application/usecase/ApproveTicket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/application/usecase/ApproveTicket.ts -------------------------------------------------------------------------------- /backend/ticket/src/application/usecase/PurchaseTicket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/application/usecase/PurchaseTicket.ts -------------------------------------------------------------------------------- /backend/ticket/src/domain/entities/Event.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/domain/entities/Event.ts -------------------------------------------------------------------------------- /backend/ticket/src/domain/entities/Ticket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/domain/entities/Ticket.ts -------------------------------------------------------------------------------- /backend/ticket/src/domain/event/PaymentApproved.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/domain/event/PaymentApproved.ts -------------------------------------------------------------------------------- /backend/ticket/src/domain/event/TicketReserved.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/domain/event/TicketReserved.ts -------------------------------------------------------------------------------- /backend/ticket/src/infra/queue/Queue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/infra/queue/Queue.ts -------------------------------------------------------------------------------- /backend/ticket/src/infra/queue/QueueController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/infra/queue/QueueController.ts -------------------------------------------------------------------------------- /backend/ticket/src/infra/queue/RabbitMQAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/infra/queue/RabbitMQAdapter.ts -------------------------------------------------------------------------------- /backend/ticket/src/infra/registry/Registry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/infra/registry/Registry.ts -------------------------------------------------------------------------------- /backend/ticket/src/infra/repository/EventRepositoryDatabase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/infra/repository/EventRepositoryDatabase.ts -------------------------------------------------------------------------------- /backend/ticket/src/infra/repository/TicketRepositoryDatabase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/infra/repository/TicketRepositoryDatabase.ts -------------------------------------------------------------------------------- /backend/ticket/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/src/main.ts -------------------------------------------------------------------------------- /backend/ticket/test/api.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/test/api.test.ts -------------------------------------------------------------------------------- /backend/ticket/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/tsconfig.json -------------------------------------------------------------------------------- /backend/ticket/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/backend/ticket/yarn.lock -------------------------------------------------------------------------------- /create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/live_fullcycle_microservices/HEAD/create.sql --------------------------------------------------------------------------------