Projektgeruest mit Workspaces fuer Server und Weboberflaeche

Fastify mit Prisma im Server-Workspace, React mit Vite im Web-Workspace.
Das Frontend baut direkt nach server/public, damit am Ende ein einzelnes
Image API und Oberflaeche ausliefert.
This commit is contained in:
2026-09-18 11:31:13 +02:00
parent 638a88f0de
commit d7e7a3b186
9 changed files with 5269 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
{
"name": "@cc-manager/server",
"version": "1.0.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"dev": "tsx watch --env-file-if-exists=.env src/index.ts",
"build": "prisma generate && tsc -p tsconfig.json",
"start": "node dist/index.js",
"generate": "prisma generate",
"migrate": "prisma migrate deploy",
"migrate:dev": "prisma migrate dev",
"studio": "prisma studio",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --import tsx --test test/*.test.ts"
},
"dependencies": {
"@fastify/cookie": "^11.0.2",
"@fastify/helmet": "^13.0.1",
"@fastify/multipart": "^9.0.3",
"@fastify/rate-limit": "^10.2.2",
"@fastify/static": "^8.1.1",
"@node-rs/argon2": "^2.0.2",
"@prisma/client": "^6.5.0",
"csv-parse": "^5.6.0",
"fastify": "^5.2.1",
"otplib": "^13.5.0",
"prisma": "^6.5.0",
"qrcode": "^1.5.4",
"zod": "^3.24.2"
},
"devDependencies": {
"@electric-sql/pglite": "^0.5.8",
"@electric-sql/pglite-socket": "^0.2.11",
"@types/node": "^22.13.10",
"@types/qrcode": "^1.5.5",
"tsx": "^4.19.3",
"typescript": "^5.8.2"
}
}
+21
View File
@@ -0,0 +1,21 @@
{
"compilerOptions": {
"target": "ES2023",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"lib": ["ES2023"],
"outDir": "dist",
"rootDir": "src",
"strict": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"sourceMap": true,
"declaration": false
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules", "dist", "src/**/*.test.ts"]
}