51 lines
4.3 KiB
Markdown
51 lines
4.3 KiB
Markdown
# گزارش جامع ممیزی عمیق مهندسی و کیفیت کد Canina (Deep Engineering Audit Phase 2)
|
||
|
||
**تاریخ ممیزی عمیق:** ۲۶ ژوئیه ۲۰۲۶
|
||
**نقش ممیز:** Lead Software Auditor (`00_auditor.md`)
|
||
**حوزه ارزیابی:** تمامی لایههای فرانتاند، بکاند، پنل مدیریت، تستها و کانفیگهای سئو
|
||
|
||
---
|
||
|
||
## ۱. خلاصهی نمره سلامت مهندسی (Deep Engineering Health Score)
|
||
|
||
امتیاز سلامت مهندسی از ۱۰۰ محاسبه شده و بدهیهای فنی ممیزی عمیق به شرح زیر است:
|
||
|
||
| حوزه ارزیابی | وضعیت اسکن خطبهخط | کسری امتیاز (Penalty) |
|
||
| :--- | :--- | :---: |
|
||
| **امتیاز پایه** | - | **100** |
|
||
| **بهینهسازی تصاویر (Next Image)** | استفاده از تگ `<img>` در `SafeImage`, `VideosPage`, `VetGallery` به جای `next/image` | **-10** |
|
||
| **پوشش تستهای خودکار فرانتاند** | نبود تستهای integration برای سفارش حجمی، Wizard و احراز هویت | **-20** |
|
||
| **تستهای E2E / Unit بکاند NestJS** | نبود پوشش تستهای واحد برای هندل استثنائات اختصاصی و سرویسها | **-15** |
|
||
| **مدیریت Error / Loading Boundaries** | نبود فایلهای استاندارد `loading.tsx` و `error.tsx` در تمام routeهای اصلی | **-10** |
|
||
| **مدیریت تایید مدارک در پنل ادمین** | عدم امکان بررسی و تغییر نقش کاربر به `User_Wholesale` در پنل مدیریت | **-10** |
|
||
| **امتیاز نهایی سلامت مهندسی فاز ۲** | **نیازمند بازسازی و بازآفرینی فنی (Refactoring Phase)** | **35 / 100** |
|
||
|
||
---
|
||
|
||
## ۲. ممیزی تفکیکی بخشها (Detailed Audit Breakdown)
|
||
|
||
### ۲.۱. فرانتاند Next.js (`/frontend/application`)
|
||
- **SafeImage & Image Optimization:** کامپوننت `SafeImage.tsx` و سایر کامپوننتهای نمایش ویدیو/تصاویر دامپزشکی همچنان از تگهای استاندارد HTML `<img>` استفاده میکنند که مانع فشردهسازی WebP و بهینهسازی LCP گوگل میشود.
|
||
- **Error & Loading Boundaries:** عدم وجود `app/loading.tsx` و `app/error.tsx` استاندارد جهت مدیریت لودینگهای استریمینگ و خطاهای غیرمنتظره.
|
||
- **Strict Typing:** استفاده از متغیرهای `any` در برخی هندلرهای استیت Zustand.
|
||
|
||
### ۲.۲. بکاند NestJS و دیتابیس Prisma (`/backend`)
|
||
- **مدیریت استثناها (Global Exception Filters):** نیاز به اعتبارسنجی دقیقتر DTOها با `class-validator` و فیلترهای پاسخ یکپارچه.
|
||
- **امنیت APIها و Rate Limiting:** نیاز به بررسی ثبات Throttler Guard و سطوح دسترسی نقشهای کاربری (RBAC).
|
||
|
||
### ۲.۳. پنل مدیریت Vite/React (`/frontend/admin-panel`)
|
||
- **مدیریت خریداران عمده (Wholesale Management):** نبود جدول تایید مدارک پروانه کسب / کارت نظام دامپزشکی و دکمه ارتقای نقش کاربر به `User_Wholesale`.
|
||
|
||
### ۲.۴. تستنویسی (Testing Suite)
|
||
- **Unit & Integration Tests:** عدم وجود تستهای خودکار برای کامپوننتهای حساس مانند `SmartAdvisor` و `B2BPortal`.
|
||
|
||
---
|
||
|
||
## ۳. نقشه راه فاز بازآفرینی فنی (Refactoring Roadmap)
|
||
|
||
1. **`TASK-106` (تستنویسی جامع):** ایجاد تستهای خودکار Jest/Vitest برای کامپوننتها و استورها.
|
||
2. **`TASK-107` (بهینهسازی کارایی Next Image):** بازنویسی `SafeImage` جهت استفاده ۱۰۰٪ از `next/image`.
|
||
3. **`TASK-108` (Boundary & Streaming):** پیادهسازی `loading.tsx` و `error.tsx` در لایههای Router.
|
||
4. **`TASK-109` (تکمیل پنل ادمین):** افزودن تب تایید خریداران عمده و پروانه کسب در پنل مدیریت.
|
||
5. **`TASK-110` (سئوی پیشرفته):** ایجاد Sitemap داینامیک و بهینهسازی Alt تصاویر و Canonical URLs.
|