create-tigra 1.1.0 → 2.0.1

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.
Files changed (243) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +80 -87
  3. package/bin/create-tigra.js +259 -308
  4. package/package.json +49 -41
  5. package/template/_claude/QUICK_REFERENCE.md +193 -0
  6. package/template/_claude/README.md +53 -0
  7. package/template/_claude/commands/create-client.md +881 -0
  8. package/template/_claude/commands/create-server.md +383 -0
  9. package/template/_claude/rules/client/01-project-structure.md +133 -0
  10. package/template/_claude/rules/client/02-components-and-types.md +146 -0
  11. package/template/_claude/rules/client/03-data-and-state.md +156 -0
  12. package/template/_claude/rules/client/04-design-system.md +185 -0
  13. package/template/_claude/rules/client/05-security.md +55 -0
  14. package/template/_claude/rules/client/06-ux-checklist.md +81 -0
  15. package/template/_claude/rules/client/core.md +42 -0
  16. package/template/_claude/rules/global/core.md +77 -0
  17. package/template/_claude/rules/server/core.md +50 -0
  18. package/template/_claude/rules/server/database.md +124 -0
  19. package/template/_claude/rules/server/project-conventions.md +150 -0
  20. package/template/_claude/rules/server/response-handling.md +144 -0
  21. package/template/client/.env.example +5 -0
  22. package/template/client/README.md +36 -0
  23. package/template/client/components.json +23 -0
  24. package/template/client/eslint.config.mjs +18 -0
  25. package/template/client/next.config.ts +34 -0
  26. package/template/client/package.json +44 -0
  27. package/template/client/postcss.config.mjs +7 -0
  28. package/template/client/src/app/(auth)/layout.tsx +18 -0
  29. package/template/client/src/app/(auth)/login/page.tsx +13 -0
  30. package/template/client/src/app/(auth)/register/page.tsx +13 -0
  31. package/template/client/src/app/(main)/dashboard/page.tsx +22 -0
  32. package/template/client/src/app/(main)/layout.tsx +11 -0
  33. package/template/client/src/app/error.tsx +27 -0
  34. package/template/client/src/app/favicon.ico +0 -0
  35. package/template/client/src/app/globals.css +145 -0
  36. package/template/client/src/app/layout.tsx +36 -0
  37. package/template/client/src/app/loading.tsx +11 -0
  38. package/template/client/src/app/not-found.tsx +23 -0
  39. package/template/client/src/app/page.tsx +45 -0
  40. package/template/client/src/app/providers.tsx +43 -0
  41. package/template/client/src/components/common/ConfirmDialog.tsx +56 -0
  42. package/template/client/src/components/common/EmptyState.tsx +31 -0
  43. package/template/client/src/components/common/LoadingSpinner.tsx +30 -0
  44. package/template/client/src/components/common/Pagination.tsx +55 -0
  45. package/template/client/src/components/layout/Footer.tsx +17 -0
  46. package/template/client/src/components/layout/Header.tsx +173 -0
  47. package/template/client/src/components/layout/MainLayout.tsx +18 -0
  48. package/template/client/src/components/ui/alert-dialog.tsx +196 -0
  49. package/template/client/src/components/ui/badge.tsx +48 -0
  50. package/template/client/src/components/ui/button.tsx +64 -0
  51. package/template/client/src/components/ui/card.tsx +92 -0
  52. package/template/client/src/components/ui/input.tsx +21 -0
  53. package/template/client/src/components/ui/label.tsx +24 -0
  54. package/template/client/src/components/ui/select.tsx +190 -0
  55. package/template/client/src/components/ui/skeleton.tsx +13 -0
  56. package/template/client/src/components/ui/table.tsx +116 -0
  57. package/template/client/src/features/auth/components/AuthInitializer.tsx +55 -0
  58. package/template/client/src/features/auth/components/LoginForm.tsx +107 -0
  59. package/template/client/src/features/auth/components/RegisterForm.tsx +178 -0
  60. package/template/client/src/features/auth/hooks/useAuth.ts +84 -0
  61. package/template/client/src/features/auth/services/auth.service.ts +52 -0
  62. package/template/client/src/features/auth/store/authSlice.ts +38 -0
  63. package/template/client/src/features/auth/types/auth.types.ts +32 -0
  64. package/template/client/src/hooks/useDebounce.ts +14 -0
  65. package/template/client/src/hooks/useLocalStorage.ts +55 -0
  66. package/template/client/src/hooks/useMediaQuery.ts +27 -0
  67. package/template/client/src/lib/api/api.types.ts +34 -0
  68. package/template/client/src/lib/api/axios.config.ts +98 -0
  69. package/template/client/src/lib/constants/api-endpoints.ts +18 -0
  70. package/template/client/src/lib/constants/app.constants.ts +12 -0
  71. package/template/client/src/lib/constants/routes.ts +9 -0
  72. package/template/client/src/lib/utils/error.ts +32 -0
  73. package/template/client/src/lib/utils/format.ts +37 -0
  74. package/template/client/src/lib/utils/security.ts +34 -0
  75. package/template/client/src/lib/utils.ts +6 -0
  76. package/template/client/src/middleware.ts +57 -0
  77. package/template/client/src/store/hooks.ts +7 -0
  78. package/template/client/src/store/index.ts +12 -0
  79. package/template/client/src/types/index.ts +3 -0
  80. package/template/client/tsconfig.json +34 -0
  81. package/template/gitignore +34 -0
  82. package/template/server/.dockerignore +66 -0
  83. package/template/server/.env.example +96 -69
  84. package/template/server/.env.production.example +90 -0
  85. package/template/server/Dockerfile +94 -0
  86. package/template/server/docker-compose.yml +82 -111
  87. package/template/server/docs/logging.md +62 -0
  88. package/template/server/eslint.config.mjs +17 -0
  89. package/template/server/package.json +68 -81
  90. package/template/server/phpmyadmin-config.php +26 -0
  91. package/template/server/postman_collection.json +666 -0
  92. package/template/server/prisma/schema.prisma +77 -93
  93. package/template/server/prisma/seed.ts +46 -142
  94. package/template/server/scripts/flush-redis.ts +41 -0
  95. package/template/server/src/app.ts +243 -71
  96. package/template/server/src/config/env.ts +67 -94
  97. package/template/server/src/libs/auth.ts +88 -0
  98. package/template/server/src/libs/cleanup.ts +35 -0
  99. package/template/server/src/libs/cookies.ts +46 -0
  100. package/template/server/src/libs/logger.ts +33 -60
  101. package/template/server/src/libs/monitoring.ts +205 -0
  102. package/template/server/src/libs/password.ts +38 -0
  103. package/template/server/src/libs/prisma.ts +68 -0
  104. package/template/server/src/libs/redis.ts +60 -79
  105. package/template/server/src/libs/requestLogger.ts +66 -0
  106. package/template/server/src/libs/storage/file-storage.service.ts +211 -0
  107. package/template/server/src/libs/storage/file-validator.ts +97 -0
  108. package/template/server/src/libs/storage/filename-sanitizer.ts +71 -0
  109. package/template/server/src/libs/storage/image-optimizer.service.ts +144 -0
  110. package/template/server/src/modules/auth/__tests__/auth.service.test.ts +365 -0
  111. package/template/server/src/modules/auth/auth.controller.ts +90 -141
  112. package/template/server/src/modules/auth/auth.repo.ts +120 -218
  113. package/template/server/src/modules/auth/auth.routes.ts +96 -83
  114. package/template/server/src/modules/auth/auth.schemas.ts +35 -137
  115. package/template/server/src/modules/auth/auth.service.ts +286 -329
  116. package/template/server/src/modules/auth/session.repo.ts +110 -0
  117. package/template/server/src/modules/users/users.controller.ts +120 -0
  118. package/template/server/src/modules/users/users.repo.ts +77 -0
  119. package/template/server/src/modules/users/users.routes.ts +89 -0
  120. package/template/server/src/modules/users/users.schemas.ts +21 -0
  121. package/template/server/src/modules/users/users.service.ts +169 -0
  122. package/template/server/src/server.ts +58 -139
  123. package/template/server/src/shared/errors/AppError.ts +21 -0
  124. package/template/server/src/shared/errors/errors.ts +43 -0
  125. package/template/server/src/shared/responses/paginatedResponse.ts +38 -0
  126. package/template/server/src/shared/responses/successResponse.ts +17 -0
  127. package/template/server/src/shared/schemas/pagination.schema.ts +12 -0
  128. package/template/server/src/shared/types/index.ts +26 -0
  129. package/template/server/src/test/setup.ts +74 -38
  130. package/template/server/tsconfig.json +27 -89
  131. package/template/server/uploads/avatars/.gitkeep +1 -0
  132. package/template/server/vitest.config.ts +43 -98
  133. package/template/.agent/rules/client/01-project-structure.md +0 -326
  134. package/template/.agent/rules/client/02-component-patterns.md +0 -249
  135. package/template/.agent/rules/client/03-typescript-rules.md +0 -226
  136. package/template/.agent/rules/client/04-state-management.md +0 -474
  137. package/template/.agent/rules/client/05-api-integration.md +0 -129
  138. package/template/.agent/rules/client/06-forms-validation.md +0 -129
  139. package/template/.agent/rules/client/07-common-patterns.md +0 -150
  140. package/template/.agent/rules/client/08-color-system.md +0 -93
  141. package/template/.agent/rules/client/09-security-rules.md +0 -97
  142. package/template/.agent/rules/client/10-testing-strategy.md +0 -370
  143. package/template/.agent/rules/global/ai-edit-safety.md +0 -38
  144. package/template/.agent/rules/server/01-db-and-migrations.md +0 -242
  145. package/template/.agent/rules/server/02-general-rules.md +0 -111
  146. package/template/.agent/rules/server/03-migrations.md +0 -20
  147. package/template/.agent/rules/server/04-pagination.md +0 -130
  148. package/template/.agent/rules/server/05-project-conventions.md +0 -71
  149. package/template/.agent/rules/server/06-response-handling.md +0 -173
  150. package/template/.agent/rules/server/07-testing-strategy.md +0 -506
  151. package/template/.agent/rules/server/08-observability.md +0 -180
  152. package/template/.agent/rules/server/10-background-jobs-v2.md +0 -185
  153. package/template/.agent/rules/server/11-rate-limiting-v2.md +0 -210
  154. package/template/.agent/rules/server/12-performance-optimization.md +0 -567
  155. package/template/.claude/rules/client-01-project-structure.md +0 -327
  156. package/template/.claude/rules/client-02-component-patterns.md +0 -250
  157. package/template/.claude/rules/client-03-typescript-rules.md +0 -227
  158. package/template/.claude/rules/client-04-state-management.md +0 -475
  159. package/template/.claude/rules/client-05-api-integration.md +0 -130
  160. package/template/.claude/rules/client-06-forms-validation.md +0 -130
  161. package/template/.claude/rules/client-07-common-patterns.md +0 -151
  162. package/template/.claude/rules/client-08-color-system.md +0 -94
  163. package/template/.claude/rules/client-09-security-rules.md +0 -98
  164. package/template/.claude/rules/client-10-testing-strategy.md +0 -371
  165. package/template/.claude/rules/global-ai-edit-safety.md +0 -39
  166. package/template/.claude/rules/server-01-db-and-migrations.md +0 -243
  167. package/template/.claude/rules/server-02-general-rules.md +0 -112
  168. package/template/.claude/rules/server-03-migrations.md +0 -21
  169. package/template/.claude/rules/server-04-pagination.md +0 -131
  170. package/template/.claude/rules/server-05-project-conventions.md +0 -72
  171. package/template/.claude/rules/server-06-response-handling.md +0 -174
  172. package/template/.claude/rules/server-07-testing-strategy.md +0 -507
  173. package/template/.claude/rules/server-08-observability.md +0 -181
  174. package/template/.claude/rules/server-10-background-jobs-v2.md +0 -186
  175. package/template/.claude/rules/server-11-rate-limiting-v2.md +0 -211
  176. package/template/.claude/rules/server-12-performance-optimization.md +0 -568
  177. package/template/.cursor/rules/client-01-project-structure.mdc +0 -327
  178. package/template/.cursor/rules/client-02-component-patterns.mdc +0 -250
  179. package/template/.cursor/rules/client-03-typescript-rules.mdc +0 -227
  180. package/template/.cursor/rules/client-04-state-management.mdc +0 -475
  181. package/template/.cursor/rules/client-05-api-integration.mdc +0 -130
  182. package/template/.cursor/rules/client-06-forms-validation.mdc +0 -130
  183. package/template/.cursor/rules/client-07-common-patterns.mdc +0 -151
  184. package/template/.cursor/rules/client-08-color-system.mdc +0 -94
  185. package/template/.cursor/rules/client-09-security-rules.mdc +0 -98
  186. package/template/.cursor/rules/client-10-testing-strategy.mdc +0 -371
  187. package/template/.cursor/rules/global-ai-edit-safety.mdc +0 -39
  188. package/template/.cursor/rules/server-01-db-and-migrations.mdc +0 -243
  189. package/template/.cursor/rules/server-02-general-rules.mdc +0 -112
  190. package/template/.cursor/rules/server-03-migrations.mdc +0 -21
  191. package/template/.cursor/rules/server-04-pagination.mdc +0 -131
  192. package/template/.cursor/rules/server-05-project-conventions.mdc +0 -72
  193. package/template/.cursor/rules/server-06-response-handling.mdc +0 -174
  194. package/template/.cursor/rules/server-07-testing-strategy.mdc +0 -507
  195. package/template/.cursor/rules/server-08-observability.mdc +0 -181
  196. package/template/.cursor/rules/server-09-api-documentation-v2.mdc +0 -169
  197. package/template/.cursor/rules/server-10-background-jobs-v2.mdc +0 -186
  198. package/template/.cursor/rules/server-11-rate-limiting-v2.mdc +0 -211
  199. package/template/.cursor/rules/server-12-performance-optimization.mdc +0 -568
  200. package/template/CLAUDE.md +0 -207
  201. package/template/server/.tsc-aliasrc.json +0 -13
  202. package/template/server/IMPORT_FIX_CHECKLIST.md +0 -98
  203. package/template/server/IMPORT_FIX_COMPLETE.md +0 -89
  204. package/template/server/README.md +0 -183
  205. package/template/server/REMAINING_IMPORT_FIXES.md +0 -150
  206. package/template/server/SECURITY.md +0 -190
  207. package/template/server/Tigra-API.postman_collection.json +0 -733
  208. package/template/server/biome.json +0 -42
  209. package/template/server/scripts/fix-all-imports.ps1 +0 -52
  210. package/template/server/scripts/fix-imports-reference.ps1 +0 -16
  211. package/template/server/scripts/fix-imports.mjs +0 -55
  212. package/template/server/scripts/setup-env.js +0 -50
  213. package/template/server/scripts/wait-for-db.js +0 -60
  214. package/template/server/src/hooks/request-timing.hook.ts +0 -26
  215. package/template/server/src/libs/auth/authenticate.middleware.ts +0 -22
  216. package/template/server/src/libs/auth/rbac.middleware.test.ts +0 -134
  217. package/template/server/src/libs/auth/rbac.middleware.ts +0 -147
  218. package/template/server/src/libs/db.ts +0 -76
  219. package/template/server/src/libs/error-handler.ts +0 -89
  220. package/template/server/src/libs/queue.ts +0 -79
  221. package/template/server/src/modules/admin/admin.controller.ts +0 -122
  222. package/template/server/src/modules/admin/admin.routes.ts +0 -62
  223. package/template/server/src/modules/admin/admin.schemas.ts +0 -35
  224. package/template/server/src/modules/admin/admin.service.ts +0 -167
  225. package/template/server/src/modules/auth/auth.integration.test.ts +0 -150
  226. package/template/server/src/modules/auth/auth.service.test.ts +0 -119
  227. package/template/server/src/modules/auth/auth.types.ts +0 -97
  228. package/template/server/src/modules/resources/resources.controller.ts +0 -218
  229. package/template/server/src/modules/resources/resources.repo.ts +0 -253
  230. package/template/server/src/modules/resources/resources.routes.ts +0 -116
  231. package/template/server/src/modules/resources/resources.schemas.ts +0 -146
  232. package/template/server/src/modules/resources/resources.service.ts +0 -218
  233. package/template/server/src/modules/resources/resources.types.ts +0 -73
  234. package/template/server/src/plugins/rate-limit.plugin.ts +0 -21
  235. package/template/server/src/plugins/security.plugin.ts +0 -21
  236. package/template/server/src/routes/health.routes.ts +0 -31
  237. package/template/server/src/types/fastify.d.ts +0 -36
  238. package/template/server/src/utils/errors.ts +0 -108
  239. package/template/server/src/utils/pagination.ts +0 -120
  240. package/template/server/src/utils/response.ts +0 -110
  241. package/template/server/src/workers/file.worker.ts +0 -106
  242. package/template/server/tsconfig.build.json +0 -30
  243. package/template/server/tsconfig.test.json +0 -22
@@ -0,0 +1,62 @@
1
+ # Server Request Logging
2
+
3
+ ## Overview
4
+
5
+ The server uses a single-line request/response logging system built on Pino, providing color-coded, informative logs for every API request.
6
+
7
+ ## Log Format
8
+
9
+ Each completed request produces a single log line:
10
+
11
+ ```
12
+ GET /api/v1/auth/me 200 OK (12ms)
13
+ ```
14
+
15
+ Format: `METHOD URL STATUS STATUS_MESSAGE (DURATION)`
16
+
17
+ ## Color Coding
18
+
19
+ ### HTTP Methods (ANSI colors)
20
+ - **Blue**: GET (read operations)
21
+ - **Green**: POST (create operations)
22
+ - **Yellow**: PUT/PATCH (update operations)
23
+ - **Red**: DELETE (destroy operations)
24
+ - **Gray**: OPTIONS/HEAD (meta operations)
25
+
26
+ ### Status Codes
27
+ - **Green**: 2xx (success)
28
+ - **Cyan**: 3xx (redirect)
29
+ - **Yellow**: 4xx (client error)
30
+ - **Red**: 5xx (server error)
31
+
32
+ ## Log Levels by Status Code
33
+
34
+ | Status Range | Log Level | Example |
35
+ |---|---|---|
36
+ | 2xx | INFO | Successful requests |
37
+ | 4xx | WARN | Client errors (bad input, auth failures) |
38
+ | 5xx | ERROR | Server errors (unhandled exceptions) |
39
+
40
+ ## Excluded Routes
41
+
42
+ Health check endpoints are excluded from logging to reduce noise:
43
+ - `/api/v1/health`
44
+ - `/api/v1/ready`
45
+ - `/api/v1/live`
46
+
47
+ ## Configuration
48
+
49
+ ### Development
50
+ - Uses `pino-pretty` for colorized, human-readable logs
51
+ - Set `LOG_LEVEL=debug` in `.env` for verbose output
52
+
53
+ ### Production
54
+ - Uses structured JSON logs (Pino default)
55
+ - Optimized for log aggregation tools (ELK, CloudWatch, Datadog)
56
+ - Set `LOG_LEVEL=info` or `LOG_LEVEL=warn` in `.env`
57
+
58
+ ## Performance Impact
59
+
60
+ - Minimal overhead (~1-2ms per request)
61
+ - Async logging prevents blocking the event loop
62
+ - Duration tracking uses `Date.now()` for low-overhead timing
@@ -0,0 +1,17 @@
1
+ import eslint from '@eslint/js';
2
+ import tseslint from 'typescript-eslint';
3
+
4
+ export default tseslint.config(
5
+ eslint.configs.recommended,
6
+ ...tseslint.configs.recommended,
7
+ {
8
+ rules: {
9
+ '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
10
+ '@typescript-eslint/explicit-function-return-type': 'warn',
11
+ '@typescript-eslint/no-explicit-any': 'error',
12
+ },
13
+ },
14
+ {
15
+ ignores: ['dist/', 'node_modules/', 'prisma/'],
16
+ }
17
+ );
@@ -1,81 +1,68 @@
1
- {
2
- "name": "{{PROJECT_NAME}}",
3
- "version": "1.0.0",
4
- "description": "{{PROJECT_DESCRIPTION}}",
5
- "main": "dist/server.js",
6
- "type": "module",
7
- "engines": {
8
- "node": ">=20.0.0"
9
- },
10
- "scripts": {
11
- "dev": "tsx watch src/server.ts",
12
- "build": "tsc -p tsconfig.build.json",
13
- "build:debug": "tsc -p tsconfig.build.json --listFiles",
14
- "start": "node dist/server.js",
15
- "start:prod": "NODE_ENV=production node dist/server.js",
16
- "lint": "biome check src",
17
- "lint:fix": "biome check --write src",
18
- "test": "vitest run",
19
- "test:watch": "vitest",
20
- "test:coverage": "vitest run --coverage",
21
- "test:e2e": "vitest run --config vitest.e2e.config.ts",
22
- "env:setup": "node scripts/setup-env.js",
23
- "db:wait": "node scripts/wait-for-db.js",
24
- "db:init": "npm run env:setup && npm run db:wait && npx prisma migrate dev --name init",
25
- "prisma:generate": "prisma generate",
26
- "prisma:migrate": "prisma migrate dev",
27
- "prisma:migrate:deploy": "prisma migrate deploy",
28
- "prisma:studio": "prisma studio",
29
- "prisma:reset": "prisma migrate reset",
30
- "prisma:seed": "tsx prisma/seed.ts",
31
- "db:push": "prisma db push",
32
- "format": "biome format --write src",
33
- "format:check": "biome format src"
34
- },
35
- "keywords": [
36
- "fastify",
37
- "typescript",
38
- "prisma",
39
- "api",
40
- "rest",
41
- "mysql",
42
- "redis"
43
- ],
44
- "author": "{{AUTHOR_NAME}}",
45
- "license": "MIT",
46
- "dependencies": {
47
- "@fastify/compress": "^8.0.0",
48
- "@fastify/cors": "^10.0.0",
49
- "@fastify/helmet": "^13.0.0",
50
- "@fastify/multipart": "^9.0.0",
51
- "@fastify/rate-limit": "^10.2.0",
52
- "@prisma/client": "^6.2.0",
53
- "bcryptjs": "^2.4.3",
54
- "bullmq": "^5.34.0",
55
- "dotenv": "^16.4.7",
56
- "fastify": "^5.2.0",
57
- "ioredis": "^5.4.2",
58
- "jsonwebtoken": "^9.0.2",
59
- "mysql2": "^3.11.5",
60
- "pino": "^9.6.0",
61
- "zod": "^3.24.0"
62
- },
63
- "devDependencies": {
64
- "@biomejs/biome": "^1.9.0",
65
- "@types/bcryptjs": "^2.4.6",
66
- "@types/jsonwebtoken": "^9.0.5",
67
- "@types/node": "^22.10.0",
68
- "@types/supertest": "^6.0.2",
69
- "@vitest/coverage-v8": "^3.0.0",
70
- "pino-pretty": "^13.0.0",
71
- "prisma": "^6.2.0",
72
- "supertest": "^7.1.0",
73
- "tsc-alias": "^1.8.16",
74
- "tsx": "^4.19.0",
75
- "typescript": "^5.7.0",
76
- "vitest": "^3.0.0"
77
- },
78
- "prisma": {
79
- "seed": "tsx prisma/seed.ts"
80
- }
81
- }
1
+ {
2
+ "name": "{{PROJECT_NAME}}-server",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "description": "",
6
+ "main": "dist/server.js",
7
+ "scripts": {
8
+ "dev": "tsx watch src/server.ts",
9
+ "build": "tsc && tsc-alias",
10
+ "start": "node dist/server.js",
11
+ "test": "vitest run",
12
+ "test:watch": "vitest",
13
+ "test:ui": "vitest --ui",
14
+ "test:coverage": "vitest run --coverage",
15
+ "prisma:generate": "prisma generate",
16
+ "prisma:migrate:dev": "prisma migrate dev",
17
+ "prisma:migrate:deploy": "prisma migrate deploy",
18
+ "prisma:reset": "prisma migrate reset",
19
+ "prisma:seed": "prisma db seed",
20
+ "prisma:studio": "prisma studio",
21
+ "lint": "eslint src/",
22
+ "redis:flush": "tsx scripts/flush-redis.ts",
23
+ "docker:up": "docker compose up -d",
24
+ "docker:down": "docker compose down",
25
+ "docker:logs": "docker compose logs -f"
26
+ },
27
+ "prisma": {
28
+ "seed": "tsx prisma/seed.ts"
29
+ },
30
+ "dependencies": {
31
+ "@fastify/compress": "^8.3.1",
32
+ "@fastify/cookie": "^11.0.2",
33
+ "@fastify/cors": "^11.2.0",
34
+ "@fastify/helmet": "^13.0.2",
35
+ "@fastify/jwt": "^10.0.0",
36
+ "@fastify/multipart": "^9.0.2",
37
+ "@fastify/rate-limit": "^10.3.0",
38
+ "@fastify/static": "^8.0.4",
39
+ "@prisma/client": "^6.19.2",
40
+ "argon2": "^0.44.0",
41
+ "bcryptjs": "^2.4.3",
42
+ "dotenv": "^16.4.7",
43
+ "fastify": "^5.7.4",
44
+ "fastify-type-provider-zod": "^6.1.0",
45
+ "ioredis": "^5.9.2",
46
+ "pino": "^10.3.1",
47
+ "pino-pretty": "^13.1.3",
48
+ "sharp": "^0.33.5",
49
+ "uuid": "^10.0.0",
50
+ "zod": "^4.3.6"
51
+ },
52
+ "devDependencies": {
53
+ "@eslint/js": "^9.39.2",
54
+ "@types/bcryptjs": "^2.4.6",
55
+ "@types/node": "^20.17.10",
56
+ "@types/sharp": "^0.32.0",
57
+ "@types/uuid": "^10.0.0",
58
+ "@vitest/coverage-v8": "^4.0.18",
59
+ "@vitest/ui": "^4.0.18",
60
+ "eslint": "^9.39.2",
61
+ "prisma": "^6.19.2",
62
+ "tsc-alias": "^1.8.16",
63
+ "tsx": "^4.21.0",
64
+ "typescript": "^5.9.3",
65
+ "typescript-eslint": "^8.55.0",
66
+ "vitest": "^4.0.18"
67
+ }
68
+ }
@@ -0,0 +1,26 @@
1
+ <?php
2
+ /**
3
+ * phpMyAdmin configuration for auto-login (LOCAL DEVELOPMENT ONLY)
4
+ *
5
+ * WARNING: These credentials match docker-compose.yml defaults.
6
+ * Do NOT use these credentials in any shared or production environment.
7
+ */
8
+
9
+ // This is needed for cookie based authentication
10
+ $cfg['blowfish_secret'] = 'change-this-to-a-random-32-char-string';
11
+
12
+ // Server configuration
13
+ $i = 0;
14
+ $i++;
15
+
16
+ $cfg['Servers'][$i]['auth_type'] = 'config';
17
+ $cfg['Servers'][$i]['host'] = 'mysql';
18
+ $cfg['Servers'][$i]['port'] = '3306';
19
+ $cfg['Servers'][$i]['user'] = 'root';
20
+ $cfg['Servers'][$i]['password'] = 'rootpassword';
21
+ $cfg['Servers'][$i]['compress'] = false;
22
+ $cfg['Servers'][$i]['AllowNoPassword'] = true;
23
+
24
+ // Other settings
25
+ $cfg['UploadDir'] = '';
26
+ $cfg['SaveDir'] = '';