├── README.md ├── backend ├── checkout │ ├── .gitignore │ ├── create.sql │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── CalculateCheckout.ts │ │ ├── CalculateTax.ts │ │ ├── CurrencyGateway.ts │ │ ├── DI.ts │ │ ├── Item.ts │ │ ├── Product.ts │ │ ├── ProductRepository.ts │ │ ├── ShoppingCart.ts │ │ └── main.ts │ ├── test │ │ └── CalculateCheckout.test.ts │ ├── tsconfig.json │ └── yarn.lock └── currency │ ├── .gitignore │ ├── create.sql │ ├── jest.config.js │ ├── package.json │ ├── src │ └── main.ts │ ├── tsconfig.json │ └── yarn.lock └── resources ├── checkout_aliexpress.png ├── clean_architecture.png ├── code_design_architecture.png ├── composition_aggregation_1.png ├── composition_aggregation_2.png ├── dip1.png ├── dip2.png ├── portsandadapters.png ├── portsandadapters2.png └── uml_arrows.png /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/README.md -------------------------------------------------------------------------------- /backend/checkout/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /backend/checkout/create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/create.sql -------------------------------------------------------------------------------- /backend/checkout/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/jest.config.js -------------------------------------------------------------------------------- /backend/checkout/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/package.json -------------------------------------------------------------------------------- /backend/checkout/src/CalculateCheckout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/CalculateCheckout.ts -------------------------------------------------------------------------------- /backend/checkout/src/CalculateTax.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/CalculateTax.ts -------------------------------------------------------------------------------- /backend/checkout/src/CurrencyGateway.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/CurrencyGateway.ts -------------------------------------------------------------------------------- /backend/checkout/src/DI.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/DI.ts -------------------------------------------------------------------------------- /backend/checkout/src/Item.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/Item.ts -------------------------------------------------------------------------------- /backend/checkout/src/Product.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/Product.ts -------------------------------------------------------------------------------- /backend/checkout/src/ProductRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/ProductRepository.ts -------------------------------------------------------------------------------- /backend/checkout/src/ShoppingCart.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/ShoppingCart.ts -------------------------------------------------------------------------------- /backend/checkout/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/src/main.ts -------------------------------------------------------------------------------- /backend/checkout/test/CalculateCheckout.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/test/CalculateCheckout.test.ts -------------------------------------------------------------------------------- /backend/checkout/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/tsconfig.json -------------------------------------------------------------------------------- /backend/checkout/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/checkout/yarn.lock -------------------------------------------------------------------------------- /backend/currency/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /backend/currency/create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/currency/create.sql -------------------------------------------------------------------------------- /backend/currency/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/currency/jest.config.js -------------------------------------------------------------------------------- /backend/currency/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/currency/package.json -------------------------------------------------------------------------------- /backend/currency/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/currency/src/main.ts -------------------------------------------------------------------------------- /backend/currency/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/currency/tsconfig.json -------------------------------------------------------------------------------- /backend/currency/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/backend/currency/yarn.lock -------------------------------------------------------------------------------- /resources/checkout_aliexpress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/checkout_aliexpress.png -------------------------------------------------------------------------------- /resources/clean_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/clean_architecture.png -------------------------------------------------------------------------------- /resources/code_design_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/code_design_architecture.png -------------------------------------------------------------------------------- /resources/composition_aggregation_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/composition_aggregation_1.png -------------------------------------------------------------------------------- /resources/composition_aggregation_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/composition_aggregation_2.png -------------------------------------------------------------------------------- /resources/dip1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/dip1.png -------------------------------------------------------------------------------- /resources/dip2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/dip2.png -------------------------------------------------------------------------------- /resources/portsandadapters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/portsandadapters.png -------------------------------------------------------------------------------- /resources/portsandadapters2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/portsandadapters2.png -------------------------------------------------------------------------------- /resources/uml_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/dependency_injection_dependency_inversion/HEAD/resources/uml_arrows.png --------------------------------------------------------------------------------