8d742518f8
- Client management (CRUD with JSONB custom fields) - Pet profiles - Service catalog with per-client pricing - Booking calendar with recurring appointments - Invoicing with Stripe integration - Real-time messaging (WebSocket) - Self-booking portal - Staff assignment - Docker multi-stage builds - Prisma schema + seed
43 lines
1.1 KiB
JSON
43 lines
1.1 KiB
JSON
{
|
|
"name": "petmaster-api",
|
|
"version": "0.1.0",
|
|
"description": "Petmaster CRM backend API",
|
|
"scripts": {
|
|
"build": "nest build",
|
|
"start": "nest start",
|
|
"start:dev": "nest start --watch",
|
|
"start:prod": "node dist/main",
|
|
"lint": "eslint 'src/**/*.ts' --fix"
|
|
},
|
|
"dependencies": {
|
|
"@nestjs/common": "^10.4.0",
|
|
"@nestjs/core": "^10.4.0",
|
|
"@nestjs/platform-express": "^10.4.0",
|
|
"@nestjs/platform-ws": "^10.4.0",
|
|
"@nestjs/websockets": "^10.4.0",
|
|
"@nestjs/jwt": "^10.2.0",
|
|
"@nestjs/passport": "^10.0.0",
|
|
"@nestjs/swagger": "^7.4.0",
|
|
"@prisma/client": "^6.0.0",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.14.1",
|
|
"passport": "^0.7.0",
|
|
"passport-jwt": "^4.0.1",
|
|
"reflect-metadata": "^0.2.2",
|
|
"rxjs": "^7.8.1",
|
|
"stripe": "^17.0.0",
|
|
"ws": "^8.18.0"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/cli": "^10.4.0",
|
|
"@nestjs/schematics": "^10.1.0",
|
|
"@types/express": "^5.0.0",
|
|
"@types/node": "^22.0.0",
|
|
"@types/passport-jwt": "^4.0.1",
|
|
"@types/ws": "^8.5.10",
|
|
"prisma": "^6.0.0",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.6.0"
|
|
}
|
|
}
|