feat: updade workspace

This commit is contained in:
thanhnv
2026-07-11 15:56:31 +09:00
parent 4fc72332f5
commit 193a449829
120 changed files with 868 additions and 350 deletions
+4 -4
View File
@@ -79,7 +79,7 @@
```
okr-web/
├── backend/ # NestJS API service
├── apps/okr/backend/ # NestJS API service
│ ├── src/
│ │ ├── main.ts # Bootstrap, Swagger, global pipes
│ │ ├── app.module.ts # Root module
@@ -97,7 +97,7 @@ okr-web/
│ ├── Dockerfile
│ └── package.json
│
├── frontend/ # React + Vite SPA
├── apps/okr/frontend/ # React + Vite SPA
│ ├── src/
│ │ ├── main.tsx # React root
│ │ ├── App.tsx # Router setup + error boundary
@@ -285,7 +285,7 @@ exec "$@"
The seed script uses `upsert` (Prisma's `createOrUpdate`) keyed on stable identifiers (email for users, slug for objectives). Running the seed twice produces no duplicates:
```typescript
// backend/prisma/seed.ts
// apps/okr/backend/prisma/seed.ts
import { PrismaClient } from '@prisma/client';
import * as bcrypt from 'bcrypt';
@@ -616,7 +616,7 @@ TanStack Query's `onError` global callback handles API error toasts without cras
- **Unit tests:** Services tested in isolation with Prisma mocked via `jest.mock`.
- **Integration tests:** `@nestjs/testing` spins up full NestJS app with SQLite in-memory database override.
- Test files co-located under `backend/test/`.
- Test files co-located under `apps/okr/backend/test/`.
### Frontend