├── clean_architecture.png ├── payment ├── .gitignore ├── jest.config.js ├── package.json ├── src │ ├── application │ │ └── ProcessTransaction.ts │ ├── infra │ │ ├── consumer │ │ │ └── PaymentConsumer.ts │ │ ├── controller │ │ │ └── MainController.ts │ │ ├── http │ │ │ ├── ExpressAdapter.ts │ │ │ └── HttpServer.ts │ │ └── queue │ │ │ ├── Queue.ts │ │ │ └── RabbitMQAdapter.ts │ └── main.ts ├── test │ └── API.test.ts ├── tsconfig.json └── yarn.lock ├── portsandadapters.png ├── purchase ├── .gitignore ├── jest.config.js ├── package.json ├── src │ ├── application │ │ ├── ConfirmTicket.ts │ │ ├── GetTicket.ts │ │ └── PurchaseTicket.ts │ ├── domain │ │ ├── entity │ │ │ ├── Event.ts │ │ │ └── Ticket.ts │ │ └── repository │ │ │ ├── EventRepository.ts │ │ │ └── TicketRepository.ts │ ├── infra │ │ ├── consumer │ │ │ └── TicketConsumer.ts │ │ ├── controller │ │ │ └── MainController.ts │ │ ├── gateway │ │ │ └── PaymentGateway.ts │ │ ├── http │ │ │ ├── AxiosAdapter.ts │ │ │ ├── ExpressAdapter.ts │ │ │ ├── HttpClient.ts │ │ │ └── HttpServer.ts │ │ ├── queue │ │ │ ├── Queue.ts │ │ │ └── RabbitMQAdapter.ts │ │ └── repository │ │ │ ├── EventMemoryRepository.ts │ │ │ └── TicketMemoryRepository.ts │ └── main.ts ├── test │ ├── API.test.ts │ └── PurchaseTicket.test.ts ├── tsconfig.json └── yarn.lock └── template ├── .gitignore ├── jest.config.js ├── package.json ├── src └── A.ts ├── test └── A.test.ts ├── tsconfig.json └── yarn.lock /clean_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/clean_architecture.png -------------------------------------------------------------------------------- /payment/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /payment/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/jest.config.js -------------------------------------------------------------------------------- /payment/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/package.json -------------------------------------------------------------------------------- /payment/src/application/ProcessTransaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/src/application/ProcessTransaction.ts -------------------------------------------------------------------------------- /payment/src/infra/consumer/PaymentConsumer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/src/infra/consumer/PaymentConsumer.ts -------------------------------------------------------------------------------- /payment/src/infra/controller/MainController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/src/infra/controller/MainController.ts -------------------------------------------------------------------------------- /payment/src/infra/http/ExpressAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/src/infra/http/ExpressAdapter.ts -------------------------------------------------------------------------------- /payment/src/infra/http/HttpServer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/src/infra/http/HttpServer.ts -------------------------------------------------------------------------------- /payment/src/infra/queue/Queue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/src/infra/queue/Queue.ts -------------------------------------------------------------------------------- /payment/src/infra/queue/RabbitMQAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/src/infra/queue/RabbitMQAdapter.ts -------------------------------------------------------------------------------- /payment/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/src/main.ts -------------------------------------------------------------------------------- /payment/test/API.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/test/API.test.ts -------------------------------------------------------------------------------- /payment/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/tsconfig.json -------------------------------------------------------------------------------- /payment/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/payment/yarn.lock -------------------------------------------------------------------------------- /portsandadapters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/portsandadapters.png -------------------------------------------------------------------------------- /purchase/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /purchase/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/jest.config.js -------------------------------------------------------------------------------- /purchase/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/package.json -------------------------------------------------------------------------------- /purchase/src/application/ConfirmTicket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/application/ConfirmTicket.ts -------------------------------------------------------------------------------- /purchase/src/application/GetTicket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/application/GetTicket.ts -------------------------------------------------------------------------------- /purchase/src/application/PurchaseTicket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/application/PurchaseTicket.ts -------------------------------------------------------------------------------- /purchase/src/domain/entity/Event.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/domain/entity/Event.ts -------------------------------------------------------------------------------- /purchase/src/domain/entity/Ticket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/domain/entity/Ticket.ts -------------------------------------------------------------------------------- /purchase/src/domain/repository/EventRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/domain/repository/EventRepository.ts -------------------------------------------------------------------------------- /purchase/src/domain/repository/TicketRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/domain/repository/TicketRepository.ts -------------------------------------------------------------------------------- /purchase/src/infra/consumer/TicketConsumer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/consumer/TicketConsumer.ts -------------------------------------------------------------------------------- /purchase/src/infra/controller/MainController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/controller/MainController.ts -------------------------------------------------------------------------------- /purchase/src/infra/gateway/PaymentGateway.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/gateway/PaymentGateway.ts -------------------------------------------------------------------------------- /purchase/src/infra/http/AxiosAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/http/AxiosAdapter.ts -------------------------------------------------------------------------------- /purchase/src/infra/http/ExpressAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/http/ExpressAdapter.ts -------------------------------------------------------------------------------- /purchase/src/infra/http/HttpClient.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/http/HttpClient.ts -------------------------------------------------------------------------------- /purchase/src/infra/http/HttpServer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/http/HttpServer.ts -------------------------------------------------------------------------------- /purchase/src/infra/queue/Queue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/queue/Queue.ts -------------------------------------------------------------------------------- /purchase/src/infra/queue/RabbitMQAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/queue/RabbitMQAdapter.ts -------------------------------------------------------------------------------- /purchase/src/infra/repository/EventMemoryRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/repository/EventMemoryRepository.ts -------------------------------------------------------------------------------- /purchase/src/infra/repository/TicketMemoryRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/infra/repository/TicketMemoryRepository.ts -------------------------------------------------------------------------------- /purchase/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/src/main.ts -------------------------------------------------------------------------------- /purchase/test/API.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/test/API.test.ts -------------------------------------------------------------------------------- /purchase/test/PurchaseTicket.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/test/PurchaseTicket.test.ts -------------------------------------------------------------------------------- /purchase/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/tsconfig.json -------------------------------------------------------------------------------- /purchase/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/purchase/yarn.lock -------------------------------------------------------------------------------- /template/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /template/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/template/jest.config.js -------------------------------------------------------------------------------- /template/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/template/package.json -------------------------------------------------------------------------------- /template/src/A.ts: -------------------------------------------------------------------------------- 1 | export default class A { 2 | 3 | constructor (readonly test: string) { 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /template/test/A.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/template/test/A.test.ts -------------------------------------------------------------------------------- /template/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/template/tsconfig.json -------------------------------------------------------------------------------- /template/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/fullcycle_microservices/HEAD/template/yarn.lock --------------------------------------------------------------------------------