kybernus 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/core/generator/project.d.ts +2 -1
- package/dist/core/generator/project.d.ts.map +1 -1
- package/dist/core/generator/project.js +6 -13
- package/dist/core/generator/project.js.map +1 -1
- package/package.json +5 -2
- package/templates/java-spring/free/mvc/.gitignore.hbs +0 -39
- package/templates/java-spring/free/mvc/docker-compose.yml.hbs +0 -18
- package/templates/java-spring/free/mvc/pom.xml.hbs +0 -92
- package/templates/java-spring/free/mvc/src/main/java/{{packagePath}}/config/GlobalExceptionHandler.java.hbs +0 -39
- package/templates/java-spring/free/mvc/src/main/java/{{packagePath}}/config/WebConfig.java.hbs +0 -30
- package/templates/java-spring/free/mvc/src/main/java/{{packagePath}}/controller/HealthController.java.hbs +0 -30
- package/templates/java-spring/free/mvc/src/main/resources/application.yml.hbs +0 -32
- package/templates/java-spring/free/mvc/src/test/resources/application.yml.hbs +0 -10
- package/templates/java-spring/pro/mvc/README.md.hbs +0 -116
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/{{projectNamePascalCase}}Application.java.hbs +0 -13
- package/templates/java-spring/pro/mvc/src/test/java/{{packagePath}}/{{projectNamePascalCase}}ApplicationTests.java.hbs +0 -13
- package/templates/java-spring/pro/mvc/template.json +0 -14
- package/templates/nextjs/free/default/.env.example.hbs +0 -1
- package/templates/nextjs/free/default/.gitignore.hbs +0 -8
- package/templates/nextjs/free/default/docker-compose.yml.hbs +0 -18
- package/templates/nextjs/free/default/package.json.hbs +0 -32
- package/templates/nextjs/free/default/postcss.config.js.hbs +0 -6
- package/templates/nextjs/free/default/src/app/api/health/route.ts.hbs +0 -9
- package/templates/nextjs/free/default/src/app/layout.tsx.hbs +0 -22
- package/templates/nextjs/free/default/src/app/page.tsx.hbs +0 -38
- package/templates/nextjs/free/default/src/components/.gitkeep +0 -0
- package/templates/nextjs/free/default/src/lib/prisma.ts.hbs +0 -13
- package/templates/nextjs/free/default/src/proxy.ts.hbs +0 -22
- package/templates/nextjs/free/default/tailwind.config.ts.hbs +0 -15
- package/templates/nextjs/free/default/tsconfig.json.hbs +0 -23
- package/templates/nextjs/pro/mvc/README.md.hbs +0 -96
- package/templates/nextjs/pro/mvc/next.config.js.hbs +0 -4
- package/templates/nextjs/pro/mvc/prisma/schema.prisma.hbs +0 -18
- package/templates/nextjs/pro/mvc/public/.gitkeep +0 -0
- package/templates/nextjs/pro/mvc/src/app/globals.css.hbs +0 -3
- package/templates/nextjs/pro/mvc/src/components/.gitkeep +0 -0
- package/templates/nextjs/pro/mvc/template.json +0 -18
- package/templates/nodejs-express/free/mvc/.env.example.hbs +0 -3
- package/templates/nodejs-express/free/mvc/.gitignore.hbs +0 -6
- package/templates/nodejs-express/free/mvc/README.md.hbs +0 -128
- package/templates/nodejs-express/free/mvc/docker-compose.yml.hbs +0 -18
- package/templates/nodejs-express/free/mvc/package.json.hbs +0 -39
- package/templates/nodejs-express/free/mvc/src/app.ts.hbs +0 -29
- package/templates/nodejs-express/free/mvc/src/config/database.ts.hbs +0 -10
- package/templates/nodejs-express/free/mvc/src/controllers/healthController.ts.hbs +0 -20
- package/templates/nodejs-express/free/mvc/src/index.ts.hbs +0 -12
- package/templates/nodejs-express/free/mvc/src/middleware/errorHandler.ts.hbs +0 -22
- package/templates/nodejs-express/free/mvc/src/models/.gitkeep +0 -0
- package/templates/nodejs-express/free/mvc/src/services/.gitkeep +0 -0
- package/templates/nodejs-express/free/mvc/tsconfig.json.hbs +0 -18
- package/templates/nodejs-express/pro/mvc/src/models/.gitkeep +0 -0
- package/templates/nodejs-express/pro/mvc/src/routes/index.ts.hbs +0 -14
- package/templates/nodejs-express/pro/mvc/src/services/.gitkeep +0 -0
- package/templates/nodejs-express/pro/mvc/template.json +0 -18
- /package/templates/java-spring/{pro/clean → clean}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/Dockerfile.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/README.md.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/docker-compose.yml.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/infra/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/pom.xml.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/application/service/AuthService.java.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/domain/entity/User.java.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/domain/repository/UserRepository.java.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/domain/usecase/LoginUserUseCase.java.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/domain/usecase/RegisterUserUseCase.java.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/infrastructure/persistence/InMemoryUserRepository.java.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/infrastructure/security/SecurityAdapters.java.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/infrastructure/web/controller/AuthController.java.hbs +0 -0
- /package/templates/java-spring/{pro/clean → clean}/src/main/java/{{packagePath}}/{{projectNamePascalCase}}Application.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/Dockerfile.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/README.md.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/docker-compose.yml.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/infra/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/pom.xml.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/application/service/AuthService.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/domain/entity/User.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/domain/repository/UserRepository.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/domain/usecase/LoginUserUseCase.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/domain/usecase/RegisterUserUseCase.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/infrastructure/persistence/InMemoryUserRepository.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/infrastructure/security/SecurityAdapters.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/infrastructure/web/controller/AuthController.java.hbs +0 -0
- /package/templates/java-spring/{pro/hexagonal → hexagonal}/src/main/java/{{packagePath}}/{{projectNamePascalCase}}Application.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/Dockerfile.hbs +0 -0
- /package/templates/java-spring/{free/mvc → mvc}/README.md.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/docker-compose.yml.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/infra/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/pom.xml.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/config/GlobalExceptionHandler.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/config/SecurityConfig.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/config/WebConfig.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/controller/AuthController.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/controller/HealthController.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/controller/PaymentsController.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/dto/AuthRequest.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/dto/AuthResponse.java.hbs +0 -0
- /package/templates/java-spring/{free/mvc → mvc}/src/main/java/{{packagePath}}/model/.gitkeep +0 -0
- /package/templates/java-spring/{free/mvc → mvc}/src/main/java/{{packagePath}}/repository/.gitkeep +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/security/JwtAuthenticationFilter.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/security/JwtTokenProvider.java.hbs +0 -0
- /package/templates/java-spring/{free/mvc → mvc}/src/main/java/{{packagePath}}/service/.gitkeep +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/java/{{packagePath}}/service/StripeService.java.hbs +0 -0
- /package/templates/java-spring/{free/mvc → mvc}/src/main/java/{{packagePath}}/{{projectNamePascalCase}}Application.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/main/resources/application.yml.hbs +0 -0
- /package/templates/java-spring/{free/mvc → mvc}/src/test/java/{{packagePath}}/{{projectNamePascalCase}}ApplicationTests.java.hbs +0 -0
- /package/templates/java-spring/{pro/mvc → mvc}/src/test/resources/application.yml.hbs +0 -0
- /package/templates/java-spring/{free/mvc → mvc}/template.json +0 -0
- /package/templates/nestjs/{pro/clean → clean}/.env.example.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/Dockerfile.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/docker-compose.yml.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/infra/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/package.json.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/src/auth.module.ts.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/src/domain/entities/user.entity.ts.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/src/domain/repositories/user.repository.ts.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/src/domain/use-cases/register.use-case.ts.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/src/infrastructure/database/in-memory.repository.ts.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/src/infrastructure/http/auth.controller.ts.hbs +0 -0
- /package/templates/nestjs/{pro/clean → clean}/tsconfig.json.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/.env.example.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/Dockerfile.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/docker-compose.yml.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/infra/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/package.json.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/src/adapters/inbound/http.adapter.ts.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/src/adapters/outbound/persistence.adapter.ts.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/src/auth.module.ts.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/src/core/auth.service.ts.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/src/core/domain/user.entity.ts.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/src/core/ports/ports.ts.hbs +0 -0
- /package/templates/nestjs/{pro/hexagonal → hexagonal}/tsconfig.json.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/.env.example.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/Dockerfile.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/README.md.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/docker-compose.yml.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/infra/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/package.json.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/app.module.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/auth/auth.controller.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/auth/auth.module.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/auth/auth.service.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/auth/jwt.strategy.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/controllers/health.controller.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/controllers/items.controller.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/main.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/models/create-item.dto.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/models/item.model.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/modules/items.module.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/payments/payments.controller.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/payments/payments.module.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/payments/payments.service.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/src/services/items.service.ts.hbs +0 -0
- /package/templates/nestjs/{pro/mvc → mvc}/tsconfig.json.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/.env.example.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/Dockerfile.hbs +0 -0
- /package/templates/nextjs/{free/default → mvc}/README.md.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/docker-compose.yml.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/infra/main.tf.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/nextjs/{free/default → mvc}/next.config.js.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/package.json.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/postcss.config.js.hbs +0 -0
- /package/templates/nextjs/{free/default → mvc}/prisma/schema.prisma.hbs +0 -0
- /package/templates/{java-spring/pro/mvc/src/main/java/{{packagePath}}/model → nextjs/mvc/public}/.gitkeep +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/app/api/auth/[...nextauth]/route.ts.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/app/api/checkout/route.ts.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/app/api/health/route.ts.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/app/api/webhook/route.ts.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/app/dashboard/page.tsx.hbs +0 -0
- /package/templates/nextjs/{free/default → mvc}/src/app/globals.css.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/app/layout.tsx.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/app/page.tsx.hbs +0 -0
- /package/templates/{java-spring/pro/mvc/src/main/java/{{packagePath}}/repository → nextjs/mvc/src/components}/.gitkeep +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/components/AuthButton.tsx.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/components/Providers.tsx.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/lib/prisma.ts.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/src/proxy.ts.hbs +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/tailwind.config.ts.hbs +0 -0
- /package/templates/nextjs/{free/default → mvc}/template.json +0 -0
- /package/templates/nextjs/{pro/mvc → mvc}/tsconfig.json.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/.env.example.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/Dockerfile.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/README.md.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/docker-compose.yml.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/infra/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/package.json.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/application/services/AuthService.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/domain/entities/User.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/domain/repositories/IUserRepository.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/domain/usecases/LoginUserUseCase.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/domain/usecases/RegisterUserUseCase.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/index.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/infrastructure/database/InMemoryUserRepository.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/infrastructure/http/controllers/AuthController.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/infrastructure/http/middlewares/AuthMiddleware.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/infrastructure/providers/PasswordHasher.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/src/infrastructure/providers/TokenGenerator.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/clean → clean}/tsconfig.json.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/.env.example.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/Dockerfile.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/README.md.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/docker-compose.yml.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/infra/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/package.json.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/adapters/inbound/http/AuthController.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/adapters/outbound/SecurityAdapters.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/adapters/outbound/persistence/InMemoryUserAdapter.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/core/AuthService.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/core/domain/entities/User.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/core/ports/inbound/IAuthPort.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/core/ports/outbound/ISecurityPorts.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/core/ports/outbound/IUserRepositoryPort.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/src/index.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/hexagonal → hexagonal}/tsconfig.json.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/.env.example.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/Dockerfile.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/README.md.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/docker-compose.yml.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/infra/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/package.json.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/app.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/config/database.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/controllers/auth.controller.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/controllers/healthController.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/controllers/payments.controller.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/index.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/middleware/errorHandler.ts.hbs +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/middlewares/auth.middleware.ts.hbs +0 -0
- /package/templates/{java-spring/pro/mvc/src/main/java/{{packagePath}}/service → nodejs-express/mvc/src/models}/.gitkeep +0 -0
- /package/templates/nodejs-express/{free/mvc → mvc}/src/routes/index.ts.hbs +0 -0
- /package/templates/{nextjs/free/default/public → nodejs-express/mvc/src/services}/.gitkeep +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/src/services/stripe.service.ts.hbs +0 -0
- /package/templates/nodejs-express/{free/mvc → mvc}/template.json +0 -0
- /package/templates/nodejs-express/{pro/mvc → mvc}/tsconfig.json.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/.env.example.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/Dockerfile.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/app/domain/entities/user.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/app/domain/repositories/user_repository.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/app/domain/usecases/register_user.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/app/infrastructure/database/in_memory_repository.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/app/infrastructure/http/auth_controller.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/app/infrastructure/security/adapters.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/app/main.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/docker-compose.yml.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/infra/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/clean → clean}/requirements.txt.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/.env.example.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/Dockerfile.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/app/adapters/inbound/http_adapter.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/app/core/domain/user.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/app/core/ports.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/app/core/service.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/app/main.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/docker-compose.yml.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/infra/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/hexagonal → hexagonal}/requirements.txt.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/.env.example.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/.github/workflows/ci-cd.yml.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/Dockerfile.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/README.md.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/controllers/auth.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/controllers/health.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/controllers/items.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/controllers/payments.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/main.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/middleware/security.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/models/item.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/schemas/item.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/app/services/item_service.py.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/docker-compose.yml.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/infra/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/infra/modules/ecs/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/infra/modules/rds/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/infra/modules/vpc/main.tf.hbs +0 -0
- /package/templates/python-fastapi/{pro/mvc → mvc}/requirements.txt.hbs +0 -0
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { Metadata } from 'next';
|
|
2
|
-
import { Inter } from 'next/font/google';
|
|
3
|
-
import './globals.css';
|
|
4
|
-
|
|
5
|
-
const inter = Inter({ subsets: ['latin'] });
|
|
6
|
-
|
|
7
|
-
export const metadata: Metadata = {
|
|
8
|
-
title: '{{pascalCase projectName}}',
|
|
9
|
-
description: 'Generated by Kibernus CLI',
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export default function RootLayout({
|
|
13
|
-
children,
|
|
14
|
-
}: {
|
|
15
|
-
children: React.ReactNode;
|
|
16
|
-
}) {
|
|
17
|
-
return (
|
|
18
|
-
<html lang="en">
|
|
19
|
-
<body className={inter.className}>{children}</body>
|
|
20
|
-
</html>
|
|
21
|
-
);
|
|
22
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export default function Home() {
|
|
2
|
-
return (
|
|
3
|
-
<main className="flex min-h-screen flex-col items-center justify-center p-24 bg-gradient-to-b from-gray-900 to-gray-800">
|
|
4
|
-
<div className="text-center">
|
|
5
|
-
<h1 className="text-5xl font-bold mb-4 text-white">
|
|
6
|
-
🚀 {{pascalCase projectName}}
|
|
7
|
-
</h1>
|
|
8
|
-
<p className="text-gray-400 mb-8 text-lg">
|
|
9
|
-
Generated by{' '}
|
|
10
|
-
<a
|
|
11
|
-
href="https://kibernus.dev"
|
|
12
|
-
className="text-blue-400 hover:text-blue-300 underline"
|
|
13
|
-
target="_blank"
|
|
14
|
-
rel="noopener noreferrer"
|
|
15
|
-
>
|
|
16
|
-
Kybernus CLI
|
|
17
|
-
</a>
|
|
18
|
-
</p>
|
|
19
|
-
<div className="flex gap-4 justify-center">
|
|
20
|
-
<a
|
|
21
|
-
href="/api/health"
|
|
22
|
-
className="px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-500 transition font-medium"
|
|
23
|
-
>
|
|
24
|
-
Health Check
|
|
25
|
-
</a>
|
|
26
|
-
<a
|
|
27
|
-
href="https://kibernus.dev/docs"
|
|
28
|
-
className="px-6 py-3 bg-gray-700 text-white rounded-lg hover:bg-gray-600 transition font-medium"
|
|
29
|
-
target="_blank"
|
|
30
|
-
rel="noopener noreferrer"
|
|
31
|
-
>
|
|
32
|
-
Documentation
|
|
33
|
-
</a>
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
</main>
|
|
37
|
-
);
|
|
38
|
-
}
|
|
File without changes
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { PrismaClient } from '@prisma/client';
|
|
2
|
-
|
|
3
|
-
const globalForPrisma = globalThis as unknown as {
|
|
4
|
-
prisma: PrismaClient | undefined;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
export const prisma =
|
|
8
|
-
globalForPrisma.prisma ??
|
|
9
|
-
new PrismaClient({
|
|
10
|
-
log: process.env.NODE_ENV === 'development' ? ['query'] : [],
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from 'next/server';
|
|
2
|
-
import type { NextRequest } from 'next/server';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Next.js 16 Proxy (formerly middleware)
|
|
6
|
-
*
|
|
7
|
-
* This runs at the Edge, before requests reach your app.
|
|
8
|
-
* Use sparingly - prefer other Next.js APIs when possible.
|
|
9
|
-
*/
|
|
10
|
-
export function proxy(request: NextRequest) {
|
|
11
|
-
// Add your proxy logic here
|
|
12
|
-
// Example: Authentication, redirects, headers, etc.
|
|
13
|
-
return NextResponse.next();
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Configure which paths the proxy runs on
|
|
17
|
-
export const config = {
|
|
18
|
-
matcher: [
|
|
19
|
-
// Skip static files and api routes you don't want to process
|
|
20
|
-
'/((?!_next/static|_next/image|favicon.ico).*)',
|
|
21
|
-
],
|
|
22
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Config } from 'tailwindcss';
|
|
2
|
-
|
|
3
|
-
const config: Config = {
|
|
4
|
-
content: [
|
|
5
|
-
'./src/pages/**/*.{js,ts,jsx,tsx,mdx}',
|
|
6
|
-
'./src/components/**/*.{js,ts,jsx,tsx,mdx}',
|
|
7
|
-
'./src/app/**/*.{js,ts,jsx,tsx,mdx}',
|
|
8
|
-
],
|
|
9
|
-
theme: {
|
|
10
|
-
extend: {},
|
|
11
|
-
},
|
|
12
|
-
plugins: [],
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export default config;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2017",
|
|
4
|
-
"lib": ["dom", "dom.iterable", "esnext"],
|
|
5
|
-
"allowJs": true,
|
|
6
|
-
"skipLibCheck": true,
|
|
7
|
-
"strict": true,
|
|
8
|
-
"noEmit": true,
|
|
9
|
-
"esModuleInterop": true,
|
|
10
|
-
"module": "esnext",
|
|
11
|
-
"moduleResolution": "bundler",
|
|
12
|
-
"resolveJsonModule": true,
|
|
13
|
-
"isolatedModules": true,
|
|
14
|
-
"jsx": "preserve",
|
|
15
|
-
"incremental": true,
|
|
16
|
-
"plugins": [{ "name": "next" }],
|
|
17
|
-
"paths": {
|
|
18
|
-
"@/*": ["./src/*"]
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
|
22
|
-
"exclude": ["node_modules"]
|
|
23
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
# {{pascalCase projectName}}
|
|
2
|
-
|
|
3
|
-
> Generated by [Kybernus CLI](https://kibernus.dev) 🚀
|
|
4
|
-
|
|
5
|
-
Fullstack application built with **Next.js 16**, **Prisma**, and **Tailwind CSS**.
|
|
6
|
-
|
|
7
|
-
## 📋 Prerequisites
|
|
8
|
-
|
|
9
|
-
- **Node.js** >= 18.0.0
|
|
10
|
-
- **Docker** (optional, for database)
|
|
11
|
-
|
|
12
|
-
## 🚀 Quick Start
|
|
13
|
-
|
|
14
|
-
### 1. Install Dependencies
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
npm install
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### 2. Configure Environment
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
cp .env.example .env
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### 3. Start Database
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
docker-compose up -d
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### 4. Generate Prisma Client
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
npm run db:generate
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### 5. Push Database Schema
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
npm run db:push
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 6. Run Development Server
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npm run dev
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Open [http://localhost:3000](http://localhost:3000) 🎉
|
|
51
|
-
|
|
52
|
-
## 📁 Project Structure
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
src/
|
|
56
|
-
├── proxy.ts # Next.js 16 Proxy (Edge Runtime)
|
|
57
|
-
├── app/ # Next.js App Router
|
|
58
|
-
│ ├── api/ # API Routes
|
|
59
|
-
│ ├── layout.tsx
|
|
60
|
-
│ └── page.tsx
|
|
61
|
-
├── components/ # React components
|
|
62
|
-
└── lib/ # Utilities (Prisma client)
|
|
63
|
-
prisma/
|
|
64
|
-
└── schema.prisma # Database schema
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## 🗄️ Database
|
|
68
|
-
|
|
69
|
-
This project uses **Prisma** with **PostgreSQL**.
|
|
70
|
-
|
|
71
|
-
### Useful Commands
|
|
72
|
-
|
|
73
|
-
- `npm run db:generate` - Generate Prisma Client
|
|
74
|
-
- `npm run db:push` - Push schema to database
|
|
75
|
-
- `npm run db:studio` - Open Prisma Studio (GUI)
|
|
76
|
-
|
|
77
|
-
## 🔧 Available Scripts
|
|
78
|
-
|
|
79
|
-
- `npm run dev` - Start development server
|
|
80
|
-
- `npm run build` - Build for production
|
|
81
|
-
- `npm start` - Run production build
|
|
82
|
-
- `npm run lint` - Lint code
|
|
83
|
-
|
|
84
|
-
## 🔒 Proxy (Edge Runtime)
|
|
85
|
-
|
|
86
|
-
The `src/proxy.ts` file runs at the Edge before requests reach your app:
|
|
87
|
-
- Request/response processing
|
|
88
|
-
- Authentication checks
|
|
89
|
-
- Redirects
|
|
90
|
-
- Headers manipulation
|
|
91
|
-
|
|
92
|
-
> **Note**: Next.js 16 renamed `middleware.ts` to `proxy.ts` to clarify its purpose.
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
**Built with ❤️ using Kybernus CLI** | {{currentYear}}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
generator client {
|
|
2
|
-
provider = "prisma-client-js"
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
datasource db {
|
|
6
|
-
provider = "postgresql"
|
|
7
|
-
url = env("DATABASE_URL")
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
// Add your models here
|
|
11
|
-
// Example:
|
|
12
|
-
// model User {
|
|
13
|
-
// id Int @id @default(autoincrement())
|
|
14
|
-
// email String @unique
|
|
15
|
-
// name String?
|
|
16
|
-
// createdAt DateTime @default(now())
|
|
17
|
-
// updatedAt DateTime @updatedAt
|
|
18
|
-
// }
|
|
File without changes
|
|
File without changes
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Next.js Fullstack",
|
|
3
|
-
"tier": "free",
|
|
4
|
-
"stack": "nextjs",
|
|
5
|
-
"version": "1.0.0",
|
|
6
|
-
"description": "Next.js 16 with App Router, Prisma, and Tailwind CSS",
|
|
7
|
-
"targetVersions": {
|
|
8
|
-
"node": ">=18.0.0",
|
|
9
|
-
"nextjs": "^16.0.0",
|
|
10
|
-
"prisma": "^5.0.0"
|
|
11
|
-
},
|
|
12
|
-
"requiredConfig": [
|
|
13
|
-
"projectName"
|
|
14
|
-
],
|
|
15
|
-
"optionalConfig": [
|
|
16
|
-
"useAI"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
# {{pascalCase projectName}}
|
|
2
|
-
|
|
3
|
-
> Generated by [Kybernus CLI](https://kibernus.dev) 🚀
|
|
4
|
-
|
|
5
|
-
REST API built with **Express.js**, **TypeScript**, and **MVC architecture**.
|
|
6
|
-
|
|
7
|
-
## 📋 Prerequisites
|
|
8
|
-
|
|
9
|
-
- **Node.js** >= 18.0.0
|
|
10
|
-
- **npm** or **yarn**
|
|
11
|
-
- **Docker** (opcional, para banco de dados)
|
|
12
|
-
|
|
13
|
-
## 🚀 Quick Start
|
|
14
|
-
|
|
15
|
-
### 1. Install Dependencies
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
npm install
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### 2. Configure Environment
|
|
22
|
-
|
|
23
|
-
Copy `.env.example` to `.env`:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
cp .env.example .env
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Edit `.env` with your configuration.
|
|
30
|
-
|
|
31
|
-
### 3. Start Database (Optional)
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
docker-compose up -d
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
This will start a PostgreSQL database on port `5432`.
|
|
38
|
-
|
|
39
|
-
### 4. Run Development Server
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
npm run dev
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Server will start on **http://localhost:3000**
|
|
46
|
-
|
|
47
|
-
## 📁 Project Structure
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
src/
|
|
51
|
-
├── index.ts # Entry point
|
|
52
|
-
├── app.ts # Express app setup
|
|
53
|
-
├── controllers/ # Request handlers (MVC Controllers)
|
|
54
|
-
├── services/ # Business logic (MVC Services)
|
|
55
|
-
├── models/ # Data models (MVC Models)
|
|
56
|
-
├── routes/ # API route definitions
|
|
57
|
-
├── middleware/ # Custom middleware
|
|
58
|
-
└── config/ # Configuration files
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## 🏗️ Architecture
|
|
62
|
-
|
|
63
|
-
This project follows the **MVC (Model-View-Controller)** architecture pattern:
|
|
64
|
-
|
|
65
|
-
- **Models**: Define data structures and database schemas
|
|
66
|
-
- **Controllers**: Handle HTTP requests and responses
|
|
67
|
-
- **Services**: Contain business logic and data processing
|
|
68
|
-
- **Routes**: Map endpoints to controllers
|
|
69
|
-
|
|
70
|
-
## 🧪 API Endpoints
|
|
71
|
-
|
|
72
|
-
### Health Check
|
|
73
|
-
```http
|
|
74
|
-
GET /api/health
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Returns server health status.
|
|
78
|
-
|
|
79
|
-
**Response:**
|
|
80
|
-
```json
|
|
81
|
-
{
|
|
82
|
-
"status": "ok",
|
|
83
|
-
"timestamp": "2026-01-15T22:00:00.000Z",
|
|
84
|
-
"uptime": 123.45
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## 🔧 Available Scripts
|
|
89
|
-
|
|
90
|
-
- `npm run dev` - Start development server with hot reload
|
|
91
|
-
- `npm run build` - Build for production
|
|
92
|
-
- `npm start` - Run production build
|
|
93
|
-
- `npm run lint` - Lint code
|
|
94
|
-
- `npm run format` - Format code with Prettier
|
|
95
|
-
|
|
96
|
-
## 🐳 Docker
|
|
97
|
-
|
|
98
|
-
Start the PostgreSQL database:
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
docker-compose up -d
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Stop the database:
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
docker-compose down
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## 📝 Environment Variables
|
|
111
|
-
|
|
112
|
-
| Variable | Description | Default |
|
|
113
|
-
|----------|-------------|---------|
|
|
114
|
-
| `PORT` | Server port | `3000` |
|
|
115
|
-
| `NODE_ENV` | Environment | `development` |
|
|
116
|
-
| `DATABASE_URL` | PostgreSQL connection string | - |
|
|
117
|
-
|
|
118
|
-
## 🤝 Contributing
|
|
119
|
-
|
|
120
|
-
Contributions are welcome! Feel free to open issues or submit pull requests.
|
|
121
|
-
|
|
122
|
-
## 📄 License
|
|
123
|
-
|
|
124
|
-
MIT
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
**Built with ❤️ using Kybernus CLI** | {{currentYear}}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
version: '3.8'
|
|
2
|
-
|
|
3
|
-
services:
|
|
4
|
-
postgres:
|
|
5
|
-
image: postgres:15-alpine
|
|
6
|
-
container_name: {{kebabCase projectName}}-db
|
|
7
|
-
environment:
|
|
8
|
-
POSTGRES_USER: postgres
|
|
9
|
-
POSTGRES_PASSWORD: postgres
|
|
10
|
-
POSTGRES_DB: {{snakeCase projectName}}
|
|
11
|
-
ports:
|
|
12
|
-
- "5432:5432"
|
|
13
|
-
volumes:
|
|
14
|
-
- postgres_data:/var/lib/postgresql/data
|
|
15
|
-
restart: unless-stopped
|
|
16
|
-
|
|
17
|
-
volumes:
|
|
18
|
-
postgres_data:
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{kebabCase projectName}}",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Generated by Kibernus CLI",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"dev": "tsx watch src/index.ts",
|
|
8
|
-
"build": "rimraf dist && tsc",
|
|
9
|
-
"start": "node dist/index.js",
|
|
10
|
-
"lint": "eslint src --ext .ts",
|
|
11
|
-
"format": "prettier --write \"src/**/*.ts\""
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["express", "api", "typescript", "mvc"],
|
|
14
|
-
"author": "",
|
|
15
|
-
"license": "MIT",
|
|
16
|
-
"dependencies": {
|
|
17
|
-
"express": "^4.18.2",
|
|
18
|
-
"dotenv": "^16.4.5",
|
|
19
|
-
"cors": "^2.8.5",
|
|
20
|
-
"helmet": "^7.1.0",
|
|
21
|
-
"morgan": "^1.10.0"
|
|
22
|
-
},
|
|
23
|
-
"devDependencies": {
|
|
24
|
-
"@types/express": "^4.17.21",
|
|
25
|
-
"@types/node": "^20.11.19",
|
|
26
|
-
"@types/cors": "^2.8.17",
|
|
27
|
-
"@types/morgan": "^1.9.9",
|
|
28
|
-
"typescript": "^5.3.3",
|
|
29
|
-
"tsx": "^4.7.1",
|
|
30
|
-
"rimraf": "^5.0.5",
|
|
31
|
-
"eslint": "^8.56.0",
|
|
32
|
-
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
33
|
-
"@typescript-eslint/parser": "^6.21.0",
|
|
34
|
-
"prettier": "^3.2.5"
|
|
35
|
-
},
|
|
36
|
-
"engines": {
|
|
37
|
-
"node": ">=18.0.0"
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import express from 'express';
|
|
2
|
-
import cors from 'cors';
|
|
3
|
-
import helmet from 'helmet';
|
|
4
|
-
import morgan from 'morgan';
|
|
5
|
-
import routes from './routes';
|
|
6
|
-
import { errorHandler } from './middleware/errorHandler';
|
|
7
|
-
|
|
8
|
-
const app = express();
|
|
9
|
-
|
|
10
|
-
// Security middleware
|
|
11
|
-
app.use(helmet());
|
|
12
|
-
|
|
13
|
-
// CORS
|
|
14
|
-
app.use(cors());
|
|
15
|
-
|
|
16
|
-
// Logging
|
|
17
|
-
app.use(morgan('dev'));
|
|
18
|
-
|
|
19
|
-
// Body parsing
|
|
20
|
-
app.use(express.json());
|
|
21
|
-
app.use(express.urlencoded({ extended: true }));
|
|
22
|
-
|
|
23
|
-
// Routes
|
|
24
|
-
app.use('/api', routes);
|
|
25
|
-
|
|
26
|
-
// Error handling (must be last)
|
|
27
|
-
app.use(errorHandler);
|
|
28
|
-
|
|
29
|
-
export default app;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Database configuration
|
|
3
|
-
*
|
|
4
|
-
* Add your database connection logic here
|
|
5
|
-
* Example with PostgreSQL / Prisma / TypeORM
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
export const databaseConfig = {
|
|
9
|
-
url: process.env.DATABASE_URL || 'postgresql://localhost:5432/{{snakeCase projectName}}',
|
|
10
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Request, Response } from 'express';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Health check controller
|
|
5
|
-
*/
|
|
6
|
-
class HealthController {
|
|
7
|
-
/**
|
|
8
|
-
* Check server health
|
|
9
|
-
*/
|
|
10
|
-
check(req: Request, res: Response) {
|
|
11
|
-
res.status(200).json({
|
|
12
|
-
status: 'ok',
|
|
13
|
-
message: '{{pascalCase projectName}} API is running',
|
|
14
|
-
timestamp: new Date().toISOString(),
|
|
15
|
-
uptime: process.uptime(),
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export default new HealthController();
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import app from './app';
|
|
2
|
-
import dotenv from 'dotenv';
|
|
3
|
-
|
|
4
|
-
dotenv.config();
|
|
5
|
-
|
|
6
|
-
const PORT = process.env.PORT || 3000;
|
|
7
|
-
|
|
8
|
-
app.listen(PORT, () => {
|
|
9
|
-
console.log(`🚀 {{pascalCase projectName}} server running on port ${PORT}`);
|
|
10
|
-
console.log(`📝 Environment: ${process.env.NODE_ENV || 'development'}`);
|
|
11
|
-
console.log(`🔗 Health check: http://localhost:${PORT}/api/health`);
|
|
12
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Request, Response, NextFunction } from 'express';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Global error handling middleware
|
|
5
|
-
*/
|
|
6
|
-
export function errorHandler(
|
|
7
|
-
err: Error,
|
|
8
|
-
req: Request,
|
|
9
|
-
res: Response,
|
|
10
|
-
next: NextFunction
|
|
11
|
-
) {
|
|
12
|
-
console.error('❌ Error:', err);
|
|
13
|
-
|
|
14
|
-
const statusCode = res.statusCode !== 200 ? res.statusCode : 500;
|
|
15
|
-
|
|
16
|
-
res.status(statusCode).json({
|
|
17
|
-
error: {
|
|
18
|
-
message: err.message,
|
|
19
|
-
...(process.env.NODE_ENV === 'development' && { stack: err.stack }),
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
}
|
|
File without changes
|
|
File without changes
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "commonjs",
|
|
5
|
-
"lib": ["ES2022"],
|
|
6
|
-
"outDir": "./dist",
|
|
7
|
-
"rootDir": "./src",
|
|
8
|
-
"strict": true,
|
|
9
|
-
"esModuleInterop": true,
|
|
10
|
-
"skipLibCheck": true,
|
|
11
|
-
"forceConsistentCasingInFileNames": true,
|
|
12
|
-
"resolveJsonModule": true,
|
|
13
|
-
"moduleResolution": "node",
|
|
14
|
-
"types": ["node"]
|
|
15
|
-
},
|
|
16
|
-
"include": ["src/**/*"],
|
|
17
|
-
"exclude": ["node_modules", "dist"]
|
|
18
|
-
}
|
|
File without changes
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Router } from 'express';
|
|
2
|
-
import healthController from '../controllers/healthController';
|
|
3
|
-
|
|
4
|
-
const router = Router();
|
|
5
|
-
|
|
6
|
-
// Health check endpoint
|
|
7
|
-
router.get('/health', healthController.check);
|
|
8
|
-
|
|
9
|
-
// Add your routes here
|
|
10
|
-
// Example:
|
|
11
|
-
// import userRoutes from './userRoutes';
|
|
12
|
-
// router.use('/users', userRoutes);
|
|
13
|
-
|
|
14
|
-
export default router;
|
|
File without changes
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Node.js Express MVC",
|
|
3
|
-
"tier": "free",
|
|
4
|
-
"stack": "nodejs-express",
|
|
5
|
-
"version": "1.0.0",
|
|
6
|
-
"description": "Express.js REST API with TypeScript and MVC architecture",
|
|
7
|
-
"targetVersions": {
|
|
8
|
-
"node": ">=18.0.0",
|
|
9
|
-
"express": "^4.18.0",
|
|
10
|
-
"typescript": "^5.0.0"
|
|
11
|
-
},
|
|
12
|
-
"requiredConfig": [
|
|
13
|
-
"projectName"
|
|
14
|
-
],
|
|
15
|
-
"optionalConfig": [
|
|
16
|
-
"useAI"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|