feat(auth): redesign AuthModal with structured tabs, clean login/signup separation, clear OTP/password switch and polished UX
This commit is contained in:
parent
41f7e98d97
commit
9294e89712
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
{
|
||||
"0": "Roles",
|
||||
"1": "app.module.ts",
|
||||
"2": "SmsService",
|
||||
"2": "SettingsController",
|
||||
"3": "ProductService",
|
||||
"4": "useSettingsStore",
|
||||
"5": "CmsController",
|
||||
@ -12,7 +12,7 @@
|
||||
"10": "ReviewsController",
|
||||
"11": "MediaSelector.tsx",
|
||||
"12": "index.ts",
|
||||
"13": "app-audit-verification.e2e-spec.js",
|
||||
"13": "main.ts",
|
||||
"14": "BlogsService",
|
||||
"15": "src/services/api.ts",
|
||||
"16": "DoctorQueryDto",
|
||||
@ -20,7 +20,7 @@
|
||||
"18": "JwtAuthGuard",
|
||||
"19": "ProductsService",
|
||||
"20": "CreateVideoDto",
|
||||
"21": "userStore.ts",
|
||||
"21": "admin.module.ts",
|
||||
"22": "PetProfile.tsx",
|
||||
"23": "MenuService",
|
||||
"24": "BE-001",
|
||||
@ -53,7 +53,7 @@
|
||||
"51": "BlogsController",
|
||||
"52": "PrescriptionsService",
|
||||
"53": "SmartAdvisorService",
|
||||
"54": "CreateReviewDto",
|
||||
"54": "RevalidationService",
|
||||
"55": "UITexts.tsx",
|
||||
"56": "Orders.tsx",
|
||||
"57": "Role & Core Objective",
|
||||
@ -89,10 +89,10 @@
|
||||
"87": "dependencies",
|
||||
"88": "CreateEBankCheckoutDto",
|
||||
"89": "seed-products.ts",
|
||||
"90": "useUserStore",
|
||||
"90": "ClientLayout.tsx",
|
||||
"91": "Reconciled Audit Roles & Assignments",
|
||||
"92": "OrdersService",
|
||||
"93": "@nestjs/schematics",
|
||||
"93": "SettingsService",
|
||||
"94": "Phase 3.1 — Human Review Preparation and Master Backlog Critique",
|
||||
"95": "blog/[slug]/page.tsx",
|
||||
"96": "compilerOptions",
|
||||
@ -121,13 +121,13 @@
|
||||
"119": "compilerOptions",
|
||||
"120": "compilerOptions",
|
||||
"121": "backend/README.md",
|
||||
"122": "AdminService",
|
||||
"122": "AdminController",
|
||||
"123": "auth.service.ts",
|
||||
"124": "Repository Map",
|
||||
"125": "validate_integrity.js",
|
||||
"126": "admin-panel/package.json",
|
||||
"127": "Sahel-Font",
|
||||
"128": "AdminController",
|
||||
"128": "AdminService",
|
||||
"129": "auth.controller.ts",
|
||||
"130": "Sahel-Font",
|
||||
"131": "Role & Core Objective",
|
||||
@ -146,18 +146,18 @@
|
||||
"144": "@testing-library/react",
|
||||
"145": "admin.service.ts",
|
||||
"146": "System Discovery",
|
||||
"147": "orders.service.ts",
|
||||
"148": "class-transformer",
|
||||
"147": "SmsService",
|
||||
"148": "app-audit-verification.e2e-spec.js",
|
||||
"149": "SmsSettingsPage.tsx",
|
||||
"150": "Product Requirement Document (PRD)",
|
||||
"151": "@types/react-dom",
|
||||
"152": "useCartStore",
|
||||
"151": "CreateOrderDto",
|
||||
"152": "lib/services/api.ts",
|
||||
"153": "exclude",
|
||||
"154": "Baseline Command Plan & Reconciled Command History",
|
||||
"155": "seo-backfill.ts",
|
||||
"156": "manual-test-scenarios.md",
|
||||
"157": "ErrorPages.tsx",
|
||||
"158": "helmet",
|
||||
"158": "CustomHttpExceptionFilter",
|
||||
"159": "with-vpn.sh",
|
||||
"160": "Architecture Specification",
|
||||
"161": "Project Health Audit Report",
|
||||
@ -175,8 +175,8 @@
|
||||
"173": "Phase 3 Audit Traceability Matrix",
|
||||
"174": "rebuild_honest_ledger.js",
|
||||
"175": "validate_evidence_grade.js",
|
||||
"176": "videos.controller.ts",
|
||||
"177": "RegisterDto",
|
||||
"176": "settings.service.ts",
|
||||
"177": "@eslint/js",
|
||||
"178": "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina",
|
||||
"179": "PaginationDto",
|
||||
"180": "API Contract Specification",
|
||||
@ -184,7 +184,7 @@
|
||||
"182": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
|
||||
"183": "🚀 SEO & Content Strategy Review (12_seo_content)",
|
||||
"184": "RedisService",
|
||||
"185": "js-yaml",
|
||||
"185": "@types/node",
|
||||
"186": "seed-ui-texts.ts",
|
||||
"187": "seed-wiki.ts",
|
||||
"188": "update-blog.dto.ts",
|
||||
@ -197,13 +197,12 @@
|
||||
"195": "React + TypeScript + Vite",
|
||||
"196": "Select.tsx",
|
||||
"197": "SmsLogQueryDto",
|
||||
"198": "@nestjs/core",
|
||||
"198": "eslint-config-next",
|
||||
"199": "VerifyOtpDto",
|
||||
"200": "application/README.md",
|
||||
"201": "deploy.sh",
|
||||
"202": "🔒 Security & Performance Review (09_devops_security)",
|
||||
"203": "👁️ UX & Persona Interface Review (08_visual_qa)",
|
||||
"204": "eslint-config-prettier",
|
||||
"205": "prisma/scientificTerms.ts",
|
||||
"206": "seed-blogs.ts",
|
||||
"207": "seed-custom.ts",
|
||||
@ -222,7 +221,6 @@
|
||||
"220": "Input.tsx",
|
||||
"221": "Textarea.tsx",
|
||||
"222": "admin-panel/tsconfig.json",
|
||||
"223": "@nestjs/jwt",
|
||||
"224": "jest",
|
||||
"225": "next.config.ts",
|
||||
"226": "Shabnam Font README",
|
||||
@ -230,15 +228,7 @@
|
||||
"228": "rules/graphify.md",
|
||||
"229": ".agents/workflows/graphify.md",
|
||||
"230": "instructions.md",
|
||||
"231": "@nestjs/throttler",
|
||||
"232": "SendOtpDto",
|
||||
"233": "tailwindcss",
|
||||
"234": "passport",
|
||||
"235": "reflect-metadata",
|
||||
"236": "swagger-ui-express",
|
||||
"237": "@eslint/eslintrc",
|
||||
"238": "prisma",
|
||||
"239": "source-map-support",
|
||||
"240": "supertest",
|
||||
"241": "blog.entity.ts",
|
||||
"242": "home.entity.ts",
|
||||
@ -263,11 +253,7 @@
|
||||
"261": "User Login API",
|
||||
"262": "User Logout API",
|
||||
"263": "generate-openapi.d.ts",
|
||||
"264": "ts-loader",
|
||||
"265": "@testing-library/jest-dom",
|
||||
"266": "ts-node",
|
||||
"267": "tsconfig-paths",
|
||||
"268": "@types/bcrypt",
|
||||
"269": "eslint-plugin-react-hooks",
|
||||
"270": "app-audit-verification.e2e-spec.d.ts",
|
||||
"271": "app.e2e-spec.d.ts",
|
||||
@ -300,31 +286,19 @@
|
||||
"298": ".initiateOrderPayment",
|
||||
"299": "@tailwindcss/postcss",
|
||||
"300": "typescript",
|
||||
"301": "@types/compression",
|
||||
"302": "typescript-eslint",
|
||||
"303": "@types/express",
|
||||
"304": "@types/jest",
|
||||
"305": "@types/react",
|
||||
"306": "globals",
|
||||
"307": "@nestjs/cli",
|
||||
"308": "vitest",
|
||||
"309": "axios",
|
||||
"310": "tailwindcss",
|
||||
"311": "@types/multer",
|
||||
"312": "@types/passport-jwt",
|
||||
"313": "Modal.tsx",
|
||||
"314": "@nestjs/testing",
|
||||
"315": "typescript",
|
||||
"316": "prettier",
|
||||
"317": "revalidate/route.ts",
|
||||
"318": "MaskableField.tsx",
|
||||
"319": "ts-jest",
|
||||
"320": "@types/js-yaml",
|
||||
"321": "@types/supertest",
|
||||
"322": "typescript-eslint",
|
||||
"323": "PodcastPlayerModal.tsx",
|
||||
"324": "catalog/page.tsx",
|
||||
"325": "bcrypt",
|
||||
"326": "eslint",
|
||||
"327": "eslint-plugin-react-refresh"
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -3,25 +3,25 @@
|
||||
"1": "app.module.ts",
|
||||
"2": "SmsService",
|
||||
"3": "ProductService",
|
||||
"4": "ProductPage.tsx",
|
||||
"4": "useSettingsStore",
|
||||
"5": "CmsController",
|
||||
"6": "tickets.controller.ts",
|
||||
"6": "TicketsService",
|
||||
"7": "Button.tsx",
|
||||
"8": "ReportsController",
|
||||
"9": "devDependencies",
|
||||
"10": "ReviewsService",
|
||||
"10": "ReviewsController",
|
||||
"11": "MediaSelector.tsx",
|
||||
"12": "index.ts",
|
||||
"13": "app-audit-verification.e2e-spec.js",
|
||||
"14": "toPersian",
|
||||
"14": "BlogsService",
|
||||
"15": "src/services/api.ts",
|
||||
"16": "DoctorQueryDto",
|
||||
"17": "schema.ts",
|
||||
"18": "JwtAuthGuard",
|
||||
"19": "RevalidationService",
|
||||
"19": "ProductsService",
|
||||
"20": "CreateVideoDto",
|
||||
"21": "userStore.ts",
|
||||
"22": "useCartStore",
|
||||
"22": "PetProfile.tsx",
|
||||
"23": "MenuService",
|
||||
"24": "BE-001",
|
||||
"25": "FE-001",
|
||||
@ -34,7 +34,7 @@
|
||||
"32": "adminRoutes.tsx",
|
||||
"33": "WholesaleService",
|
||||
"34": "B2BService",
|
||||
"35": "auth.service.ts",
|
||||
"35": "AuthController",
|
||||
"36": "FaqService",
|
||||
"37": "راهنمای تست سیستم (Software Testing)",
|
||||
"38": "Button",
|
||||
@ -66,8 +66,8 @@
|
||||
"64": "compilerOptions",
|
||||
"65": "app.e2e-spec.js",
|
||||
"66": "AdminQueryDto",
|
||||
"67": "admin.module.ts",
|
||||
"68": "CheckoutPage.tsx",
|
||||
"67": "PetsController",
|
||||
"68": "UserDashboard.tsx",
|
||||
"69": "Required Review Group Closures",
|
||||
"70": "compilerOptions",
|
||||
"71": "getPageMetadata",
|
||||
@ -75,7 +75,7 @@
|
||||
"73": "Operational Rules & Boundaries",
|
||||
"74": "WikiController",
|
||||
"75": "PetsController",
|
||||
"76": ".getDashboardStats",
|
||||
"76": "ApiOperation",
|
||||
"77": "seo.module.ts",
|
||||
"78": "rss.xml/route.ts",
|
||||
"79": "🏢 AI Software Agency — Master Orchestration Protocol v3",
|
||||
@ -89,7 +89,7 @@
|
||||
"87": "dependencies",
|
||||
"88": "CreateEBankCheckoutDto",
|
||||
"89": "seed-products.ts",
|
||||
"90": "useSettingsStore",
|
||||
"90": "useUserStore",
|
||||
"91": "Reconciled Audit Roles & Assignments",
|
||||
"92": "OrdersService",
|
||||
"93": "@nestjs/schematics",
|
||||
@ -106,7 +106,7 @@
|
||||
"104": "Coupons.tsx",
|
||||
"105": "Operational Rules & Boundaries",
|
||||
"106": "Media.tsx",
|
||||
"107": "WholesaleApplyDto",
|
||||
"107": "WikiController",
|
||||
"108": "PrismaService",
|
||||
"109": "1. Summary of Integrity Repairs Performed",
|
||||
"110": "Operational Rules & Boundaries",
|
||||
@ -114,7 +114,7 @@
|
||||
"112": "Operational Rules & Boundaries",
|
||||
"113": "videos/page.tsx",
|
||||
"114": "AppService",
|
||||
"115": "@nestjs/swagger",
|
||||
"115": "VetGallery.tsx",
|
||||
"116": "Vazirmatn Changelog",
|
||||
"117": "Vazirmatn Font فونت وزیرمتن",
|
||||
"118": "Operational Rules & Boundaries",
|
||||
@ -122,13 +122,13 @@
|
||||
"120": "compilerOptions",
|
||||
"121": "backend/README.md",
|
||||
"122": "AdminService",
|
||||
"123": "app/page.tsx",
|
||||
"123": "auth.service.ts",
|
||||
"124": "Repository Map",
|
||||
"125": "validate_integrity.js",
|
||||
"126": "admin-panel/package.json",
|
||||
"127": "Sahel-Font",
|
||||
"128": "AdminController",
|
||||
"129": "globals",
|
||||
"129": "auth.controller.ts",
|
||||
"130": "Sahel-Font",
|
||||
"131": "Role & Core Objective",
|
||||
"132": "orchestrate.py",
|
||||
@ -146,12 +146,12 @@
|
||||
"144": "@testing-library/react",
|
||||
"145": "admin.service.ts",
|
||||
"146": "System Discovery",
|
||||
"147": "components/Skeleton.tsx",
|
||||
"147": "orders.service.ts",
|
||||
"148": "class-transformer",
|
||||
"149": "SmsSettingsPage.tsx",
|
||||
"150": "Product Requirement Document (PRD)",
|
||||
"151": "@types/react-dom",
|
||||
"152": "lib/services/api.ts",
|
||||
"152": "useCartStore",
|
||||
"153": "exclude",
|
||||
"154": "Baseline Command Plan & Reconciled Command History",
|
||||
"155": "seo-backfill.ts",
|
||||
@ -175,6 +175,8 @@
|
||||
"173": "Phase 3 Audit Traceability Matrix",
|
||||
"174": "rebuild_honest_ledger.js",
|
||||
"175": "validate_evidence_grade.js",
|
||||
"176": "videos.controller.ts",
|
||||
"177": "RegisterDto",
|
||||
"178": "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina",
|
||||
"179": "PaginationDto",
|
||||
"180": "API Contract Specification",
|
||||
@ -194,8 +196,9 @@
|
||||
"194": "Raw Finding Verification & Disposition Report",
|
||||
"195": "React + TypeScript + Vite",
|
||||
"196": "Select.tsx",
|
||||
"197": "wiki/page.tsx",
|
||||
"197": "SmsLogQueryDto",
|
||||
"198": "@nestjs/core",
|
||||
"199": "VerifyOtpDto",
|
||||
"200": "application/README.md",
|
||||
"201": "deploy.sh",
|
||||
"202": "🔒 Security & Performance Review (09_devops_security)",
|
||||
@ -228,7 +231,7 @@
|
||||
"229": ".agents/workflows/graphify.md",
|
||||
"230": "instructions.md",
|
||||
"231": "@nestjs/throttler",
|
||||
"232": "@eslint/js",
|
||||
"232": "SendOtpDto",
|
||||
"233": "tailwindcss",
|
||||
"234": "passport",
|
||||
"235": "reflect-metadata",
|
||||
@ -291,6 +294,7 @@
|
||||
"292": "Production Docker Compose",
|
||||
"293": "Staging Docker Compose",
|
||||
"294": "ZibalService",
|
||||
"295": "trust-seals/page.tsx",
|
||||
"296": "eslint-plugin-prettier",
|
||||
"297": "ZibalEBankService",
|
||||
"298": ".initiateOrderPayment",
|
||||
@ -317,5 +321,10 @@
|
||||
"319": "ts-jest",
|
||||
"320": "@types/js-yaml",
|
||||
"321": "@types/supertest",
|
||||
"322": "typescript-eslint"
|
||||
"322": "typescript-eslint",
|
||||
"323": "PodcastPlayerModal.tsx",
|
||||
"324": "catalog/page.tsx",
|
||||
"325": "bcrypt",
|
||||
"326": "eslint",
|
||||
"327": "eslint-plugin-react-refresh"
|
||||
}
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
# Graph Report - canina (2026-08-26)
|
||||
|
||||
## Corpus Check
|
||||
- 586 files · ~1,331,190 words
|
||||
- 586 files · ~1,331,607 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 4104 nodes · 7388 edges · 319 communities (205 shown, 114 thin omitted)
|
||||
- 4107 nodes · 7399 edges · 328 communities (211 shown, 117 thin omitted)
|
||||
- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 281 edges (avg confidence: 0.79)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `c825268b`
|
||||
- Built from commit: `aa0dde6a`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
@ -19,25 +19,25 @@
|
||||
- app.module.ts
|
||||
- SmsService
|
||||
- ProductService
|
||||
- ProductPage.tsx
|
||||
- useSettingsStore
|
||||
- CmsController
|
||||
- tickets.controller.ts
|
||||
- TicketsService
|
||||
- Button.tsx
|
||||
- ReportsController
|
||||
- devDependencies
|
||||
- ReviewsService
|
||||
- ReviewsController
|
||||
- MediaSelector.tsx
|
||||
- index.ts
|
||||
- app-audit-verification.e2e-spec.js
|
||||
- toPersian
|
||||
- BlogsService
|
||||
- src/services/api.ts
|
||||
- DoctorQueryDto
|
||||
- schema.ts
|
||||
- JwtAuthGuard
|
||||
- RevalidationService
|
||||
- ProductsService
|
||||
- CreateVideoDto
|
||||
- userStore.ts
|
||||
- useCartStore
|
||||
- PetProfile.tsx
|
||||
- MenuService
|
||||
- BE-001
|
||||
- FE-001
|
||||
@ -50,7 +50,7 @@
|
||||
- adminRoutes.tsx
|
||||
- WholesaleService
|
||||
- B2BService
|
||||
- auth.service.ts
|
||||
- AuthController
|
||||
- FaqService
|
||||
- راهنمای تست سیستم (Software Testing)
|
||||
- Button
|
||||
@ -82,8 +82,8 @@
|
||||
- compilerOptions
|
||||
- app.e2e-spec.js
|
||||
- AdminQueryDto
|
||||
- admin.module.ts
|
||||
- CheckoutPage.tsx
|
||||
- PetsController
|
||||
- UserDashboard.tsx
|
||||
- Required Review Group Closures
|
||||
- compilerOptions
|
||||
- getPageMetadata
|
||||
@ -91,6 +91,7 @@
|
||||
- Operational Rules & Boundaries
|
||||
- WikiController
|
||||
- PetsController
|
||||
- ApiOperation
|
||||
- seo.module.ts
|
||||
- rss.xml/route.ts
|
||||
- 🏢 AI Software Agency — Master Orchestration Protocol v3
|
||||
@ -104,7 +105,7 @@
|
||||
- dependencies
|
||||
- CreateEBankCheckoutDto
|
||||
- seed-products.ts
|
||||
- useSettingsStore
|
||||
- useUserStore
|
||||
- Reconciled Audit Roles & Assignments
|
||||
- OrdersService
|
||||
- @nestjs/schematics
|
||||
@ -121,7 +122,7 @@
|
||||
- Coupons.tsx
|
||||
- Operational Rules & Boundaries
|
||||
- Media.tsx
|
||||
- WholesaleApplyDto
|
||||
- WikiController
|
||||
- PrismaService
|
||||
- 1. Summary of Integrity Repairs Performed
|
||||
- Operational Rules & Boundaries
|
||||
@ -129,7 +130,7 @@
|
||||
- Operational Rules & Boundaries
|
||||
- videos/page.tsx
|
||||
- AppService
|
||||
- @nestjs/swagger
|
||||
- VetGallery.tsx
|
||||
- Vazirmatn Changelog
|
||||
- Vazirmatn Font فونت وزیرمتن
|
||||
- Operational Rules & Boundaries
|
||||
@ -137,13 +138,13 @@
|
||||
- compilerOptions
|
||||
- backend/README.md
|
||||
- AdminService
|
||||
- app/page.tsx
|
||||
- auth.service.ts
|
||||
- Repository Map
|
||||
- validate_integrity.js
|
||||
- admin-panel/package.json
|
||||
- Sahel-Font
|
||||
- AdminController
|
||||
- globals
|
||||
- auth.controller.ts
|
||||
- Sahel-Font
|
||||
- Role & Core Objective
|
||||
- orchestrate.py
|
||||
@ -161,12 +162,12 @@
|
||||
- @testing-library/react
|
||||
- admin.service.ts
|
||||
- System Discovery
|
||||
- components/Skeleton.tsx
|
||||
- orders.service.ts
|
||||
- class-transformer
|
||||
- SmsSettingsPage.tsx
|
||||
- Product Requirement Document (PRD)
|
||||
- @types/react-dom
|
||||
- lib/services/api.ts
|
||||
- useCartStore
|
||||
- exclude
|
||||
- Baseline Command Plan & Reconciled Command History
|
||||
- seo-backfill.ts
|
||||
@ -189,6 +190,8 @@
|
||||
- Phase 3 Audit Traceability Matrix
|
||||
- rebuild_honest_ledger.js
|
||||
- validate_evidence_grade.js
|
||||
- videos.controller.ts
|
||||
- RegisterDto
|
||||
- نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina
|
||||
- PaginationDto
|
||||
- API Contract Specification
|
||||
@ -208,8 +211,9 @@
|
||||
- Raw Finding Verification & Disposition Report
|
||||
- React + TypeScript + Vite
|
||||
- Select.tsx
|
||||
- wiki/page.tsx
|
||||
- SmsLogQueryDto
|
||||
- @nestjs/core
|
||||
- VerifyOtpDto
|
||||
- application/README.md
|
||||
- deploy.sh
|
||||
- 🔒 Security & Performance Review (09_devops_security)
|
||||
@ -242,7 +246,7 @@
|
||||
- .agents/workflows/graphify.md
|
||||
- instructions.md
|
||||
- @nestjs/throttler
|
||||
- @eslint/js
|
||||
- SendOtpDto
|
||||
- tailwindcss
|
||||
- passport
|
||||
- reflect-metadata
|
||||
@ -290,6 +294,7 @@
|
||||
- Production Docker Compose
|
||||
- Staging Docker Compose
|
||||
- ZibalService
|
||||
- trust-seals/page.tsx
|
||||
- eslint-plugin-prettier
|
||||
- ZibalEBankService
|
||||
- .initiateOrderPayment
|
||||
@ -315,6 +320,11 @@
|
||||
- @types/js-yaml
|
||||
- @types/supertest
|
||||
- typescript-eslint
|
||||
- PodcastPlayerModal.tsx
|
||||
- catalog/page.tsx
|
||||
- bcrypt
|
||||
- eslint
|
||||
- eslint-plugin-react-refresh
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `Roles()` - 106 edges
|
||||
@ -341,11 +351,11 @@
|
||||
backend/src/orders/orders.controller.ts → frontend/admin-panel/src/types/admin.ts
|
||||
|
||||
## Import Cycles
|
||||
- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/api.ts`
|
||||
- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/services/authService.ts -> frontend/application/lib/services/api.ts`
|
||||
- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/api.ts`
|
||||
- 4-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/orderService.ts -> frontend/application/lib/services/api.ts`
|
||||
|
||||
## Communities (319 total, 114 thin omitted)
|
||||
## Communities (328 total, 117 thin omitted)
|
||||
|
||||
### Community 0 - "Roles"
|
||||
Cohesion: 0.23
|
||||
@ -356,22 +366,22 @@ Cohesion: 0.08
|
||||
Nodes (34): B2BModule, Module, BannersModule, Module, CmsModule, Module, SmsModule, Global (+26 more)
|
||||
|
||||
### Community 2 - "SmsService"
|
||||
Cohesion: 0.05
|
||||
Nodes (27): SmsLogQuery, SmsService, Injectable, SmsLogQueryDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional (+19 more)
|
||||
Cohesion: 0.06
|
||||
Nodes (23): SmsLogQuery, SmsService, Injectable, DEFAULT_UI_TEXTS, SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation (+15 more)
|
||||
|
||||
### Community 3 - "ProductService"
|
||||
Cohesion: 0.07
|
||||
Nodes (31): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory (+23 more)
|
||||
Cohesion: 0.06
|
||||
Nodes (34): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory (+26 more)
|
||||
|
||||
### Community 4 - "ProductPage.tsx"
|
||||
### Community 4 - "useSettingsStore"
|
||||
Cohesion: 0.07
|
||||
Nodes (29): revalidate, BackButton(), BackButtonProps, PLAYBACK_RATES, PodcastInlinePlayer(), PodcastInlinePlayerProps, PLAYBACK_RATES, PodcastPlayerModal() (+21 more)
|
||||
Nodes (34): B2BLandingClient(), BlogPost, BlogPreviewSection(), ContactInfoItem, FAQItem, FAQSection(), OrderDetailsModalProps, PLAYBACK_RATES (+26 more)
|
||||
|
||||
### Community 5 - "CmsController"
|
||||
Cohesion: 0.09
|
||||
Nodes (24): CmsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+16 more)
|
||||
|
||||
### Community 6 - "tickets.controller.ts"
|
||||
### Community 6 - "TicketsService"
|
||||
Cohesion: 0.09
|
||||
Nodes (29): AdminUpdateTicketDto, CreateTicketDto, ReplyTicketDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString (+21 more)
|
||||
|
||||
@ -385,11 +395,11 @@ Nodes (11): ReportsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, C
|
||||
|
||||
### Community 9 - "devDependencies"
|
||||
Cohesion: 0.22
|
||||
Nodes (9): devDependencies, eslint, @types/bcryptjs, @types/node, typescript, eslint, @types/node, typescript (+1 more)
|
||||
Nodes (9): devDependencies, @eslint/js, @types/bcryptjs, @types/node, typescript, @eslint/js, @types/node, typescript (+1 more)
|
||||
|
||||
### Community 10 - "ReviewsService"
|
||||
Cohesion: 0.12
|
||||
Nodes (17): ReviewsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+9 more)
|
||||
### Community 10 - "ReviewsController"
|
||||
Cohesion: 0.14
|
||||
Nodes (15): ReviewsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+7 more)
|
||||
|
||||
### Community 11 - "MediaSelector.tsx"
|
||||
Cohesion: 0.07
|
||||
@ -403,9 +413,9 @@ Nodes (24): backend, frontend, playwright.config.ts, @playwright/test, tests/**/
|
||||
Cohesion: 0.06
|
||||
Nodes (28): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter (+20 more)
|
||||
|
||||
### Community 14 - "toPersian"
|
||||
Cohesion: 0.11
|
||||
Nodes (19): CartDrawer, AuthModal(), AuthModalProps, extractOtpFromText(), BlogPost, BlogPreviewSection(), CartDrawer(), HeaderButton() (+11 more)
|
||||
### Community 14 - "BlogsService"
|
||||
Cohesion: 0.07
|
||||
Nodes (7): BlogsService, Injectable, RevalidationModule, Global, Module, RevalidationService, Injectable
|
||||
|
||||
### Community 15 - "src/services/api.ts"
|
||||
Cohesion: 0.08
|
||||
@ -423,21 +433,21 @@ Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), ge
|
||||
Cohesion: 0.19
|
||||
Nodes (7): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, UserReqPayload
|
||||
|
||||
### Community 19 - "RevalidationService"
|
||||
Cohesion: 0.07
|
||||
Nodes (24): RevalidationModule, Global, Module, RevalidationService, Injectable, GetProductsDto, ApiPropertyOptional, IsEnum (+16 more)
|
||||
### Community 19 - "ProductsService"
|
||||
Cohesion: 0.10
|
||||
Nodes (19): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, ProductsController, ApiOperation, ApiTags (+11 more)
|
||||
|
||||
### Community 20 - "CreateVideoDto"
|
||||
Cohesion: 0.07
|
||||
Nodes (31): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+23 more)
|
||||
Cohesion: 0.09
|
||||
Nodes (24): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+16 more)
|
||||
|
||||
### Community 21 - "userStore.ts"
|
||||
Cohesion: 0.11
|
||||
Nodes (11): LoginModal, LoginModal(), LoginModalProps, ApiErr, AuthResponse, AuthService, User, Transaction (+3 more)
|
||||
Cohesion: 0.12
|
||||
Nodes (8): ApiErr, AuthResponse, AuthService, User, Transaction, UserProfile, UserRole, UserStore
|
||||
|
||||
### Community 22 - "useCartStore"
|
||||
Cohesion: 0.10
|
||||
Nodes (27): ClientLayout(), VerifyContent(), FeaturedProducts(), ProductCard(), Header(), OrderSuccess(), OrderTracking(), PetProfile() (+19 more)
|
||||
### Community 22 - "PetProfile.tsx"
|
||||
Cohesion: 0.09
|
||||
Nodes (20): FeaturedProducts(), ProductCard(), OrderSuccess(), PetProfile(), PrescriptionUploadModal(), PrescriptionUploadModalProps, SearchResultsPage(), OrderRowSkeleton() (+12 more)
|
||||
|
||||
### Community 23 - "MenuService"
|
||||
Cohesion: 0.11
|
||||
@ -487,9 +497,9 @@ Nodes (14): ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param,
|
||||
Cohesion: 0.12
|
||||
Nodes (16): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+8 more)
|
||||
|
||||
### Community 35 - "auth.service.ts"
|
||||
Cohesion: 0.06
|
||||
Nodes (46): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+38 more)
|
||||
### Community 35 - "AuthController"
|
||||
Cohesion: 0.23
|
||||
Nodes (13): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+5 more)
|
||||
|
||||
### Community 36 - "FaqService"
|
||||
Cohesion: 0.12
|
||||
@ -545,15 +555,15 @@ Nodes (41): DEFAULT_JWT_REFRESH_SECRET, DEFAULT_JWT_SECRET, getJwtSecret(), Auth
|
||||
|
||||
### Community 49 - "devDependencies"
|
||||
Cohesion: 0.11
|
||||
Nodes (19): autoprefixer, eslint-plugin-react-refresh, devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-refresh, postcss (+11 more)
|
||||
Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, globals, postcss, @types/node (+11 more)
|
||||
|
||||
### Community 50 - "devDependencies"
|
||||
Cohesion: 0.13
|
||||
Nodes (15): eslint-config-next, devDependencies, eslint, eslint-config-next, jsdom, tailwindcss, @tailwindcss/postcss, @types/node (+7 more)
|
||||
|
||||
### Community 51 - "BlogsController"
|
||||
Cohesion: 0.07
|
||||
Nodes (18): BlogsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+10 more)
|
||||
Cohesion: 0.14
|
||||
Nodes (16): BlogsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more)
|
||||
|
||||
### Community 52 - "PrescriptionsService"
|
||||
Cohesion: 0.14
|
||||
@ -564,8 +574,8 @@ Cohesion: 0.13
|
||||
Nodes (14): SmartAdvisorController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||
|
||||
### Community 54 - "CreateReviewDto"
|
||||
Cohesion: 0.14
|
||||
Nodes (13): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ApiProperty (+5 more)
|
||||
Cohesion: 0.11
|
||||
Nodes (15): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ApiProperty (+7 more)
|
||||
|
||||
### Community 55 - "UITexts.tsx"
|
||||
Cohesion: 0.09
|
||||
@ -592,12 +602,12 @@ Cohesion: 0.20
|
||||
Nodes (8): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, ClientMetadata
|
||||
|
||||
### Community 62 - "ProductDto"
|
||||
Cohesion: 0.18
|
||||
Cohesion: 0.22
|
||||
Nodes (7): ProductDto, ApiPropertyOptional, IsArray, IsBoolean, IsNumber, IsOptional, IsString
|
||||
|
||||
### Community 63 - "dependencies"
|
||||
Cohesion: 0.09
|
||||
Nodes (23): dependencies, bcrypt, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport (+15 more)
|
||||
Nodes (23): dependencies, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport, @nestjs/platform-express (+15 more)
|
||||
|
||||
### Community 64 - "compilerOptions"
|
||||
Cohesion: 0.10
|
||||
@ -608,16 +618,16 @@ Cohesion: 0.50
|
||||
Nodes (3): app_module_1, supertest_1, testing_1
|
||||
|
||||
### Community 66 - "AdminQueryDto"
|
||||
Cohesion: 0.19
|
||||
Nodes (6): ApiQuery, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
|
||||
|
||||
### Community 67 - "PetsController"
|
||||
Cohesion: 0.17
|
||||
Nodes (7): ApiQuery, Get, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
|
||||
Nodes (11): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+3 more)
|
||||
|
||||
### Community 67 - "admin.module.ts"
|
||||
Cohesion: 0.07
|
||||
Nodes (19): AdminModule, Module, PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller (+11 more)
|
||||
|
||||
### Community 68 - "CheckoutPage.tsx"
|
||||
Cohesion: 0.25
|
||||
Nodes (12): AddressModal(), AddressModalProps, CheckoutPage(), SearchableSelect(), SearchableSelectProps, PRESET_AMOUNTS, TopUpModal(), TopUpModalProps (+4 more)
|
||||
### Community 68 - "UserDashboard.tsx"
|
||||
Cohesion: 0.11
|
||||
Nodes (30): AuthModal, VerifyContent(), AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), AuthModal() (+22 more)
|
||||
|
||||
### Community 69 - "Required Review Group Closures"
|
||||
Cohesion: 0.10
|
||||
@ -629,7 +639,7 @@ Nodes (23): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, jsx
|
||||
|
||||
### Community 71 - "getPageMetadata"
|
||||
Cohesion: 0.09
|
||||
Nodes (15): generateMetadata(), CatalogClient(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata() (+7 more)
|
||||
Nodes (14): generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata() (+6 more)
|
||||
|
||||
### Community 72 - "Operational Rules & Boundaries"
|
||||
Cohesion: 0.11
|
||||
@ -681,7 +691,7 @@ Nodes (16): 1. Active Secret Scanning (All Modified Files), 2. Docker Container
|
||||
|
||||
### Community 85 - "HomeClient.tsx"
|
||||
Cohesion: 0.11
|
||||
Nodes (21): HomeClient(), HomeClientProps, ArchivePage(), ArchiveProductCard(), CATEGORY_MAP, ICON_MAP, BannerPlacement(), BannerPlacementProps (+13 more)
|
||||
Nodes (22): HomeClient(), HomeClientProps, getHomeData(), Home(), ArchivePage(), ArchiveProductCard(), CATEGORY_MAP, ICON_MAP (+14 more)
|
||||
|
||||
### Community 86 - "zibal.service.ts"
|
||||
Cohesion: 0.16
|
||||
@ -699,25 +709,25 @@ Nodes (8): CreateEBankCheckoutDto, ApiProperty, ApiPropertyOptional, IsNotEmpty,
|
||||
Cohesion: 0.17
|
||||
Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more)
|
||||
|
||||
### Community 90 - "useSettingsStore"
|
||||
Cohesion: 0.15
|
||||
Nodes (17): AuthModal, B2BPortal, B2BLandingClient(), B2BPortal(), BrandLogo(), BrandLogoProps, EnamadBadge(), Footer() (+9 more)
|
||||
### Community 90 - "useUserStore"
|
||||
Cohesion: 0.12
|
||||
Nodes (20): B2BPortal, ClientLayout(), LoginModal, BrandLogo(), BrandLogoProps, Footer(), MENU_ICONS, LoginModal() (+12 more)
|
||||
|
||||
### Community 91 - "Reconciled Audit Roles & Assignments"
|
||||
Cohesion: 0.12
|
||||
Nodes (15): 10. Documentation Engineer, 1. Lead Architect / Orchestrator, 2. React / Vite Storefront Auditor, 3. NestJS Backend Auditor, 4. Admin Features Auditor, 5. Database & Data Integrity Auditor, 6. Security Auditor, 7. TypeScript & Code Quality Auditor (+7 more)
|
||||
|
||||
### Community 92 - "OrdersService"
|
||||
Cohesion: 0.06
|
||||
Nodes (35): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+27 more)
|
||||
Cohesion: 0.08
|
||||
Nodes (29): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+21 more)
|
||||
|
||||
### Community 94 - "Phase 3.1 — Human Review Preparation and Master Backlog Critique"
|
||||
Cohesion: 0.13
|
||||
Nodes (14): 10. Dependency & Wave Adjustments, 11. Acceptance Criteria Refinements, 12. Business and Product Decision Classification, 13. Final Recommended Backlog Summary, 1. Executive Assessment, 2. Findings That Require No Change, 3. Findings Requiring Task Refinements, 4. Tasks Requiring Splitting (+6 more)
|
||||
|
||||
### Community 95 - "blog/[slug]/page.tsx"
|
||||
Cohesion: 0.28
|
||||
Nodes (11): BlogPostPage(), generateMetadata(), getBlog(), revalidate, safeIso(), safeLocalDate(), generateMetadata(), BlogPostClient() (+3 more)
|
||||
Cohesion: 0.23
|
||||
Nodes (12): BlogPostPage(), generateMetadata(), getBlog(), revalidate, safeIso(), safeLocalDate(), generateMetadata(), revalidate (+4 more)
|
||||
|
||||
### Community 96 - "compilerOptions"
|
||||
Cohesion: 0.06
|
||||
@ -763,13 +773,13 @@ Nodes (11): 1. Detect Test Runner from Tech Stack, 2. Execution Output Capture (
|
||||
Cohesion: 0.19
|
||||
Nodes (9): ImagePreviewModal(), ImagePreviewModalProps, getFileType(), Media, MediaManager(), ProductItem, Media, PrescriptionsManager (+1 more)
|
||||
|
||||
### Community 107 - "WholesaleApplyDto"
|
||||
Cohesion: 0.29
|
||||
Nodes (6): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, WholesaleApplyDto
|
||||
### Community 107 - "WikiController"
|
||||
Cohesion: 0.13
|
||||
Nodes (13): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, Param, Query (+5 more)
|
||||
|
||||
### Community 108 - "PrismaService"
|
||||
Cohesion: 0.07
|
||||
Nodes (20): CategoryQuery, WikiQuery, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions, SmsConfig, CreateContactSubmissionDto, UpdateContactInfoItemDto (+12 more)
|
||||
Cohesion: 0.06
|
||||
Nodes (25): ApiExcludeController, MetricsController, Controller, Get, Res, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions (+17 more)
|
||||
|
||||
### Community 109 - "1. Summary of Integrity Repairs Performed"
|
||||
Cohesion: 0.17
|
||||
@ -795,6 +805,10 @@ Nodes (5): generateMetadata(), getInitialVideos(), Videos(), VideosPage(), gener
|
||||
Cohesion: 0.29
|
||||
Nodes (5): AppController, Controller, Get, AppService, Injectable
|
||||
|
||||
### Community 115 - "VetGallery.tsx"
|
||||
Cohesion: 0.16
|
||||
Nodes (12): BackButton(), BackButtonProps, VideoModalPlayer, DisplayVideoItem, FALLBACK_VIDEOS, TestimonialItem, VetGallery(), PLAYBACK_RATES (+4 more)
|
||||
|
||||
### Community 116 - "Vazirmatn Changelog"
|
||||
Cohesion: 0.18
|
||||
Nodes (10): 32.0.0, 32.1, 32.101, 32.102, 33.000, 33.001, 33.002, 33.003 (+2 more)
|
||||
@ -820,12 +834,12 @@ Cohesion: 0.20
|
||||
Nodes (9): Compile and run the project, Deployment, Description, License, Project setup, Resources, Run tests, Stay in touch (+1 more)
|
||||
|
||||
### Community 122 - "AdminService"
|
||||
Cohesion: 0.16
|
||||
Nodes (4): Delete, Param, AdminService, Injectable
|
||||
Cohesion: 0.13
|
||||
Nodes (5): Delete, Param, Put, AdminService, Injectable
|
||||
|
||||
### Community 123 - "app/page.tsx"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): generateMetadata(), getHomeData(), Home()
|
||||
### Community 123 - "auth.service.ts"
|
||||
Cohesion: 0.17
|
||||
Nodes (6): AdminLoginInput, AuthService, LoginInput, RegisterInput, Injectable, normalizeMobile()
|
||||
|
||||
### Community 124 - "Repository Map"
|
||||
Cohesion: 0.20
|
||||
@ -844,8 +858,12 @@ Cohesion: 0.20
|
||||
Nodes (9): Arch Linux, Contributors, Install, Known problems for variable version, License, Sahel-Font, To Do (variable), طریقه استفاده از نسخه متغیر variable (+1 more)
|
||||
|
||||
### Community 128 - "AdminController"
|
||||
Cohesion: 0.11
|
||||
Nodes (9): AdminController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Post, Put (+1 more)
|
||||
Cohesion: 0.18
|
||||
Nodes (7): AdminController, ApiBearerAuth, ApiTags, Body, Controller, Post, UseGuards
|
||||
|
||||
### Community 129 - "auth.controller.ts"
|
||||
Cohesion: 0.16
|
||||
Nodes (11): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength, LoginDto, ApiProperty (+3 more)
|
||||
|
||||
### Community 130 - "Sahel-Font"
|
||||
Cohesion: 0.20
|
||||
@ -904,16 +922,16 @@ Cohesion: 0.25
|
||||
Nodes (6): app_module_1, core_1, fs, path, swagger_1, yaml
|
||||
|
||||
### Community 145 - "admin.service.ts"
|
||||
Cohesion: 0.20
|
||||
Cohesion: 0.18
|
||||
Nodes (13): CouponInput, CouponTargetInput, PaginationQuery, CreateUserDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty (+5 more)
|
||||
|
||||
### Community 146 - "System Discovery"
|
||||
Cohesion: 0.25
|
||||
Nodes (7): Active Core Applications, Current Architecture, Evidence-Based Status Matrix, Excluded / Non-Auditable Artifacts, Major Business Domains Discovered, System Discovery, Technical Architecture Summary
|
||||
|
||||
### Community 147 - "components/Skeleton.tsx"
|
||||
Cohesion: 0.21
|
||||
Nodes (5): OrderRowSkeleton(), PetProfileSkeleton(), ProductCardSkeleton(), Skeleton(), SkeletonProps
|
||||
### Community 147 - "orders.service.ts"
|
||||
Cohesion: 0.24
|
||||
Nodes (6): IsNotEmpty, IsNumber, IsString, ValidateCouponDto, OrdersModule, Module
|
||||
|
||||
### Community 149 - "SmsSettingsPage.tsx"
|
||||
Cohesion: 0.29
|
||||
@ -923,9 +941,9 @@ Nodes (7): PatternItem, SmsConfigState, SmsLogItem, SmsLogStats, SmsSettingsPage
|
||||
Cohesion: 0.29
|
||||
Nodes (6): 1. Executive Vision, 2. Target Audience, 3. Functional Requirements, 4. Non-Functional Requirements (Performance, Security), 5. Epic / Feature Breakdown, Product Requirement Document (PRD)
|
||||
|
||||
### Community 152 - "lib/services/api.ts"
|
||||
Cohesion: 0.08
|
||||
Nodes (21): ContactInfoItem, DeleteConfirmModal(), DeleteConfirmModalProps, Testimonial, TestimonialsSection(), api, ApiErrorPayload, BASE_DOMAIN (+13 more)
|
||||
### Community 152 - "useCartStore"
|
||||
Cohesion: 0.10
|
||||
Nodes (15): CartDrawer, B2BPortal(), CartDrawer(), DeleteConfirmModal(), DeleteConfirmModalProps, Header(), OrderTracking(), mockProduct (+7 more)
|
||||
|
||||
### Community 153 - "exclude"
|
||||
Cohesion: 0.22
|
||||
@ -1007,13 +1025,21 @@ Nodes (4): evidenceList, ledger, mandatoryMap, mandatoryScope
|
||||
Cohesion: 0.40
|
||||
Nodes (4): activeFiles, errors, validationOutput, warnings
|
||||
|
||||
### Community 176 - "videos.controller.ts"
|
||||
Cohesion: 0.20
|
||||
Nodes (8): GetVideosQueryDto, ApiPropertyOptional, IsBoolean, IsOptional, Transform, Module, VideosModule, VideoQuery
|
||||
|
||||
### Community 177 - "RegisterDto"
|
||||
Cohesion: 0.22
|
||||
Nodes (8): RegisterDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsOptional, IsString, MinLength
|
||||
|
||||
### Community 178 - "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina, ۱. معماری و نقشهای کاربری (User Roles), ۲. ماتریس جریانها و قابلیتهای کاربرمحور (Feature & Flow Matrix), ۳. وضعیت پوشش نهایی سوئیت ۱۱گانه (Final 11 Test Suites Status), ۴. راهنمای نگهداری و افزودن فیچرهای جدید بدون شکستن تستها (Developer Maintenance Guide)
|
||||
|
||||
### Community 179 - "PaginationDto"
|
||||
Cohesion: 0.06
|
||||
Nodes (27): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional (+19 more)
|
||||
Cohesion: 0.05
|
||||
Nodes (24): AdminModule, Module, CategoryQuery, PetQuery, PetsService, Injectable, SslCertInfo, Injectable (+16 more)
|
||||
|
||||
### Community 180 - "API Contract Specification"
|
||||
Cohesion: 0.50
|
||||
@ -1032,8 +1058,8 @@ Cohesion: 0.50
|
||||
Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content)
|
||||
|
||||
### Community 184 - "RedisService"
|
||||
Cohesion: 0.07
|
||||
Nodes (13): ApiExcludeController, AuthService, Injectable, MetricsController, Controller, Get, Res, normalizeMobile() (+5 more)
|
||||
Cohesion: 0.15
|
||||
Nodes (5): RedisModule, Global, Module, RedisService, Injectable
|
||||
|
||||
### Community 191 - "graphify reference: add a URL and watch a folder"
|
||||
Cohesion: 0.50
|
||||
@ -1059,9 +1085,13 @@ Nodes (3): Expanding the ESLint configuration, React Compiler, React + TypeScrip
|
||||
Cohesion: 0.50
|
||||
Nodes (3): Select, SelectOption, SelectProps
|
||||
|
||||
### Community 197 - "wiki/page.tsx"
|
||||
Cohesion: 0.40
|
||||
Nodes (3): generateMetadata(), formatIngredientDisplayName(), IngredientWiki()
|
||||
### Community 197 - "SmsLogQueryDto"
|
||||
Cohesion: 0.25
|
||||
Nodes (7): SmsLogQueryDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type
|
||||
|
||||
### Community 199 - "VerifyOtpDto"
|
||||
Cohesion: 0.29
|
||||
Nodes (6): ApiProperty, IsNotEmpty, IsString, Matches, VerifyOtpDto, Length
|
||||
|
||||
### Community 200 - "application/README.md"
|
||||
Cohesion: 0.50
|
||||
@ -1079,6 +1109,10 @@ Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Managem
|
||||
Cohesion: 0.67
|
||||
Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font
|
||||
|
||||
### Community 232 - "SendOtpDto"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): SendOtpDto, ApiProperty, IsNotEmpty, IsString, Matches
|
||||
|
||||
### Community 298 - ".initiateOrderPayment"
|
||||
Cohesion: 0.18
|
||||
Nodes (10): ApiPropertyOptional, IsOptional, IsString, ZibalCallbackQueryDto, ApiBadRequestResponse, ApiOkResponse, Req, Res (+2 more)
|
||||
@ -1091,25 +1125,29 @@ Nodes (17): maxWidthClasses, Modal(), ModalProps, ContactInfoItem, ContactSubmis
|
||||
Cohesion: 0.83
|
||||
Nodes (3): GET(), handleRevalidate(), POST()
|
||||
|
||||
### Community 323 - "PodcastPlayerModal.tsx"
|
||||
Cohesion: 0.40
|
||||
Nodes (3): PLAYBACK_RATES, PodcastPlayerModal(), PodcastPlayerModalProps
|
||||
|
||||
## Knowledge Gaps
|
||||
- **1335 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1330 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **114 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
- **117 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `auth.service.ts`, `PetsController`, `HomeController`, `UsersService`, `RevalidationService`, `PaginationDto`, `OrdersService`?**
|
||||
- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `PetsController`, `WikiController`, `HomeController`, `UsersService`, `ProductsService`, `OrdersService`?**
|
||||
_High betweenness centrality (0.086) - this node is a cross-community bridge._
|
||||
- **Why does `Roles()` connect `Roles` to `WholesaleService`, `B2BService`, `SmsService`, `FaqService`, `CmsController`, `tickets.controller.ts`, `SslController`, `BannersService`, `ReviewsService`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `RevalidationService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`, `PaymentService`?**
|
||||
- **Why does `Roles()` connect `Roles` to `WholesaleService`, `B2BService`, `SmsService`, `FaqService`, `CmsController`, `TicketsService`, `SslController`, `BannersService`, `ReviewsController`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `ProductsService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`, `PaymentService`?**
|
||||
_High betweenness centrality (0.067) - this node is a cross-community bridge._
|
||||
- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `admin.module.ts`, `auth.service.ts`, `CmsController`, `tickets.controller.ts`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `UsersService`, `PaginationDto`, `RevalidationService`, `CreateVideoDto`, `OrdersService`?**
|
||||
- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `auth.controller.ts`, `CmsController`, `ReportsController`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `UsersService`, `PaginationDto`, `orders.service.ts`, `ProductsService`, `videos.controller.ts`?**
|
||||
_High betweenness centrality (0.034) - this node is a cross-community bridge._
|
||||
- **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?**
|
||||
_1335 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `app.module.ts` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.07529411764705882 - nodes in this community are weakly interconnected._
|
||||
- **Should `SmsService` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.05287128712871287 - nodes in this community are weakly interconnected._
|
||||
_Cohesion score 0.05586477015048444 - nodes in this community are weakly interconnected._
|
||||
- **Should `ProductService` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.06654567453115548 - nodes in this community are weakly interconnected._
|
||||
_Cohesion score 0.06229508196721312 - nodes in this community are weakly interconnected._
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,23 +1,23 @@
|
||||
# Graph Report - canina (2026-08-26)
|
||||
|
||||
## Corpus Check
|
||||
- 586 files · ~1,331,607 words
|
||||
- 586 files · ~1,332,142 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 4107 nodes · 7399 edges · 328 communities (211 shown, 117 thin omitted)
|
||||
- 4107 nodes · 7401 edges · 302 communities (209 shown, 93 thin omitted)
|
||||
- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 281 edges (avg confidence: 0.79)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `aa0dde6a`
|
||||
- Built from commit: `41f7e98d`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
## Community Hubs (Navigation)
|
||||
- Roles
|
||||
- app.module.ts
|
||||
- SmsService
|
||||
- SettingsController
|
||||
- ProductService
|
||||
- useSettingsStore
|
||||
- CmsController
|
||||
@ -28,7 +28,7 @@
|
||||
- ReviewsController
|
||||
- MediaSelector.tsx
|
||||
- index.ts
|
||||
- app-audit-verification.e2e-spec.js
|
||||
- main.ts
|
||||
- BlogsService
|
||||
- src/services/api.ts
|
||||
- DoctorQueryDto
|
||||
@ -36,7 +36,7 @@
|
||||
- JwtAuthGuard
|
||||
- ProductsService
|
||||
- CreateVideoDto
|
||||
- userStore.ts
|
||||
- admin.module.ts
|
||||
- PetProfile.tsx
|
||||
- MenuService
|
||||
- BE-001
|
||||
@ -69,7 +69,7 @@
|
||||
- BlogsController
|
||||
- PrescriptionsService
|
||||
- SmartAdvisorService
|
||||
- CreateReviewDto
|
||||
- RevalidationService
|
||||
- UITexts.tsx
|
||||
- Orders.tsx
|
||||
- Role & Core Objective
|
||||
@ -105,10 +105,10 @@
|
||||
- dependencies
|
||||
- CreateEBankCheckoutDto
|
||||
- seed-products.ts
|
||||
- useUserStore
|
||||
- ClientLayout.tsx
|
||||
- Reconciled Audit Roles & Assignments
|
||||
- OrdersService
|
||||
- @nestjs/schematics
|
||||
- SettingsService
|
||||
- Phase 3.1 — Human Review Preparation and Master Backlog Critique
|
||||
- blog/[slug]/page.tsx
|
||||
- compilerOptions
|
||||
@ -137,13 +137,13 @@
|
||||
- compilerOptions
|
||||
- compilerOptions
|
||||
- backend/README.md
|
||||
- AdminService
|
||||
- AdminController
|
||||
- auth.service.ts
|
||||
- Repository Map
|
||||
- validate_integrity.js
|
||||
- admin-panel/package.json
|
||||
- Sahel-Font
|
||||
- AdminController
|
||||
- AdminService
|
||||
- auth.controller.ts
|
||||
- Sahel-Font
|
||||
- Role & Core Objective
|
||||
@ -162,17 +162,17 @@
|
||||
- @testing-library/react
|
||||
- admin.service.ts
|
||||
- System Discovery
|
||||
- orders.service.ts
|
||||
- class-transformer
|
||||
- SmsService
|
||||
- app-audit-verification.e2e-spec.js
|
||||
- SmsSettingsPage.tsx
|
||||
- Product Requirement Document (PRD)
|
||||
- @types/react-dom
|
||||
- useCartStore
|
||||
- CreateOrderDto
|
||||
- lib/services/api.ts
|
||||
- exclude
|
||||
- Baseline Command Plan & Reconciled Command History
|
||||
- seo-backfill.ts
|
||||
- ErrorPages.tsx
|
||||
- helmet
|
||||
- CustomHttpExceptionFilter
|
||||
- with-vpn.sh
|
||||
- Architecture Specification
|
||||
- Project Health Audit Report
|
||||
@ -190,8 +190,8 @@
|
||||
- Phase 3 Audit Traceability Matrix
|
||||
- rebuild_honest_ledger.js
|
||||
- validate_evidence_grade.js
|
||||
- videos.controller.ts
|
||||
- RegisterDto
|
||||
- settings.service.ts
|
||||
- @eslint/js
|
||||
- نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina
|
||||
- PaginationDto
|
||||
- API Contract Specification
|
||||
@ -199,7 +199,7 @@
|
||||
- 🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)
|
||||
- 🚀 SEO & Content Strategy Review (12_seo_content)
|
||||
- RedisService
|
||||
- js-yaml
|
||||
- @types/node
|
||||
- seed-ui-texts.ts
|
||||
- seed-wiki.ts
|
||||
- update-blog.dto.ts
|
||||
@ -212,13 +212,12 @@
|
||||
- React + TypeScript + Vite
|
||||
- Select.tsx
|
||||
- SmsLogQueryDto
|
||||
- @nestjs/core
|
||||
- eslint-config-next
|
||||
- VerifyOtpDto
|
||||
- application/README.md
|
||||
- deploy.sh
|
||||
- 🔒 Security & Performance Review (09_devops_security)
|
||||
- 👁️ UX & Persona Interface Review (08_visual_qa)
|
||||
- eslint-config-prettier
|
||||
- prisma/scientificTerms.ts
|
||||
- seed-blogs.ts
|
||||
- seed-custom.ts
|
||||
@ -237,7 +236,6 @@
|
||||
- Input.tsx
|
||||
- Textarea.tsx
|
||||
- admin-panel/tsconfig.json
|
||||
- @nestjs/jwt
|
||||
- jest
|
||||
- next.config.ts
|
||||
- Shabnam Font README
|
||||
@ -245,15 +243,7 @@
|
||||
- rules/graphify.md
|
||||
- .agents/workflows/graphify.md
|
||||
- instructions.md
|
||||
- @nestjs/throttler
|
||||
- SendOtpDto
|
||||
- tailwindcss
|
||||
- passport
|
||||
- reflect-metadata
|
||||
- swagger-ui-express
|
||||
- @eslint/eslintrc
|
||||
- prisma
|
||||
- source-map-support
|
||||
- supertest
|
||||
- blog.entity.ts
|
||||
- home.entity.ts
|
||||
@ -274,11 +264,7 @@
|
||||
- start.sh
|
||||
- User Login API
|
||||
- User Logout API
|
||||
- ts-loader
|
||||
- @testing-library/jest-dom
|
||||
- ts-node
|
||||
- tsconfig-paths
|
||||
- @types/bcrypt
|
||||
- eslint-plugin-react-hooks
|
||||
- Canina Pharma GmbH
|
||||
- Pets Table
|
||||
@ -300,30 +286,18 @@
|
||||
- .initiateOrderPayment
|
||||
- @tailwindcss/postcss
|
||||
- typescript
|
||||
- @types/compression
|
||||
- typescript-eslint
|
||||
- @types/express
|
||||
- @types/jest
|
||||
- @types/react
|
||||
- globals
|
||||
- @nestjs/cli
|
||||
- vitest
|
||||
- @types/multer
|
||||
- @types/passport-jwt
|
||||
- Modal.tsx
|
||||
- @nestjs/testing
|
||||
- typescript
|
||||
- prettier
|
||||
- revalidate/route.ts
|
||||
- MaskableField.tsx
|
||||
- ts-jest
|
||||
- @types/js-yaml
|
||||
- @types/supertest
|
||||
- typescript-eslint
|
||||
- PodcastPlayerModal.tsx
|
||||
- catalog/page.tsx
|
||||
- bcrypt
|
||||
- eslint
|
||||
- eslint-plugin-react-refresh
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
@ -351,23 +325,23 @@
|
||||
backend/src/orders/orders.controller.ts → frontend/admin-panel/src/types/admin.ts
|
||||
|
||||
## Import Cycles
|
||||
- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/services/authService.ts -> frontend/application/lib/services/api.ts`
|
||||
- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/api.ts`
|
||||
- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/services/authService.ts -> frontend/application/lib/services/api.ts`
|
||||
- 4-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/orderService.ts -> frontend/application/lib/services/api.ts`
|
||||
|
||||
## Communities (328 total, 117 thin omitted)
|
||||
## Communities (302 total, 93 thin omitted)
|
||||
|
||||
### Community 0 - "Roles"
|
||||
Cohesion: 0.23
|
||||
Cohesion: 0.24
|
||||
Nodes (13): Roles(), PaymentController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get (+5 more)
|
||||
|
||||
### Community 1 - "app.module.ts"
|
||||
Cohesion: 0.08
|
||||
Nodes (34): B2BModule, Module, BannersModule, Module, CmsModule, Module, SmsModule, Global (+26 more)
|
||||
Cohesion: 0.07
|
||||
Nodes (36): B2BModule, Module, BannersModule, Module, CmsModule, Module, SmsModule, Global (+28 more)
|
||||
|
||||
### Community 2 - "SmsService"
|
||||
Cohesion: 0.06
|
||||
Nodes (23): SmsLogQuery, SmsService, Injectable, DEFAULT_UI_TEXTS, SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation (+15 more)
|
||||
### Community 2 - "SettingsController"
|
||||
Cohesion: 0.17
|
||||
Nodes (15): SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller, Delete (+7 more)
|
||||
|
||||
### Community 3 - "ProductService"
|
||||
Cohesion: 0.06
|
||||
@ -375,7 +349,7 @@ Nodes (34): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynami
|
||||
|
||||
### Community 4 - "useSettingsStore"
|
||||
Cohesion: 0.07
|
||||
Nodes (34): B2BLandingClient(), BlogPost, BlogPreviewSection(), ContactInfoItem, FAQItem, FAQSection(), OrderDetailsModalProps, PLAYBACK_RATES (+26 more)
|
||||
Nodes (31): B2BLandingClient(), BlogPost, BlogPreviewSection(), ContactInfoItem, FAQItem, FAQSection(), OrderDetailsModalProps, PLAYBACK_RATES (+23 more)
|
||||
|
||||
### Community 5 - "CmsController"
|
||||
Cohesion: 0.09
|
||||
@ -394,8 +368,8 @@ Cohesion: 0.14
|
||||
Nodes (11): ReportsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Get, Query (+3 more)
|
||||
|
||||
### Community 9 - "devDependencies"
|
||||
Cohesion: 0.22
|
||||
Nodes (9): devDependencies, @eslint/js, @types/bcryptjs, @types/node, typescript, @eslint/js, @types/node, typescript (+1 more)
|
||||
Cohesion: 0.05
|
||||
Nodes (43): devDependencies, eslint, eslint-config-prettier, @eslint/eslintrc, @nestjs/schematics, @nestjs/testing, prisma, source-map-support (+35 more)
|
||||
|
||||
### Community 10 - "ReviewsController"
|
||||
Cohesion: 0.14
|
||||
@ -409,13 +383,9 @@ Nodes (33): ConfirmModal(), ConfirmModalProps, getFileType(), Media, MediaSelect
|
||||
Cohesion: 0.06
|
||||
Nodes (24): backend, frontend, playwright.config.ts, @playwright/test, tests/**/*.ts, authFile, test, compilerOptions (+16 more)
|
||||
|
||||
### Community 13 - "app-audit-verification.e2e-spec.js"
|
||||
Cohesion: 0.06
|
||||
Nodes (28): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter (+20 more)
|
||||
|
||||
### Community 14 - "BlogsService"
|
||||
Cohesion: 0.07
|
||||
Nodes (7): BlogsService, Injectable, RevalidationModule, Global, Module, RevalidationService, Injectable
|
||||
### Community 13 - "main.ts"
|
||||
Cohesion: 0.11
|
||||
Nodes (12): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), PrismaExceptionFilter (+4 more)
|
||||
|
||||
### Community 15 - "src/services/api.ts"
|
||||
Cohesion: 0.08
|
||||
@ -434,20 +404,20 @@ Cohesion: 0.19
|
||||
Nodes (7): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, UserReqPayload
|
||||
|
||||
### Community 19 - "ProductsService"
|
||||
Cohesion: 0.10
|
||||
Nodes (19): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, ProductsController, ApiOperation, ApiTags (+11 more)
|
||||
Cohesion: 0.11
|
||||
Nodes (14): ProductsController, ApiOperation, ApiTags, Body, Controller, Get, Param, Patch (+6 more)
|
||||
|
||||
### Community 20 - "CreateVideoDto"
|
||||
Cohesion: 0.09
|
||||
Nodes (24): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+16 more)
|
||||
|
||||
### Community 21 - "userStore.ts"
|
||||
Cohesion: 0.12
|
||||
Nodes (8): ApiErr, AuthResponse, AuthService, User, Transaction, UserProfile, UserRole, UserStore
|
||||
### Community 21 - "admin.module.ts"
|
||||
Cohesion: 0.10
|
||||
Nodes (9): AdminModule, Module, PetQuery, PetsService, Injectable, SslCertInfo, Injectable, WikiQuery (+1 more)
|
||||
|
||||
### Community 22 - "PetProfile.tsx"
|
||||
Cohesion: 0.09
|
||||
Nodes (20): FeaturedProducts(), ProductCard(), OrderSuccess(), PetProfile(), PrescriptionUploadModal(), PrescriptionUploadModalProps, SearchResultsPage(), OrderRowSkeleton() (+12 more)
|
||||
Cohesion: 0.08
|
||||
Nodes (25): ClientLayout(), FeaturedProducts(), ProductCard(), OrderSuccess(), PetProfile(), SearchResultsPage(), OrderRowSkeleton(), PetProfileSkeleton() (+17 more)
|
||||
|
||||
### Community 23 - "MenuService"
|
||||
Cohesion: 0.11
|
||||
@ -498,7 +468,7 @@ Cohesion: 0.12
|
||||
Nodes (16): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+8 more)
|
||||
|
||||
### Community 35 - "AuthController"
|
||||
Cohesion: 0.23
|
||||
Cohesion: 0.25
|
||||
Nodes (13): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+5 more)
|
||||
|
||||
### Community 36 - "FaqService"
|
||||
@ -559,7 +529,7 @@ Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, glo
|
||||
|
||||
### Community 50 - "devDependencies"
|
||||
Cohesion: 0.13
|
||||
Nodes (15): eslint-config-next, devDependencies, eslint, eslint-config-next, jsdom, tailwindcss, @tailwindcss/postcss, @types/node (+7 more)
|
||||
Nodes (15): devDependencies, eslint, jsdom, tailwindcss, @tailwindcss/postcss, @types/node, @types/react-dom, @vitejs/plugin-react (+7 more)
|
||||
|
||||
### Community 51 - "BlogsController"
|
||||
Cohesion: 0.14
|
||||
@ -573,9 +543,9 @@ Nodes (14): PrescriptionsController, ApiBearerAuth, ApiOperation, ApiTags, Body,
|
||||
Cohesion: 0.13
|
||||
Nodes (14): SmartAdvisorController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||
|
||||
### Community 54 - "CreateReviewDto"
|
||||
Cohesion: 0.11
|
||||
Nodes (15): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ApiProperty (+7 more)
|
||||
### Community 54 - "RevalidationService"
|
||||
Cohesion: 0.07
|
||||
Nodes (25): RevalidationModule, Global, Module, RevalidationService, Injectable, GetProductsDto, ApiPropertyOptional, IsEnum (+17 more)
|
||||
|
||||
### Community 55 - "UITexts.tsx"
|
||||
Cohesion: 0.09
|
||||
@ -606,8 +576,8 @@ Cohesion: 0.22
|
||||
Nodes (7): ProductDto, ApiPropertyOptional, IsArray, IsBoolean, IsNumber, IsOptional, IsString
|
||||
|
||||
### Community 63 - "dependencies"
|
||||
Cohesion: 0.09
|
||||
Nodes (23): dependencies, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport, @nestjs/platform-express (+15 more)
|
||||
Cohesion: 0.05
|
||||
Nodes (43): dependencies, bcrypt, bcryptjs, class-transformer, class-validator, compression, helmet, ioredis (+35 more)
|
||||
|
||||
### Community 64 - "compilerOptions"
|
||||
Cohesion: 0.10
|
||||
@ -622,12 +592,12 @@ Cohesion: 0.19
|
||||
Nodes (6): ApiQuery, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
|
||||
|
||||
### Community 67 - "PetsController"
|
||||
Cohesion: 0.17
|
||||
Cohesion: 0.15
|
||||
Nodes (11): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+3 more)
|
||||
|
||||
### Community 68 - "UserDashboard.tsx"
|
||||
Cohesion: 0.11
|
||||
Nodes (30): AuthModal, VerifyContent(), AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), AuthModal() (+22 more)
|
||||
Nodes (32): AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), AuthModal(), AuthModalProps, extractOtpFromText() (+24 more)
|
||||
|
||||
### Community 69 - "Required Review Group Closures"
|
||||
Cohesion: 0.10
|
||||
@ -709,17 +679,17 @@ Nodes (8): CreateEBankCheckoutDto, ApiProperty, ApiPropertyOptional, IsNotEmpty,
|
||||
Cohesion: 0.17
|
||||
Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more)
|
||||
|
||||
### Community 90 - "useUserStore"
|
||||
Cohesion: 0.12
|
||||
Nodes (20): B2BPortal, ClientLayout(), LoginModal, BrandLogo(), BrandLogoProps, Footer(), MENU_ICONS, LoginModal() (+12 more)
|
||||
### Community 90 - "ClientLayout.tsx"
|
||||
Cohesion: 0.09
|
||||
Nodes (13): AuthModal, B2BPortal, LoginModal, BrandLogo(), BrandLogoProps, Footer(), LoginModal(), LoginModalProps (+5 more)
|
||||
|
||||
### Community 91 - "Reconciled Audit Roles & Assignments"
|
||||
Cohesion: 0.12
|
||||
Nodes (15): 10. Documentation Engineer, 1. Lead Architect / Orchestrator, 2. React / Vite Storefront Auditor, 3. NestJS Backend Auditor, 4. Admin Features Auditor, 5. Database & Data Integrity Auditor, 6. Security Auditor, 7. TypeScript & Code Quality Auditor (+7 more)
|
||||
|
||||
### Community 92 - "OrdersService"
|
||||
Cohesion: 0.08
|
||||
Nodes (29): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+21 more)
|
||||
Cohesion: 0.10
|
||||
Nodes (18): OrdersController, ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags (+10 more)
|
||||
|
||||
### Community 94 - "Phase 3.1 — Human Review Preparation and Master Backlog Critique"
|
||||
Cohesion: 0.13
|
||||
@ -779,7 +749,7 @@ Nodes (13): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controlle
|
||||
|
||||
### Community 108 - "PrismaService"
|
||||
Cohesion: 0.06
|
||||
Nodes (25): ApiExcludeController, MetricsController, Controller, Get, Res, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions (+17 more)
|
||||
Nodes (27): ApiExcludeController, CategoryQuery, MetricsController, Controller, Get, Res, MeliPayamakPattern, MeliPayamakResponse (+19 more)
|
||||
|
||||
### Community 109 - "1. Summary of Integrity Repairs Performed"
|
||||
Cohesion: 0.17
|
||||
@ -833,13 +803,13 @@ Nodes (9): compilerOptions, esModuleInterop, module, moduleResolution, skipLibCh
|
||||
Cohesion: 0.20
|
||||
Nodes (9): Compile and run the project, Deployment, Description, License, Project setup, Resources, Run tests, Stay in touch (+1 more)
|
||||
|
||||
### Community 122 - "AdminService"
|
||||
Cohesion: 0.13
|
||||
Nodes (5): Delete, Param, Put, AdminService, Injectable
|
||||
### Community 122 - "AdminController"
|
||||
Cohesion: 0.12
|
||||
Nodes (8): AdminController, ApiBearerAuth, ApiTags, Controller, Delete, Param, Put, UseGuards
|
||||
|
||||
### Community 123 - "auth.service.ts"
|
||||
Cohesion: 0.17
|
||||
Nodes (6): AdminLoginInput, AuthService, LoginInput, RegisterInput, Injectable, normalizeMobile()
|
||||
Cohesion: 0.12
|
||||
Nodes (11): AdminLoginInput, AuthService, LoginInput, RegisterInput, Injectable, SendOtpDto, ApiProperty, IsNotEmpty (+3 more)
|
||||
|
||||
### Community 124 - "Repository Map"
|
||||
Cohesion: 0.20
|
||||
@ -857,13 +827,13 @@ Nodes (9): name, private, scripts, build, dev, lint, preview, type (+1 more)
|
||||
Cohesion: 0.20
|
||||
Nodes (9): Arch Linux, Contributors, Install, Known problems for variable version, License, Sahel-Font, To Do (variable), طریقه استفاده از نسخه متغیر variable (+1 more)
|
||||
|
||||
### Community 128 - "AdminController"
|
||||
Cohesion: 0.18
|
||||
Nodes (7): AdminController, ApiBearerAuth, ApiTags, Body, Controller, Post, UseGuards
|
||||
### Community 128 - "AdminService"
|
||||
Cohesion: 0.19
|
||||
Nodes (4): Body, Post, AdminService, Injectable
|
||||
|
||||
### Community 129 - "auth.controller.ts"
|
||||
Cohesion: 0.16
|
||||
Nodes (11): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength, LoginDto, ApiProperty (+3 more)
|
||||
Cohesion: 0.10
|
||||
Nodes (19): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength, LoginDto, ApiProperty (+11 more)
|
||||
|
||||
### Community 130 - "Sahel-Font"
|
||||
Cohesion: 0.20
|
||||
@ -929,9 +899,9 @@ Nodes (13): CouponInput, CouponTargetInput, PaginationQuery, CreateUserDto, ApiP
|
||||
Cohesion: 0.25
|
||||
Nodes (7): Active Core Applications, Current Architecture, Evidence-Based Status Matrix, Excluded / Non-Auditable Artifacts, Major Business Domains Discovered, System Discovery, Technical Architecture Summary
|
||||
|
||||
### Community 147 - "orders.service.ts"
|
||||
Cohesion: 0.24
|
||||
Nodes (6): IsNotEmpty, IsNumber, IsString, ValidateCouponDto, OrdersModule, Module
|
||||
### Community 148 - "app-audit-verification.e2e-spec.js"
|
||||
Cohesion: 0.17
|
||||
Nodes (11): app_module_1, client_1, common_1, decimal_interceptor_1, fs, http_exception_filter_1, jwt_1, path (+3 more)
|
||||
|
||||
### Community 149 - "SmsSettingsPage.tsx"
|
||||
Cohesion: 0.29
|
||||
@ -941,9 +911,13 @@ Nodes (7): PatternItem, SmsConfigState, SmsLogItem, SmsLogStats, SmsSettingsPage
|
||||
Cohesion: 0.29
|
||||
Nodes (6): 1. Executive Vision, 2. Target Audience, 3. Functional Requirements, 4. Non-Functional Requirements (Performance, Security), 5. Epic / Feature Breakdown, Product Requirement Document (PRD)
|
||||
|
||||
### Community 152 - "useCartStore"
|
||||
Cohesion: 0.10
|
||||
Nodes (15): CartDrawer, B2BPortal(), CartDrawer(), DeleteConfirmModal(), DeleteConfirmModalProps, Header(), OrderTracking(), mockProduct (+7 more)
|
||||
### Community 151 - "CreateOrderDto"
|
||||
Cohesion: 0.22
|
||||
Nodes (11): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+3 more)
|
||||
|
||||
### Community 152 - "lib/services/api.ts"
|
||||
Cohesion: 0.08
|
||||
Nodes (29): CartDrawer, VerifyContent(), B2BPortal(), CartDrawer(), DeleteConfirmModal(), DeleteConfirmModalProps, Header(), MENU_ICONS (+21 more)
|
||||
|
||||
### Community 153 - "exclude"
|
||||
Cohesion: 0.22
|
||||
@ -957,6 +931,10 @@ Nodes (6): Attempted Command Execution Log, Backend `backend/package.json` Scrip
|
||||
Cohesion: 0.67
|
||||
Nodes (3): prisma, runSeoBackfill(), stripHtml()
|
||||
|
||||
### Community 158 - "CustomHttpExceptionFilter"
|
||||
Cohesion: 0.29
|
||||
Nodes (5): CustomHttpExceptionFilter, Catch, ApiErrorResponse, ErrorDetailField, ApiProperty
|
||||
|
||||
### Community 159 - "with-vpn.sh"
|
||||
Cohesion: 0.62
|
||||
Nodes (6): cleanup(), log(), with-vpn.sh script, start_vpn(), stop_vpn(), vpn_is_up()
|
||||
@ -1025,21 +1003,17 @@ Nodes (4): evidenceList, ledger, mandatoryMap, mandatoryScope
|
||||
Cohesion: 0.40
|
||||
Nodes (4): activeFiles, errors, validationOutput, warnings
|
||||
|
||||
### Community 176 - "videos.controller.ts"
|
||||
Cohesion: 0.20
|
||||
Nodes (8): GetVideosQueryDto, ApiPropertyOptional, IsBoolean, IsOptional, Transform, Module, VideosModule, VideoQuery
|
||||
|
||||
### Community 177 - "RegisterDto"
|
||||
Cohesion: 0.22
|
||||
Nodes (8): RegisterDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsOptional, IsString, MinLength
|
||||
### Community 176 - "settings.service.ts"
|
||||
Cohesion: 0.25
|
||||
Nodes (4): SmsLogQuery, DEFAULT_UI_TEXTS, CANONICAL_ALIASES, ScientificTermData
|
||||
|
||||
### Community 178 - "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina, ۱. معماری و نقشهای کاربری (User Roles), ۲. ماتریس جریانها و قابلیتهای کاربرمحور (Feature & Flow Matrix), ۳. وضعیت پوشش نهایی سوئیت ۱۱گانه (Final 11 Test Suites Status), ۴. راهنمای نگهداری و افزودن فیچرهای جدید بدون شکستن تستها (Developer Maintenance Guide)
|
||||
|
||||
### Community 179 - "PaginationDto"
|
||||
Cohesion: 0.05
|
||||
Nodes (24): AdminModule, Module, CategoryQuery, PetQuery, PetsService, Injectable, SslCertInfo, Injectable (+16 more)
|
||||
Cohesion: 0.06
|
||||
Nodes (25): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional (+17 more)
|
||||
|
||||
### Community 180 - "API Contract Specification"
|
||||
Cohesion: 0.50
|
||||
@ -1109,10 +1083,6 @@ Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Managem
|
||||
Cohesion: 0.67
|
||||
Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font
|
||||
|
||||
### Community 232 - "SendOtpDto"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): SendOtpDto, ApiProperty, IsNotEmpty, IsString, Matches
|
||||
|
||||
### Community 298 - ".initiateOrderPayment"
|
||||
Cohesion: 0.18
|
||||
Nodes (10): ApiPropertyOptional, IsOptional, IsString, ZibalCallbackQueryDto, ApiBadRequestResponse, ApiOkResponse, Req, Res (+2 more)
|
||||
@ -1125,29 +1095,25 @@ Nodes (17): maxWidthClasses, Modal(), ModalProps, ContactInfoItem, ContactSubmis
|
||||
Cohesion: 0.83
|
||||
Nodes (3): GET(), handleRevalidate(), POST()
|
||||
|
||||
### Community 323 - "PodcastPlayerModal.tsx"
|
||||
Cohesion: 0.40
|
||||
Nodes (3): PLAYBACK_RATES, PodcastPlayerModal(), PodcastPlayerModalProps
|
||||
|
||||
## Knowledge Gaps
|
||||
- **1335 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1330 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **117 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
- **93 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `PetsController`, `WikiController`, `HomeController`, `UsersService`, `ProductsService`, `OrdersService`?**
|
||||
_High betweenness centrality (0.086) - this node is a cross-community bridge._
|
||||
- **Why does `Roles()` connect `Roles` to `WholesaleService`, `B2BService`, `SmsService`, `FaqService`, `CmsController`, `TicketsService`, `SslController`, `BannersService`, `ReviewsController`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `ProductsService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`, `PaymentService`?**
|
||||
- **Why does `Roles()` connect `Roles` to `WholesaleService`, `B2BService`, `SettingsController`, `FaqService`, `CmsController`, `TicketsService`, `SslController`, `BannersService`, `ReviewsController`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `ProductsService`, `PrescriptionsService`, `SmartAdvisorService`, `RevalidationService`, `MenuService`, `ContactService`?**
|
||||
_High betweenness centrality (0.067) - this node is a cross-community bridge._
|
||||
- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `auth.controller.ts`, `CmsController`, `ReportsController`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `UsersService`, `PaginationDto`, `orders.service.ts`, `ProductsService`, `videos.controller.ts`?**
|
||||
- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `auth.controller.ts`, `CmsController`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `UsersService`, `PaginationDto`, `admin.module.ts`, `RevalidationService`?**
|
||||
_High betweenness centrality (0.034) - this node is a cross-community bridge._
|
||||
- **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?**
|
||||
_1335 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `app.module.ts` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.07529411764705882 - nodes in this community are weakly interconnected._
|
||||
- **Should `SmsService` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.05586477015048444 - nodes in this community are weakly interconnected._
|
||||
_Cohesion score 0.06988120195667366 - nodes in this community are weakly interconnected._
|
||||
- **Should `ProductService` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.06229508196721312 - nodes in this community are weakly interconnected._
|
||||
_Cohesion score 0.06229508196721312 - nodes in this community are weakly interconnected._
|
||||
- **Should `useSettingsStore` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.07390648567119155 - nodes in this community are weakly interconnected._
|
||||
2
graphify-out/cache/stat-index.json
vendored
2
graphify-out/cache/stat-index.json
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user