├── .dockerignore ├── .env.example ├── .eslintignore ├── .eslintrc.json ├── .github └── workflows │ ├── run-e2e-tests.yml │ └── run-unit-tests.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── docker-compose.yml ├── files └── openAPI-swagger.png ├── package.json ├── prisma ├── ERD.svg ├── migrations │ ├── 20230429160747_create_mysql_models │ │ └── migration.sql │ └── migration_lock.toml ├── schema.prisma └── vitest-environment-prisma │ ├── package.json │ └── prisma-test-environment.ts ├── src ├── @types │ └── fastify-jwt.d.ts ├── app.ts ├── docs │ └── openapi.json ├── env │ └── index.ts ├── http │ ├── controllers │ │ ├── check-ins │ │ │ ├── create.spec.ts │ │ │ ├── create.ts │ │ │ ├── history.spec.ts │ │ │ ├── history.ts │ │ │ ├── metrics.spec.ts │ │ │ ├── metrics.ts │ │ │ ├── routes.ts │ │ │ ├── validate.spec.ts │ │ │ └── validate.ts │ │ ├── gyms │ │ │ ├── create.spec.ts │ │ │ ├── create.ts │ │ │ ├── nearby.spec.ts │ │ │ ├── nearby.ts │ │ │ ├── routes.ts │ │ │ ├── search.spec.ts │ │ │ └── search.ts │ │ └── users │ │ │ ├── authenticate.spec.ts │ │ │ ├── authenticate.ts │ │ │ ├── profile.spec.ts │ │ │ ├── profile.ts │ │ │ ├── refresh.spec.ts │ │ │ ├── refresh.ts │ │ │ ├── register.spec.ts │ │ │ ├── register.ts │ │ │ └── routes.ts │ └── middlewares │ │ ├── verify-jwt.ts │ │ └── verify-user-role.ts ├── lib │ └── prisma.ts ├── repositories │ ├── check-ins-repository.ts │ ├── gyms-repository.ts │ ├── in-memory │ │ ├── in-memory-check-ins-repository.ts │ │ ├── in-memory-gyms-repository.ts │ │ └── in-memory-users-repository.ts │ ├── prisma │ │ ├── prisma-check-ins-repository.ts │ │ ├── prisma-gyms-repository.ts │ │ └── prisma-users-repository.ts │ └── users-repository.ts ├── server.ts ├── use-cases │ ├── authenticate.spec.ts │ ├── authenticate.ts │ ├── check-in.spec.ts │ ├── check-in.ts │ ├── create-gym.spec.ts │ ├── create-gym.ts │ ├── errors │ │ ├── invalid-credentials-error.ts │ │ ├── late-check-in-validation-error.ts │ │ ├── max-distance-error.ts │ │ ├── max-number-of-check-ins-error.ts │ │ ├── resource-not-found-error.ts │ │ └── user-already-exists-error.ts │ ├── factories │ │ ├── make-authenticate-use-case.ts │ │ ├── make-check-in-use-case.ts │ │ ├── make-create-gym-use-case.ts │ │ ├── make-fetch-nearby-gyms-use-case.ts │ │ ├── make-fetch-user-check-ins-history-use-case.ts │ │ ├── make-get-user-metrics-use-case.ts │ │ ├── make-get-user-profile-use-case.ts │ │ ├── make-register-use-case.ts │ │ ├── make-search-gyms-use-case.ts │ │ └── make-validate-check-in-use-case.ts │ ├── fetch-nearby-gyms.spec.ts │ ├── fetch-nearby-gyms.ts │ ├── fetch-user-check-ins-history.spec.ts │ ├── fetch-user-check-ins-history.ts │ ├── get-user-metrics.spec.ts │ ├── get-user-metrics.ts │ ├── get-user-profile.spec.ts │ ├── get-user-profile.ts │ ├── register.spec.ts │ ├── register.ts │ ├── search-gyms.spec.ts │ ├── search-gyms.ts │ ├── validate-check-in.spec.ts │ └── validate-check-in.ts ├── utils │ ├── get-distance-between-coordinates.ts │ └── test │ │ └── create-and-authenticate-user.ts └── validators │ └── validations.ts ├── tsconfig.json └── vite.config.ts /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/run-e2e-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/.github/workflows/run-e2e-tests.yml -------------------------------------------------------------------------------- /.github/workflows/run-unit-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/.github/workflows/run-unit-tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | .env 4 | coverage 5 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=true 2 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 18.14.0 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /files/openAPI-swagger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/files/openAPI-swagger.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/package.json -------------------------------------------------------------------------------- /prisma/ERD.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/prisma/ERD.svg -------------------------------------------------------------------------------- /prisma/migrations/20230429160747_create_mysql_models/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/prisma/migrations/20230429160747_create_mysql_models/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /prisma/vitest-environment-prisma/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/prisma/vitest-environment-prisma/package.json -------------------------------------------------------------------------------- /prisma/vitest-environment-prisma/prisma-test-environment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/prisma/vitest-environment-prisma/prisma-test-environment.ts -------------------------------------------------------------------------------- /src/@types/fastify-jwt.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/@types/fastify-jwt.d.ts -------------------------------------------------------------------------------- /src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/app.ts -------------------------------------------------------------------------------- /src/docs/openapi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/docs/openapi.json -------------------------------------------------------------------------------- /src/env/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/env/index.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/create.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/create.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/create.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/history.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/history.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/history.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/history.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/metrics.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/metrics.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/metrics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/metrics.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/routes.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/validate.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/validate.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/check-ins/validate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/check-ins/validate.ts -------------------------------------------------------------------------------- /src/http/controllers/gyms/create.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/gyms/create.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/gyms/create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/gyms/create.ts -------------------------------------------------------------------------------- /src/http/controllers/gyms/nearby.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/gyms/nearby.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/gyms/nearby.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/gyms/nearby.ts -------------------------------------------------------------------------------- /src/http/controllers/gyms/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/gyms/routes.ts -------------------------------------------------------------------------------- /src/http/controllers/gyms/search.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/gyms/search.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/gyms/search.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/gyms/search.ts -------------------------------------------------------------------------------- /src/http/controllers/users/authenticate.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/authenticate.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/users/authenticate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/authenticate.ts -------------------------------------------------------------------------------- /src/http/controllers/users/profile.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/profile.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/users/profile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/profile.ts -------------------------------------------------------------------------------- /src/http/controllers/users/refresh.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/refresh.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/users/refresh.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/refresh.ts -------------------------------------------------------------------------------- /src/http/controllers/users/register.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/register.spec.ts -------------------------------------------------------------------------------- /src/http/controllers/users/register.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/register.ts -------------------------------------------------------------------------------- /src/http/controllers/users/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/controllers/users/routes.ts -------------------------------------------------------------------------------- /src/http/middlewares/verify-jwt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/middlewares/verify-jwt.ts -------------------------------------------------------------------------------- /src/http/middlewares/verify-user-role.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/http/middlewares/verify-user-role.ts -------------------------------------------------------------------------------- /src/lib/prisma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/lib/prisma.ts -------------------------------------------------------------------------------- /src/repositories/check-ins-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/check-ins-repository.ts -------------------------------------------------------------------------------- /src/repositories/gyms-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/gyms-repository.ts -------------------------------------------------------------------------------- /src/repositories/in-memory/in-memory-check-ins-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/in-memory/in-memory-check-ins-repository.ts -------------------------------------------------------------------------------- /src/repositories/in-memory/in-memory-gyms-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/in-memory/in-memory-gyms-repository.ts -------------------------------------------------------------------------------- /src/repositories/in-memory/in-memory-users-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/in-memory/in-memory-users-repository.ts -------------------------------------------------------------------------------- /src/repositories/prisma/prisma-check-ins-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/prisma/prisma-check-ins-repository.ts -------------------------------------------------------------------------------- /src/repositories/prisma/prisma-gyms-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/prisma/prisma-gyms-repository.ts -------------------------------------------------------------------------------- /src/repositories/prisma/prisma-users-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/prisma/prisma-users-repository.ts -------------------------------------------------------------------------------- /src/repositories/users-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/repositories/users-repository.ts -------------------------------------------------------------------------------- /src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/server.ts -------------------------------------------------------------------------------- /src/use-cases/authenticate.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/authenticate.spec.ts -------------------------------------------------------------------------------- /src/use-cases/authenticate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/authenticate.ts -------------------------------------------------------------------------------- /src/use-cases/check-in.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/check-in.spec.ts -------------------------------------------------------------------------------- /src/use-cases/check-in.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/check-in.ts -------------------------------------------------------------------------------- /src/use-cases/create-gym.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/create-gym.spec.ts -------------------------------------------------------------------------------- /src/use-cases/create-gym.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/create-gym.ts -------------------------------------------------------------------------------- /src/use-cases/errors/invalid-credentials-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/errors/invalid-credentials-error.ts -------------------------------------------------------------------------------- /src/use-cases/errors/late-check-in-validation-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/errors/late-check-in-validation-error.ts -------------------------------------------------------------------------------- /src/use-cases/errors/max-distance-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/errors/max-distance-error.ts -------------------------------------------------------------------------------- /src/use-cases/errors/max-number-of-check-ins-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/errors/max-number-of-check-ins-error.ts -------------------------------------------------------------------------------- /src/use-cases/errors/resource-not-found-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/errors/resource-not-found-error.ts -------------------------------------------------------------------------------- /src/use-cases/errors/user-already-exists-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/errors/user-already-exists-error.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-authenticate-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-authenticate-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-check-in-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-check-in-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-create-gym-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-create-gym-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-fetch-nearby-gyms-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-fetch-nearby-gyms-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-fetch-user-check-ins-history-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-fetch-user-check-ins-history-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-get-user-metrics-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-get-user-metrics-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-get-user-profile-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-get-user-profile-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-register-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-register-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-search-gyms-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-search-gyms-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/factories/make-validate-check-in-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/factories/make-validate-check-in-use-case.ts -------------------------------------------------------------------------------- /src/use-cases/fetch-nearby-gyms.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/fetch-nearby-gyms.spec.ts -------------------------------------------------------------------------------- /src/use-cases/fetch-nearby-gyms.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/fetch-nearby-gyms.ts -------------------------------------------------------------------------------- /src/use-cases/fetch-user-check-ins-history.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/fetch-user-check-ins-history.spec.ts -------------------------------------------------------------------------------- /src/use-cases/fetch-user-check-ins-history.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/fetch-user-check-ins-history.ts -------------------------------------------------------------------------------- /src/use-cases/get-user-metrics.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/get-user-metrics.spec.ts -------------------------------------------------------------------------------- /src/use-cases/get-user-metrics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/get-user-metrics.ts -------------------------------------------------------------------------------- /src/use-cases/get-user-profile.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/get-user-profile.spec.ts -------------------------------------------------------------------------------- /src/use-cases/get-user-profile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/get-user-profile.ts -------------------------------------------------------------------------------- /src/use-cases/register.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/register.spec.ts -------------------------------------------------------------------------------- /src/use-cases/register.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/register.ts -------------------------------------------------------------------------------- /src/use-cases/search-gyms.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/search-gyms.spec.ts -------------------------------------------------------------------------------- /src/use-cases/search-gyms.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/search-gyms.ts -------------------------------------------------------------------------------- /src/use-cases/validate-check-in.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/validate-check-in.spec.ts -------------------------------------------------------------------------------- /src/use-cases/validate-check-in.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/use-cases/validate-check-in.ts -------------------------------------------------------------------------------- /src/utils/get-distance-between-coordinates.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/utils/get-distance-between-coordinates.ts -------------------------------------------------------------------------------- /src/utils/test/create-and-authenticate-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/utils/test/create-and-authenticate-user.ts -------------------------------------------------------------------------------- /src/validators/validations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/src/validators/validations.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LivioAlvarenga/API-Rest-Node-SOLID/HEAD/vite.config.ts --------------------------------------------------------------------------------