├── .dockerignore ├── .editorconfig ├── .env.example ├── .eslintrc.json ├── .gitignore ├── .husky ├── commit-msg └── pre-commit ├── .swcrc ├── Dockerfile ├── README.md ├── commitlint.config.js ├── docker-compose.yml ├── docs ├── COMMIT.md └── FILES_AND_DIRS.md ├── jest-e2e.config.js ├── jest-swc.config.js ├── jest.config.js ├── package.json ├── prisma └── schema.prisma ├── src ├── app.module.ts ├── entities │ ├── .gitkeep │ └── @shared │ │ ├── entity.base.spec.ts │ │ ├── entity.base.ts │ │ ├── entity.validator.ts │ │ ├── errors │ │ ├── domain.error.spec.ts │ │ ├── domain.error.ts │ │ ├── notification.error.spec.ts │ │ └── notification.error.ts │ │ ├── identifier.base.ts │ │ ├── interfaces │ │ ├── aggregate-root.interface.ts │ │ ├── validation-handler.interface.ts │ │ └── value-object.interface.ts │ │ ├── notification.validation-handler.spec.ts │ │ ├── notification.validation-handler.ts │ │ ├── utils │ │ ├── append-yup-errors-in-validation-handler.util.spec.ts │ │ └── append-yup-errors-in-validation-handler.util.ts │ │ └── validator.base.ts ├── infrastructure │ ├── .gitkeep │ ├── configs │ │ ├── application.config.ts │ │ ├── jaeger.config.ts │ │ └── redis.config.ts │ ├── filters │ │ ├── application-error.filter.ts │ │ ├── error.filter.ts │ │ ├── http-exception.filter.ts │ │ └── notification-error.filter.ts │ ├── heath-indicators │ │ └── prisma.heath-indicator.ts │ ├── interceptors │ │ ├── jaeger.interceptor.ts │ │ └── sentry.interceptor.ts │ ├── ioc │ │ ├── cache.module.ts │ │ ├── filters.module.ts │ │ ├── heath.module.ts │ │ ├── jaeger.module.ts │ │ ├── prisma.module.ts │ │ └── sentry.module.ts │ ├── services │ │ └── prisma.service.ts │ └── telemetry │ │ └── jaeger.telemetry.ts ├── main.ts ├── presentation │ ├── .gitkeep │ ├── controllers │ │ ├── errors.controller.ts │ │ └── health.controller.ts │ └── view-models │ │ └── errors │ │ ├── application-error.view-model.ts │ │ ├── base-error.view-model.ts │ │ ├── domain-error.view-model.ts │ │ ├── internal-server-error.view-model.ts │ │ └── notification-error.view-model.ts └── usecases │ ├── .gitkeep │ └── @shared │ ├── errors │ └── application.error.ts │ ├── nullary-usecase.interface.ts │ ├── unit-usecase.interface.ts │ └── usecase.interface.ts ├── tests └── example.e2e.ts ├── tsconfig.build.json └── tsconfig.json /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/.dockerignore -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/.husky/commit-msg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/.husky/pre-commit -------------------------------------------------------------------------------- /.swcrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/.swcrc -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/README.md -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: ["@commitlint/config-conventional"] } 2 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/COMMIT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/docs/COMMIT.md -------------------------------------------------------------------------------- /docs/FILES_AND_DIRS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/docs/FILES_AND_DIRS.md -------------------------------------------------------------------------------- /jest-e2e.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/jest-e2e.config.js -------------------------------------------------------------------------------- /jest-swc.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/jest-swc.config.js -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/package.json -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /src/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/app.module.ts -------------------------------------------------------------------------------- /src/entities/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/entities/@shared/entity.base.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/entity.base.spec.ts -------------------------------------------------------------------------------- /src/entities/@shared/entity.base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/entity.base.ts -------------------------------------------------------------------------------- /src/entities/@shared/entity.validator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/entity.validator.ts -------------------------------------------------------------------------------- /src/entities/@shared/errors/domain.error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/errors/domain.error.spec.ts -------------------------------------------------------------------------------- /src/entities/@shared/errors/domain.error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/errors/domain.error.ts -------------------------------------------------------------------------------- /src/entities/@shared/errors/notification.error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/errors/notification.error.spec.ts -------------------------------------------------------------------------------- /src/entities/@shared/errors/notification.error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/errors/notification.error.ts -------------------------------------------------------------------------------- /src/entities/@shared/identifier.base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/identifier.base.ts -------------------------------------------------------------------------------- /src/entities/@shared/interfaces/aggregate-root.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/interfaces/aggregate-root.interface.ts -------------------------------------------------------------------------------- /src/entities/@shared/interfaces/validation-handler.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/interfaces/validation-handler.interface.ts -------------------------------------------------------------------------------- /src/entities/@shared/interfaces/value-object.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/interfaces/value-object.interface.ts -------------------------------------------------------------------------------- /src/entities/@shared/notification.validation-handler.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/notification.validation-handler.spec.ts -------------------------------------------------------------------------------- /src/entities/@shared/notification.validation-handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/notification.validation-handler.ts -------------------------------------------------------------------------------- /src/entities/@shared/utils/append-yup-errors-in-validation-handler.util.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/utils/append-yup-errors-in-validation-handler.util.spec.ts -------------------------------------------------------------------------------- /src/entities/@shared/utils/append-yup-errors-in-validation-handler.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/utils/append-yup-errors-in-validation-handler.util.ts -------------------------------------------------------------------------------- /src/entities/@shared/validator.base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/entities/@shared/validator.base.ts -------------------------------------------------------------------------------- /src/infrastructure/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/infrastructure/configs/application.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/configs/application.config.ts -------------------------------------------------------------------------------- /src/infrastructure/configs/jaeger.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/configs/jaeger.config.ts -------------------------------------------------------------------------------- /src/infrastructure/configs/redis.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/configs/redis.config.ts -------------------------------------------------------------------------------- /src/infrastructure/filters/application-error.filter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/filters/application-error.filter.ts -------------------------------------------------------------------------------- /src/infrastructure/filters/error.filter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/filters/error.filter.ts -------------------------------------------------------------------------------- /src/infrastructure/filters/http-exception.filter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/filters/http-exception.filter.ts -------------------------------------------------------------------------------- /src/infrastructure/filters/notification-error.filter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/filters/notification-error.filter.ts -------------------------------------------------------------------------------- /src/infrastructure/heath-indicators/prisma.heath-indicator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/heath-indicators/prisma.heath-indicator.ts -------------------------------------------------------------------------------- /src/infrastructure/interceptors/jaeger.interceptor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/interceptors/jaeger.interceptor.ts -------------------------------------------------------------------------------- /src/infrastructure/interceptors/sentry.interceptor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/interceptors/sentry.interceptor.ts -------------------------------------------------------------------------------- /src/infrastructure/ioc/cache.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/ioc/cache.module.ts -------------------------------------------------------------------------------- /src/infrastructure/ioc/filters.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/ioc/filters.module.ts -------------------------------------------------------------------------------- /src/infrastructure/ioc/heath.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/ioc/heath.module.ts -------------------------------------------------------------------------------- /src/infrastructure/ioc/jaeger.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/ioc/jaeger.module.ts -------------------------------------------------------------------------------- /src/infrastructure/ioc/prisma.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/ioc/prisma.module.ts -------------------------------------------------------------------------------- /src/infrastructure/ioc/sentry.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/ioc/sentry.module.ts -------------------------------------------------------------------------------- /src/infrastructure/services/prisma.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/services/prisma.service.ts -------------------------------------------------------------------------------- /src/infrastructure/telemetry/jaeger.telemetry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/infrastructure/telemetry/jaeger.telemetry.ts -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/main.ts -------------------------------------------------------------------------------- /src/presentation/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/presentation/controllers/errors.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/presentation/controllers/errors.controller.ts -------------------------------------------------------------------------------- /src/presentation/controllers/health.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/presentation/controllers/health.controller.ts -------------------------------------------------------------------------------- /src/presentation/view-models/errors/application-error.view-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/presentation/view-models/errors/application-error.view-model.ts -------------------------------------------------------------------------------- /src/presentation/view-models/errors/base-error.view-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/presentation/view-models/errors/base-error.view-model.ts -------------------------------------------------------------------------------- /src/presentation/view-models/errors/domain-error.view-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/presentation/view-models/errors/domain-error.view-model.ts -------------------------------------------------------------------------------- /src/presentation/view-models/errors/internal-server-error.view-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/presentation/view-models/errors/internal-server-error.view-model.ts -------------------------------------------------------------------------------- /src/presentation/view-models/errors/notification-error.view-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/presentation/view-models/errors/notification-error.view-model.ts -------------------------------------------------------------------------------- /src/usecases/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/usecases/@shared/errors/application.error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/usecases/@shared/errors/application.error.ts -------------------------------------------------------------------------------- /src/usecases/@shared/nullary-usecase.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/usecases/@shared/nullary-usecase.interface.ts -------------------------------------------------------------------------------- /src/usecases/@shared/unit-usecase.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/usecases/@shared/unit-usecase.interface.ts -------------------------------------------------------------------------------- /src/usecases/@shared/usecase.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/src/usecases/@shared/usecase.interface.ts -------------------------------------------------------------------------------- /tests/example.e2e.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/tests/example.e2e.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthur-rs/typescript-clean-arch-template/HEAD/tsconfig.json --------------------------------------------------------------------------------