canina/.ai_agency/specs/reviews/backend_review.md

19 lines
1.4 KiB
Markdown

# ⚙️ Backend Technical Review (05_dev_backend)
## Architectural Overview
- **Framework**: NestJS v10+ with TypeScript
- **Database / ORM**: PostgreSQL + Prisma ORM v5+
- **Auth**: JWT Authentication + Passport.js with Role Guards (`User_PetOwner`, `User_Wholesale`, `ADMIN`)
## Critical Review Findings & Required Enhancements
1. **Database & Seeding**:
- `prisma/seed.ts` must accurately populate 30+ official Canina products from `canina.md` and `canina.pdf` with both retail (`priceValue`) and B2B wholesale (`wholesalePrice`) fields, dosage logic, ingredients, and symptoms.
- Dynamic tables: `HeroBanner`, `VetTestimonial`, `SmartAdvisorRule`, `ScientificTerm`, `UiText`, `Blog`, `Category`, `Product`.
2. **REST Controllers & Security**:
- `ValidationPipe`: Enforce global NestJS DTO validation pipe in `main.ts` with strict whitelisting.
- `RolesGuard`: Enforce role checking for B2B endpoints (`/api/v1/wholesale/*`) and Admin endpoints (`/api/v1/admin/*`).
- B2B Document Verification: Admin endpoints for reviewing and approving wholesale business registrations.
3. **Data Integrity & Sync**:
- Provide REST APIs for all dynamic CMS entities so the frontend application renders zero hardcoded text/banners/testimonials.
- Provide complete admin endpoints (`/api/v1/admin/*`) for CRUD operations on banners, testimonials, advisor rules, products, categories, orders, users, coupons, and terms.