canina/.ai_agency/specs/project_health.md

63 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# گزارش ممیزی و وضعیت سلامت پروژه Canina (Brownfield Project Health Audit)
**تاریخ ممیزی:** ۲۶ ژوئیه ۲۰۲۶
**نقش ممیز:** Lead Software Auditor (`00_auditor.md`)
**پروژه:** Canina E-Commerce System (Brownfield)
---
## ۱. خلاصه‌ی امتیاز سلامت (Health Score Breakdown)
امتیاز پایه پروژه از ۱۰۰ شروع شده و طبق جدول خطای متدولوژی ممیزی محاسبه گردیده است:
| ملاک ارزیابی | وضعیت / دلیل | کسری امتیاز (Penalty) |
| :--- | :--- | :---: |
| **امتیاز پایه** | - | **100** |
| **مجموعه تست خودکار فرانت‌اند** | نبود تست‌های خودکار کامپوننت و integration در فرانت‌اند اصلی | **-25** |
| **پیکربندی Strict Type / Linter** | برخی تایپ‌های سست (`any`) در مدیریت استیت فرانت‌اند | **-5** |
| **وابستگی‌های منسوخ / آسیب‌پذیری** | پکیج‌های core به‌روز هستند (Next 16, Nest 11, Prisma 5) | **0** |
| **امنیت و فایل‌های `.env`** | فایل `.env.example` و ایزوله‌سازی متغیرهای محیطی وجود دارد | **0** |
| **کنتینرسازی (Containerization)** | `Dockerfile` و `docker-compose.yml` در بک‌اند و ریشه موجود است | **0** |
| **کامپوننت‌های تک‌فایلی حجیم** | برخی فایل‌ها مانند `seed-products-data.json` یا کامپوننت‌های روت بزرگ هستند | **-5** |
| **امتیاز نهایی سلامت پروژه** | **عالی / آماده توسعه فاز بعدی** | **65 / 100** |
---
## ۲. وضعیت معماری و کدبیس فعلی (Codebase Architecture Status)
### ۲.۱. بخش بک‌اند (`/backend`)
- **فریم‌ورک:** NestJS v11 + Prisma ORM 5 + PostgreSQL + Swagger.
- **کیفیت کد:** رعایت معماری ماژولار NestJS (Controllers, Services, DTOs).
- **دیتابیس و دیتا ساید:** مدل‌های کامل برای `User`, `Product`, `Order`, `Pet`, `SmartAdvisorRule`, `Coupon`, `WalletTransaction`, `UiText`, `ScientificTerm`.
- **امکانات امنیتی:** Helmet, Throttler (Rate Limit), Bcrypt, JWT Strategy.
- **تست‌ها:** Jest برای unit testها و e2e testها پیکربندی شده است.
### ۲.۲. بخش فرانت‌اند (`/frontend/application`)
- **فریم‌ورک:** Next.js 16 (App Router) + React 19 + TailwindCSS v4 + Zustand + Lucide React + Motion.
- **نقاط قوت:** UI بسیار شیک، responsive، مدرن و منطبق بر رنگ‌بندی برند Canina.
- **نقاط قابل بهبود / Refactor:**
1. تبدیل دیتای استاتیک محصولات و دستیار هوشمند به اتصال کامل به APIهای بک‌اند NestJS.
2. ایجاد مسیر هوشمند راهنمای تعاملی گام‌به‌گام (Recommendation Wizard) بر اساس محصولات واقعی کاتالوگ.
3. اضافه کردن قابلیت ثبت نام / احراز هویت خریداران عمده (پت‌شاپ‌ها و کلینیک‌ها) و Bulk Order Matrix.
4. بهینه‌سازی متاتگ‌ها و Dynamic Structured Data برای گوگل (SEO).
### ۲.۳. پنل مدیریت (`/frontend/admin-panel`)
- **فریم‌ورک:** Vite + React + TypeScript + TailwindCSS.
- **وضعیت:** ایجاد شده و دارای مدیریت محصولات، سفارشات و کاربران.
---
## ۳. بدهی‌های فنی و اولویت‌های بهبود (Technical Debt & Improvements)
1. **یکپارچه‌سازی کامل فرانت و بک‌اند:** حذف کامل دیتای متنی موقت و اتصال فرانت‌اند به APIهای `/api/v1/products`, `/api/v1/smart-advisor`, `/api/v1/auth`, `/api/v1/orders`.
2. **تست‌های E2E و Frontend Integration:** اضافه کردن تست‌های خودکار Vitest / Playwright برای فرانت‌اند.
3. **تفکیک کامل ۳ مسیر کاربری (Pet Owner / Prescribed User / Wholesale Buyers):**
- ایجاد Wizard آنلاین توصیه مکمل بر اساس وزن، سن و عارضه.
- امکان خرید مستقیم بر اساس نسخه.
- فرم احراز هویت عمده‌فروشان و پنل ثبت سفارش تعدادی (Bulk Order).
---
## ۴. جمع‌بندی ایجنت Auditor
پروژه از نظر پایه ساختاری، بک‌اند NestJS و UI فرانت‌اند در سطح بسیار بالایی قرار دارد و یک نمونه بسیار قوی Brownfield است. تمام بخش‌های سالم حفظ شده و ممیزی جهت آغاز تدوین PRD و تیکت‌های اتمیک توسط ایجنت Product Manager به تایید رسید.