├── .editorconfig ├── .env.sample ├── .eslintignore ├── .eslintrc.json ├── .github └── workflows │ └── CI_TESTING_AND_STYLE_CHECK.yml ├── .gitignore ├── .husky └── pre-commit ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── assets └── hexagonal_draw.png ├── compose.yml ├── jest.config.ts ├── package.json ├── prisma └── schema.prisma ├── src ├── core │ └── User │ │ ├── application │ │ ├── UseCases │ │ │ ├── UserGetProfileUserCase.ts │ │ │ ├── UserLoginUserCase.ts │ │ │ └── UserRegisterUserCase.ts │ │ └── repositoryImplementations │ │ │ ├── FindUser.ts │ │ │ └── SaveUser.ts │ │ ├── domain │ │ ├── IUser.ts │ │ ├── IUserApplicationImplementations.ts │ │ ├── IUserApplicationUserCases.ts │ │ └── IUserRepository.ts │ │ └── infraestructure │ │ ├── DTOs │ │ ├── UserLoginDto.ts │ │ └── UserRegisterDto.ts │ │ ├── containers │ │ ├── UserCasesContainer.ts │ │ └── UserRespositorysContainer.ts │ │ ├── repositorys │ │ └── PrismaUserRepository.ts │ │ └── strategys │ │ └── UserJwt.ts ├── main │ ├── env.d.ts │ └── providers │ │ ├── ApplicationProvider.ts │ │ ├── ErrorHandlerProvider.ts │ │ ├── LocalsProvider.ts │ │ ├── MiddlewaresProvider.ts │ │ ├── PrismaProvider.ts │ │ ├── RedisProvider.ts │ │ ├── RouterProvider.ts │ │ └── Routes │ │ └── User.routes.ts ├── server.ts └── shared │ ├── CustomErrors │ └── CustomErrors.ts │ ├── PassportProvider │ └── infraestructure │ │ └── passportConfig.ts │ ├── Types │ ├── IFilter.ts │ └── TNullable.ts │ └── providers │ ├── Cache │ ├── domain │ │ └── ICache.ts │ └── infraestructure │ │ └── Cache.ts │ ├── HashProvider │ ├── domain │ │ └── IHashProvider.ts │ └── infraestructure │ │ └── hashprovider.ts │ ├── JwtProvider │ ├── domain │ │ └── TJwtProvider.ts │ └── infraestructure │ │ └── JwtProvider.ts │ ├── Logger │ ├── application │ │ └── ConsoleLog.ts │ ├── domain │ │ └── ILogger.ts │ └── infraestructure │ │ └── ConsoleLogger.ts │ └── Response │ ├── domain │ └── IResponse.ts │ └── infraestructure │ └── Response.ts ├── tests ├── e2e │ ├── ErrorHandler.test.ts │ └── User.test.ts └── unit │ ├── core │ └── User │ │ ├── application │ │ └── UseCase.test.ts │ │ └── infraestructure │ │ └── Repository.test.ts │ ├── database.test.ts │ ├── server.test.ts │ ├── shared │ └── Providers │ │ ├── Logger.test.ts │ │ └── Response.test.ts │ └── stopserver.test.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/.env.sample -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/CI_TESTING_AND_STYLE_CHECK.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/.github/workflows/CI_TESTING_AND_STYLE_CHECK.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | data/ 3 | dist/ 4 | coverage/ 5 | .env 6 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/.husky/pre-commit -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/SECURITY.md -------------------------------------------------------------------------------- /assets/hexagonal_draw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/assets/hexagonal_draw.png -------------------------------------------------------------------------------- /compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/compose.yml -------------------------------------------------------------------------------- /jest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/jest.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/package.json -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /src/core/User/application/UseCases/UserGetProfileUserCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/application/UseCases/UserGetProfileUserCase.ts -------------------------------------------------------------------------------- /src/core/User/application/UseCases/UserLoginUserCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/application/UseCases/UserLoginUserCase.ts -------------------------------------------------------------------------------- /src/core/User/application/UseCases/UserRegisterUserCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/application/UseCases/UserRegisterUserCase.ts -------------------------------------------------------------------------------- /src/core/User/application/repositoryImplementations/FindUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/application/repositoryImplementations/FindUser.ts -------------------------------------------------------------------------------- /src/core/User/application/repositoryImplementations/SaveUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/application/repositoryImplementations/SaveUser.ts -------------------------------------------------------------------------------- /src/core/User/domain/IUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/domain/IUser.ts -------------------------------------------------------------------------------- /src/core/User/domain/IUserApplicationImplementations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/domain/IUserApplicationImplementations.ts -------------------------------------------------------------------------------- /src/core/User/domain/IUserApplicationUserCases.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/domain/IUserApplicationUserCases.ts -------------------------------------------------------------------------------- /src/core/User/domain/IUserRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/domain/IUserRepository.ts -------------------------------------------------------------------------------- /src/core/User/infraestructure/DTOs/UserLoginDto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/infraestructure/DTOs/UserLoginDto.ts -------------------------------------------------------------------------------- /src/core/User/infraestructure/DTOs/UserRegisterDto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/infraestructure/DTOs/UserRegisterDto.ts -------------------------------------------------------------------------------- /src/core/User/infraestructure/containers/UserCasesContainer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/infraestructure/containers/UserCasesContainer.ts -------------------------------------------------------------------------------- /src/core/User/infraestructure/containers/UserRespositorysContainer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/infraestructure/containers/UserRespositorysContainer.ts -------------------------------------------------------------------------------- /src/core/User/infraestructure/repositorys/PrismaUserRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/infraestructure/repositorys/PrismaUserRepository.ts -------------------------------------------------------------------------------- /src/core/User/infraestructure/strategys/UserJwt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/core/User/infraestructure/strategys/UserJwt.ts -------------------------------------------------------------------------------- /src/main/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/env.d.ts -------------------------------------------------------------------------------- /src/main/providers/ApplicationProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/providers/ApplicationProvider.ts -------------------------------------------------------------------------------- /src/main/providers/ErrorHandlerProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/providers/ErrorHandlerProvider.ts -------------------------------------------------------------------------------- /src/main/providers/LocalsProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/providers/LocalsProvider.ts -------------------------------------------------------------------------------- /src/main/providers/MiddlewaresProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/providers/MiddlewaresProvider.ts -------------------------------------------------------------------------------- /src/main/providers/PrismaProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/providers/PrismaProvider.ts -------------------------------------------------------------------------------- /src/main/providers/RedisProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/providers/RedisProvider.ts -------------------------------------------------------------------------------- /src/main/providers/RouterProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/providers/RouterProvider.ts -------------------------------------------------------------------------------- /src/main/providers/Routes/User.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/main/providers/Routes/User.routes.ts -------------------------------------------------------------------------------- /src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/server.ts -------------------------------------------------------------------------------- /src/shared/CustomErrors/CustomErrors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/CustomErrors/CustomErrors.ts -------------------------------------------------------------------------------- /src/shared/PassportProvider/infraestructure/passportConfig.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/PassportProvider/infraestructure/passportConfig.ts -------------------------------------------------------------------------------- /src/shared/Types/IFilter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/Types/IFilter.ts -------------------------------------------------------------------------------- /src/shared/Types/TNullable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/Types/TNullable.ts -------------------------------------------------------------------------------- /src/shared/providers/Cache/domain/ICache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/Cache/domain/ICache.ts -------------------------------------------------------------------------------- /src/shared/providers/Cache/infraestructure/Cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/Cache/infraestructure/Cache.ts -------------------------------------------------------------------------------- /src/shared/providers/HashProvider/domain/IHashProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/HashProvider/domain/IHashProvider.ts -------------------------------------------------------------------------------- /src/shared/providers/HashProvider/infraestructure/hashprovider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/HashProvider/infraestructure/hashprovider.ts -------------------------------------------------------------------------------- /src/shared/providers/JwtProvider/domain/TJwtProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/JwtProvider/domain/TJwtProvider.ts -------------------------------------------------------------------------------- /src/shared/providers/JwtProvider/infraestructure/JwtProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/JwtProvider/infraestructure/JwtProvider.ts -------------------------------------------------------------------------------- /src/shared/providers/Logger/application/ConsoleLog.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/Logger/application/ConsoleLog.ts -------------------------------------------------------------------------------- /src/shared/providers/Logger/domain/ILogger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/Logger/domain/ILogger.ts -------------------------------------------------------------------------------- /src/shared/providers/Logger/infraestructure/ConsoleLogger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/Logger/infraestructure/ConsoleLogger.ts -------------------------------------------------------------------------------- /src/shared/providers/Response/domain/IResponse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/Response/domain/IResponse.ts -------------------------------------------------------------------------------- /src/shared/providers/Response/infraestructure/Response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/src/shared/providers/Response/infraestructure/Response.ts -------------------------------------------------------------------------------- /tests/e2e/ErrorHandler.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/e2e/ErrorHandler.test.ts -------------------------------------------------------------------------------- /tests/e2e/User.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/e2e/User.test.ts -------------------------------------------------------------------------------- /tests/unit/core/User/application/UseCase.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/unit/core/User/application/UseCase.test.ts -------------------------------------------------------------------------------- /tests/unit/core/User/infraestructure/Repository.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/unit/core/User/infraestructure/Repository.test.ts -------------------------------------------------------------------------------- /tests/unit/database.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/unit/database.test.ts -------------------------------------------------------------------------------- /tests/unit/server.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/unit/server.test.ts -------------------------------------------------------------------------------- /tests/unit/shared/Providers/Logger.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/unit/shared/Providers/Logger.test.ts -------------------------------------------------------------------------------- /tests/unit/shared/Providers/Response.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/unit/shared/Providers/Response.test.ts -------------------------------------------------------------------------------- /tests/unit/stopserver.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tests/unit/stopserver.test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bryan-Herrera-DEV/node-ts-ddd-prisma-backend/HEAD/tsconfig.json --------------------------------------------------------------------------------