├── .dockerignore ├── .env.example ├── .env.test ├── .github ├── pull_request_template.md └── workflows │ ├── build.yml │ ├── integration-test.yml │ └── unit-test.yml ├── .gitignore ├── .husky ├── commit-msg ├── pre-commit └── prepare-commit-msg ├── .npmrc ├── .prettierrc.json ├── .vscode └── settings.json ├── Dockerfile ├── LICENSE ├── README.md ├── cli ├── module-gen │ ├── extend-cradle.js │ ├── index.js │ ├── module-generator.js │ ├── shema-generator.js │ └── templates.js └── repository-gen │ ├── extend-cradle.js │ ├── generate-repository.js │ ├── index.js │ └── templates.js ├── commitlint.config.js ├── docker-compose.test.yml ├── docker-compose.yml ├── eslint.config.mjs ├── package.json ├── src ├── database │ ├── prisma │ │ ├── migrations │ │ │ ├── 20250412114106_message │ │ │ │ └── migration.sql │ │ │ └── migration_lock.toml │ │ ├── prisma.type.ts │ │ └── schema.prisma │ └── repositories │ │ ├── generate.repository.ts │ │ └── message │ │ └── message.repository.ts ├── index.ts ├── lib │ ├── awilix │ │ ├── awilix.ts │ │ └── resolver-registration.ts │ ├── errors │ │ └── errors.ts │ ├── fastify │ │ └── fastify.constant.ts │ ├── hashing │ │ └── hashing.ts │ └── validation │ │ ├── application │ │ └── application.schema.ts │ │ └── message │ │ └── message.schema.ts ├── modules │ ├── application │ │ ├── application.handler.ts │ │ ├── application.route.ts │ │ ├── application.service.ts │ │ └── index.ts │ └── message │ │ ├── index.ts │ │ ├── message.handler.ts │ │ ├── message.route.ts │ │ ├── message.service.ts │ │ └── message.util.ts ├── plugins │ ├── awilix.ts │ ├── cors.ts │ ├── env.ts │ ├── error.ts │ ├── jwt.ts │ ├── prisma.ts │ ├── swagger.ts │ └── zod.ts ├── server.ts └── types │ ├── di-container.type.ts │ ├── env.type.ts │ └── index.d.ts ├── test ├── int │ ├── modules │ │ └── message │ │ │ ├── message-service-create.test.ts │ │ │ └── message-service-fetch.test.ts │ └── setup │ │ ├── db.ts │ │ └── index.ts └── unit │ └── modules │ └── message │ └── diff-objects.test.ts ├── tsconfig.build.json ├── tsconfig.json ├── vitest-int.config.ts ├── vitest-unit.config.ts └── vitest.config.ts /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .volumes 3 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.env.example -------------------------------------------------------------------------------- /.env.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.env.test -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/integration-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.github/workflows/integration-test.yml -------------------------------------------------------------------------------- /.github/workflows/unit-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.github/workflows/unit-test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.husky/commit-msg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged 2 | -------------------------------------------------------------------------------- /.husky/prepare-commit-msg: -------------------------------------------------------------------------------- 1 | exec < /dev/tty && node_modules/.bin/cz --hook || true 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/README.md -------------------------------------------------------------------------------- /cli/module-gen/extend-cradle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/module-gen/extend-cradle.js -------------------------------------------------------------------------------- /cli/module-gen/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/module-gen/index.js -------------------------------------------------------------------------------- /cli/module-gen/module-generator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/module-gen/module-generator.js -------------------------------------------------------------------------------- /cli/module-gen/shema-generator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/module-gen/shema-generator.js -------------------------------------------------------------------------------- /cli/module-gen/templates.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/module-gen/templates.js -------------------------------------------------------------------------------- /cli/repository-gen/extend-cradle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/repository-gen/extend-cradle.js -------------------------------------------------------------------------------- /cli/repository-gen/generate-repository.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/repository-gen/generate-repository.js -------------------------------------------------------------------------------- /cli/repository-gen/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/repository-gen/index.js -------------------------------------------------------------------------------- /cli/repository-gen/templates.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/cli/repository-gen/templates.js -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | export default { extends: ["@commitlint/config-conventional"] }; 2 | -------------------------------------------------------------------------------- /docker-compose.test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/docker-compose.test.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/package.json -------------------------------------------------------------------------------- /src/database/prisma/migrations/20250412114106_message/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/database/prisma/migrations/20250412114106_message/migration.sql -------------------------------------------------------------------------------- /src/database/prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/database/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /src/database/prisma/prisma.type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/database/prisma/prisma.type.ts -------------------------------------------------------------------------------- /src/database/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/database/prisma/schema.prisma -------------------------------------------------------------------------------- /src/database/repositories/generate.repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/database/repositories/generate.repository.ts -------------------------------------------------------------------------------- /src/database/repositories/message/message.repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/database/repositories/message/message.repository.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/lib/awilix/awilix.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/lib/awilix/awilix.ts -------------------------------------------------------------------------------- /src/lib/awilix/resolver-registration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/lib/awilix/resolver-registration.ts -------------------------------------------------------------------------------- /src/lib/errors/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/lib/errors/errors.ts -------------------------------------------------------------------------------- /src/lib/fastify/fastify.constant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/lib/fastify/fastify.constant.ts -------------------------------------------------------------------------------- /src/lib/hashing/hashing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/lib/hashing/hashing.ts -------------------------------------------------------------------------------- /src/lib/validation/application/application.schema.ts: -------------------------------------------------------------------------------- 1 | // Schema for application 2 | -------------------------------------------------------------------------------- /src/lib/validation/message/message.schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/lib/validation/message/message.schema.ts -------------------------------------------------------------------------------- /src/modules/application/application.handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/application/application.handler.ts -------------------------------------------------------------------------------- /src/modules/application/application.route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/application/application.route.ts -------------------------------------------------------------------------------- /src/modules/application/application.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/application/application.service.ts -------------------------------------------------------------------------------- /src/modules/application/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/application/index.ts -------------------------------------------------------------------------------- /src/modules/message/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/message/index.ts -------------------------------------------------------------------------------- /src/modules/message/message.handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/message/message.handler.ts -------------------------------------------------------------------------------- /src/modules/message/message.route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/message/message.route.ts -------------------------------------------------------------------------------- /src/modules/message/message.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/message/message.service.ts -------------------------------------------------------------------------------- /src/modules/message/message.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/modules/message/message.util.ts -------------------------------------------------------------------------------- /src/plugins/awilix.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/plugins/awilix.ts -------------------------------------------------------------------------------- /src/plugins/cors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/plugins/cors.ts -------------------------------------------------------------------------------- /src/plugins/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/plugins/env.ts -------------------------------------------------------------------------------- /src/plugins/error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/plugins/error.ts -------------------------------------------------------------------------------- /src/plugins/jwt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/plugins/jwt.ts -------------------------------------------------------------------------------- /src/plugins/prisma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/plugins/prisma.ts -------------------------------------------------------------------------------- /src/plugins/swagger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/plugins/swagger.ts -------------------------------------------------------------------------------- /src/plugins/zod.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/plugins/zod.ts -------------------------------------------------------------------------------- /src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/server.ts -------------------------------------------------------------------------------- /src/types/di-container.type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/types/di-container.type.ts -------------------------------------------------------------------------------- /src/types/env.type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/types/env.type.ts -------------------------------------------------------------------------------- /src/types/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/src/types/index.d.ts -------------------------------------------------------------------------------- /test/int/modules/message/message-service-create.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/test/int/modules/message/message-service-create.test.ts -------------------------------------------------------------------------------- /test/int/modules/message/message-service-fetch.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/test/int/modules/message/message-service-fetch.test.ts -------------------------------------------------------------------------------- /test/int/setup/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/test/int/setup/db.ts -------------------------------------------------------------------------------- /test/int/setup/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/test/int/setup/index.ts -------------------------------------------------------------------------------- /test/unit/modules/message/diff-objects.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/test/unit/modules/message/diff-objects.test.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vitest-int.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/vitest-int.config.ts -------------------------------------------------------------------------------- /vitest-unit.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/vitest-unit.config.ts -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lumitech-co/lumitech-node-fastify-template/HEAD/vitest.config.ts --------------------------------------------------------------------------------