Booking Engine

Architecture: Six focused services with the BookingService/SchedulingService overlap resolved by giving SchedulingService exactly one job, the transactional double-booking guard , while BookingService owns the create/reschedule/cancel workflow around it.

59 unit tests, 24 integration tests
This commit is contained in:
Stefan Lazic committed 2026-08-02 18:36:39 +01:00
1 parent 090646fdfd
commit 8b63cc66a9
28 files changed
+4853 -15

No files matched your search

+8 -2
View File
@@ -13,7 +13,10 @@
"prisma:generate": "prisma generate",
"prisma:migrate": "prisma migrate dev",
"prisma:studio": "prisma studio",
"prisma:seed": "tsx prisma/seed.ts"
"prisma:seed": "tsx prisma/seed.ts",
"test": "vitest run",
"test:watch": "vitest",
"test:integration": "vitest run --config vitest.integration.config.mts"
},
"repository": {
"type": "git",
@@ -34,6 +37,7 @@
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^1.28.0",
"luxon": "^3.7.2",
"next": "^16.2.12",
"next-auth": "^5.0.0-beta.32",
"pg": "^8.22.0",
@@ -46,6 +50,7 @@
"devDependencies": {
"@tailwindcss/postcss": "^4.3.3",
"@types/bcryptjs": "^2.4.6",
"@types/luxon": "^3.7.3",
"@types/node": "^26.1.2",
"@types/pg": "^8.20.3",
"@types/react": "^19.2.18",
@@ -59,6 +64,7 @@
"prisma": "^7.9.1",
"tailwindcss": "^4.3.3",
"tsx": "^4.23.4",
"typescript": "^6.0.3"
"typescript": "^6.0.3",
"vitest": "^4.1.10"
}
}