clean-architecture-api-boilerplate
A boilerplate for creating TypeScript APIs following the Clean Architecture principles.
File Explorer
- settings.json
- clean-architecture.png
- Insomnia_2020-12-09
- bad-request-error.spec.ts
- bad-request-error.ts
- date-time-error.spec.ts
- date-time-error.ts
- default-application-error.ts
- email-validation-error.spec.ts
- email-validation-error.ts
- internal-server-error.spec.ts
- internal-server-error.ts
- not-found-error.spec.ts
- not-found-error.ts
- repository-error.spec.ts
- repository-error.ts
- request-validation-error.spec.ts
- request-validation-error.ts
- sanitizer-error.spec.ts
- sanitizer-error.ts
- unauthorized-error.spec.ts
- unauthorized-error.ts
- user-exists-error.spec.ts
- user-exists-error.ts
- controller.ts
- middleware.ts
- create-token-repository.ts
- delete-token-by-user-id-repository.ts
- find-token-by-id-repository.ts
- find-token-by-token-repository.ts
- find-token-by-user-id-repository.ts
- create-user-repository.ts
- delete-user-by-id-repository.ts
- find-all-users-repository.ts
- find-user-by-email-repository.ts
- find-user-by-id-repository.ts
- find-user-with-roles-repository.ts
- update-user-repository.ts
- middleware-request-model.ts
- request-model.ts
- response-handler.ts
- response-model.ts
- sanitizer.ts
- jwt-token.ts
- password-hashing.ts
- email-validator.ts
- validation-composite.ts
- sign-in.spec.ts
- sign-in.ts
- refresh-token.spec.ts
- refresh-token.ts
- create-user.spec.ts
- create-user.ts
- delete-user-by-id.spec.ts
- delete-user-by-id.ts
- find-all-users.spec.ts
- find-all-users.ts
- find-user-by-id.spec.ts
- find-user-by-id.ts
- update-user.spec.ts
- update-user.ts
- validate-string-not-empty.spec.ts
- validate-string-not-empty.ts
- sign-in-validation.spec.ts
- sign-in-validation.ts
- create-user-validation.ts
- update-user-validation.ts
- user-composite-validation.spec.ts
- user-composite-validation.ts
- find-all-users-validation.spec.ts
- find-all-users-validation.ts
- user-email-validation.spec.ts
- user-email-validation.ts
- user-partial-required-fields-validation.spec.ts
- user-partial-required-fields-validation.ts
- user-passwords-must-match-validation.spec.ts
- user-passwords-must-match-validation.ts
- user-required-fields-validation.spec.ts
- user-required-fields-validation.ts
- generic-string-sanitizer-adapter.spec.ts
- generic-string-sanitizer-adapter.ts
- bcrypt-adapter.spec.ts
- bcrypt-adapter.ts
- jwt-token-adapter.spec.ts
- jwt-token-adapter.ts
- email-validator-adapter.spec.ts
- email-validator-adapter.ts
- create-future-date.spec.ts
- create-future-date.ts
- format-date-time.spec.ts
- format-date-time.ts
- zero-pad-left.spec.ts
- zero-pad-left.ts
- object-key-exists.ts
- remove-object-empty-keys.ts
- is_string.ts
- role.ts
- sign-in-request-model.ts
- sign-in-response-model.ts
- signed-token.ts
- token-request-model.ts
- token.ts
- user-request-partial-fields.ts
- user-request-required-fields.ts
- user.ts
- sign-in-use-case.ts
- refresh-token-use-case.ts
- create-user-use-case.ts
- delete-user-by-id-use-case.ts
- find-all-users-use-case.ts
- find-user-by-id-use-case.ts
- update-user-use-case.ts
- express-middleware-adapter.ts
- express-route-adapter.ts
- rate-limit.ts
- refresh-token.ts
- sign-in.test.ts
- sign-in.ts
- user.test.ts
- user.ts
- setup-app.ts
- setup-async-errors.test.ts
- setup-async-errors.ts
- setup-global-middlewares.test.ts
- setup-global-middlewares.ts
- setup-routes.ts
- server.ts
- 20201119051948_create_users.ts
- 20201202132246_create_token.ts
- 20201206220538_create_roles.ts
- 20201206220633_create_user_roles.ts
- 01_users.ts
- 02_roles.ts
- 03_user_roles.ts
- connection.ts
- knexfile.ts
- token-sql-repository.test.ts
- token-sql-repository.ts
- token-default-repository.ts
- map-user-fields.spec.ts
- map-user-fields.ts
- user-with-roles.ts
- user-sql-repository.test.ts
- user-sql-repository.ts
- user-default-repository.ts
- sign-in-controller-factory.ts
- refresh-token-controller-factory.ts
- create-user-controller-factory.ts
- delete-user-by-id-controller-factory.ts
- find-all-users-controller-factory.ts
- find-user-by-id-controller-factory.ts
- update-user-controller-factory.ts
- is-authenticated-middleware-factory.ts
- logged-user-is-target-user-middleware-factory.ts
- sign-in-controller.spec.ts
- sign-in-controller.ts
- refresh-token-controller.spec.ts
- refresh-token-controller.ts
- create-user-controller.spec.ts
- create-user-controller.ts
- delete-user-by-id-controller.spec.ts
- delete-user-by-id-controller.ts
- find-all-users-controller.spec.ts
- find-all-users-controller.ts
- find-by-id-controller.spec.ts
- find-by-id-controller.ts
- update-user-controller.spec.ts
- update-user-controller.ts
- is-authenticated.spec.ts
- is-authenticated.ts
- logged-user-is-target-user.spec.ts
- logged-user-is-target-user.ts
- generic-created-response.spec.ts
- generic-created-response.ts
- generic-deleted-response.spec.ts
- generic-deleted-response.ts
- generic-success-response.spec.ts
- generic-success-response.ts
- generic-updated-response.spec.ts
- generic-updated-response.ts
- .editorconfig
- .env-example
- .eslintignore
- .eslintrc.js
- .gitignore
- .huskyrc.js
- .lintstagedrc.js
- .prettierrc.js
- babel.config.js
- docker-compose.yml
- jest.config.js
- LICENSE
- package-lock.json
- package.json
- README.md
- tsconfig-build.json
- tsconfig.json
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Link
Example
// repository documentation
Was this content helpful?
(0 ratings)
