fix(media): resolve 400 Bad Request on next/image proxy, add auto scroll to top on route change, disable swagger in prod, and fix dev ports
This commit is contained in:
parent
2d54fc8208
commit
c7d7ac3aa3
@ -101,10 +101,10 @@ async function bootstrap() {
|
|||||||
|
|
||||||
app.useGlobalInterceptors(new DecimalInterceptor());
|
app.useGlobalInterceptors(new DecimalInterceptor());
|
||||||
|
|
||||||
const isProduction = process.env.NODE_ENV === 'production';
|
const isExplicitProduction = process.env.NODE_ENV === 'production';
|
||||||
const enableSwagger = process.env.ENABLE_SWAGGER === 'true';
|
const enableSwagger = process.env.ENABLE_SWAGGER === 'true';
|
||||||
|
|
||||||
if (!isProduction || enableSwagger) {
|
if (!isExplicitProduction && enableSwagger !== false) {
|
||||||
const config = new DocumentBuilder()
|
const config = new DocumentBuilder()
|
||||||
.setTitle('Canina Iran API')
|
.setTitle('Canina Iran API')
|
||||||
.setDescription(
|
.setDescription(
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --port 5050 --host 127.0.0.1",
|
"dev": "vite --port 3100 --host 127.0.0.1",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
|
|||||||
@ -57,27 +57,10 @@ export default function ClientLayout({ children }: { children: React.ReactNode }
|
|||||||
}
|
}
|
||||||
}, [fetchProfile, fetchSettings]);
|
}, [fetchProfile, fetchSettings]);
|
||||||
|
|
||||||
// Handle scroll position tracking per pathname for reliable mobile back navigation
|
// Scroll to top on navigation / pathname change
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (typeof window === 'undefined') return;
|
if (typeof window === 'undefined') return;
|
||||||
|
window.scrollTo({ top: 0, left: 0, behavior: 'instant' });
|
||||||
const key = `scroll_pos_${pathname}`;
|
|
||||||
const savedPos = sessionStorage.getItem(key);
|
|
||||||
if (savedPos !== null) {
|
|
||||||
const targetY = parseInt(savedPos, 10);
|
|
||||||
requestAnimationFrame(() => {
|
|
||||||
window.scrollTo({ top: targetY, behavior: 'instant' });
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleScroll = () => {
|
|
||||||
sessionStorage.setItem(`scroll_pos_${pathname}`, window.scrollY.toString());
|
|
||||||
};
|
|
||||||
|
|
||||||
window.addEventListener('scroll', handleScroll, { passive: true });
|
|
||||||
return () => {
|
|
||||||
window.removeEventListener('scroll', handleScroll);
|
|
||||||
};
|
|
||||||
}, [pathname]);
|
}, [pathname]);
|
||||||
|
|
||||||
// Check Maintenance Mode (Admin / Partner bypass)
|
// Check Maintenance Mode (Admin / Partner bypass)
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import { toPersian } from "../lib/utils";
|
|||||||
import { useSettingsStore } from "../lib/store/settingsStore";
|
import { useSettingsStore } from "../lib/store/settingsStore";
|
||||||
import { useRouter } from 'next/navigation';
|
import { useRouter } from 'next/navigation';
|
||||||
import { Banner } from "../lib/types";
|
import { Banner } from "../lib/types";
|
||||||
|
import { getMediaUrl } from "../lib/media";
|
||||||
|
|
||||||
function StatCounter({ target }: { target: number }) {
|
function StatCounter({ target }: { target: number }) {
|
||||||
const [displayValue, setDisplayValue] = useState(0);
|
const [displayValue, setDisplayValue] = useState(0);
|
||||||
@ -197,7 +198,7 @@ export default function Hero({ banners = [], onShopNavigate }: { banners?: Banne
|
|||||||
heroBanners.map((banner, idx) => (
|
heroBanners.map((banner, idx) => (
|
||||||
<motion.img
|
<motion.img
|
||||||
key={banner.imageUrl || idx}
|
key={banner.imageUrl || idx}
|
||||||
src={banner.imageUrl}
|
src={getMediaUrl(banner.imageUrl)}
|
||||||
alt={banner.title || "Canina Pharma Germany"}
|
alt={banner.title || "Canina Pharma Germany"}
|
||||||
initial={false}
|
initial={false}
|
||||||
animate={{
|
animate={{
|
||||||
@ -214,7 +215,7 @@ export default function Hero({ banners = [], onShopNavigate }: { banners?: Banne
|
|||||||
))
|
))
|
||||||
) : activeImageUrl ? (
|
) : activeImageUrl ? (
|
||||||
<img
|
<img
|
||||||
src={activeImageUrl}
|
src={getMediaUrl(activeImageUrl)}
|
||||||
alt={activeBanner?.title || "Canina Pharma Germany"}
|
alt={activeBanner?.title || "Canina Pharma Germany"}
|
||||||
className="absolute inset-0 w-full h-full object-cover"
|
className="absolute inset-0 w-full h-full object-cover"
|
||||||
loading="eager"
|
loading="eager"
|
||||||
|
|||||||
@ -101,7 +101,11 @@ export default function SafeImage({
|
|||||||
loading={priority ? undefined : "lazy"}
|
loading={priority ? undefined : "lazy"}
|
||||||
sizes={sizes}
|
sizes={sizes}
|
||||||
quality={quality}
|
quality={quality}
|
||||||
unoptimized={isBlobOrData || !isAllowedHost}
|
unoptimized={
|
||||||
|
isBlobOrData ||
|
||||||
|
!isAllowedHost ||
|
||||||
|
(typeof src === 'string' && (src.startsWith('/api/uploads/') || src.startsWith('/api/media/') || src.startsWith('/uploads/')))
|
||||||
|
}
|
||||||
className={cn(
|
className={cn(
|
||||||
"transition-all duration-500 w-full h-full object-contain",
|
"transition-all duration-500 w-full h-full object-contain",
|
||||||
imgClassName,
|
imgClassName,
|
||||||
|
|||||||
@ -13,6 +13,11 @@ const nextConfig: NextConfig = {
|
|||||||
images: {
|
images: {
|
||||||
formats: ['image/avif', 'image/webp'],
|
formats: ['image/avif', 'image/webp'],
|
||||||
minimumCacheTTL: 31536000,
|
minimumCacheTTL: 31536000,
|
||||||
|
localPatterns: [
|
||||||
|
{
|
||||||
|
pathname: '/**',
|
||||||
|
},
|
||||||
|
],
|
||||||
remotePatterns: [
|
remotePatterns: [
|
||||||
{
|
{
|
||||||
protocol: 'https',
|
protocol: 'https',
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev -p 4005",
|
"dev": "next dev -p 3000",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
"lint": "eslint"
|
"lint": "eslint"
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"0": "Roles",
|
"0": "Roles",
|
||||||
"1": "app.module.ts",
|
"1": "app.module.ts",
|
||||||
"2": "SettingsService",
|
"2": "PaymentService",
|
||||||
"3": "productService.ts",
|
"3": "productService.ts",
|
||||||
"4": "ProductPage.tsx",
|
"4": "ProductPage.tsx",
|
||||||
"5": "CmsController",
|
"5": "CmsController",
|
||||||
@ -13,14 +13,14 @@
|
|||||||
"11": "MediaSelector.tsx",
|
"11": "MediaSelector.tsx",
|
||||||
"12": "index.ts",
|
"12": "index.ts",
|
||||||
"13": "app-audit-verification.e2e-spec.js",
|
"13": "app-audit-verification.e2e-spec.js",
|
||||||
"14": "userStore.ts",
|
"14": "toPersian",
|
||||||
"15": "src/services/api.ts",
|
"15": "src/services/api.ts",
|
||||||
"16": "DoctorQueryDto",
|
"16": "DoctorQueryDto",
|
||||||
"17": "schema.ts",
|
"17": "schema.ts",
|
||||||
"18": "JwtAuthGuard",
|
"18": "JwtAuthGuard",
|
||||||
"19": "ProductsService",
|
"19": "ProductsController",
|
||||||
"20": "CreateVideoDto",
|
"20": "CreateVideoDto",
|
||||||
"21": "admin.module.ts",
|
"21": "ReportsController",
|
||||||
"22": "RevalidationService",
|
"22": "RevalidationService",
|
||||||
"23": "MenuService",
|
"23": "MenuService",
|
||||||
"24": "BE-001",
|
"24": "BE-001",
|
||||||
@ -32,7 +32,7 @@
|
|||||||
"30": "DEVOPS-001",
|
"30": "DEVOPS-001",
|
||||||
"31": "DOC-001",
|
"31": "DOC-001",
|
||||||
"32": "adminRoutes.tsx",
|
"32": "adminRoutes.tsx",
|
||||||
"33": "WholesaleService",
|
"33": "WholesaleApplyDto",
|
||||||
"34": "B2BService",
|
"34": "B2BService",
|
||||||
"35": "AuthController",
|
"35": "AuthController",
|
||||||
"36": "FaqService",
|
"36": "FaqService",
|
||||||
@ -60,8 +60,8 @@
|
|||||||
"58": "ContactService",
|
"58": "ContactService",
|
||||||
"59": "compilerOptions",
|
"59": "compilerOptions",
|
||||||
"60": "payment.service.ts",
|
"60": "payment.service.ts",
|
||||||
"61": "useCartStore",
|
"61": "ProductsService",
|
||||||
"62": "SmsService",
|
"62": "orderService.ts",
|
||||||
"63": "dependencies",
|
"63": "dependencies",
|
||||||
"64": "compilerOptions",
|
"64": "compilerOptions",
|
||||||
"65": "BlogsService",
|
"65": "BlogsService",
|
||||||
@ -84,7 +84,7 @@
|
|||||||
"82": "scripts",
|
"82": "scripts",
|
||||||
"83": "dependencies",
|
"83": "dependencies",
|
||||||
"84": "Role & Core Objective",
|
"84": "Role & Core Objective",
|
||||||
"85": "useSettingsStore",
|
"85": "ClientLayout.tsx",
|
||||||
"86": "zibal.service.ts",
|
"86": "zibal.service.ts",
|
||||||
"87": "dependencies",
|
"87": "dependencies",
|
||||||
"88": "CreateEBankCheckoutDto",
|
"88": "CreateEBankCheckoutDto",
|
||||||
@ -92,7 +92,7 @@
|
|||||||
"90": "CreateReviewDto",
|
"90": "CreateReviewDto",
|
||||||
"91": "Reconciled Audit Roles & Assignments",
|
"91": "Reconciled Audit Roles & Assignments",
|
||||||
"92": "OrdersService",
|
"92": "OrdersService",
|
||||||
"93": "HomeClient.tsx",
|
"93": "useSettingsStore",
|
||||||
"94": "Phase 3.1 — Human Review Preparation and Master Backlog Critique",
|
"94": "Phase 3.1 — Human Review Preparation and Master Backlog Critique",
|
||||||
"95": "blog/[slug]/page.tsx",
|
"95": "blog/[slug]/page.tsx",
|
||||||
"96": "compilerOptions",
|
"96": "compilerOptions",
|
||||||
@ -112,7 +112,7 @@
|
|||||||
"110": "Operational Rules & Boundaries",
|
"110": "Operational Rules & Boundaries",
|
||||||
"111": "Operational Rules & Boundaries",
|
"111": "Operational Rules & Boundaries",
|
||||||
"112": "Operational Rules & Boundaries",
|
"112": "Operational Rules & Boundaries",
|
||||||
"113": "SettingsController",
|
"113": "SmsService",
|
||||||
"114": "AppService",
|
"114": "AppService",
|
||||||
"115": "Blogs.tsx",
|
"115": "Blogs.tsx",
|
||||||
"116": "Vazirmatn Changelog",
|
"116": "Vazirmatn Changelog",
|
||||||
@ -128,7 +128,7 @@
|
|||||||
"126": "admin-panel/package.json",
|
"126": "admin-panel/package.json",
|
||||||
"127": "Sahel-Font",
|
"127": "Sahel-Font",
|
||||||
"128": "AdminService",
|
"128": "AdminService",
|
||||||
"129": "cms.controller.ts",
|
"129": "MetricsController",
|
||||||
"130": "Sahel-Font",
|
"130": "Sahel-Font",
|
||||||
"131": "Role & Core Objective",
|
"131": "Role & Core Objective",
|
||||||
"132": "orchestrate.py",
|
"132": "orchestrate.py",
|
||||||
@ -178,7 +178,7 @@
|
|||||||
"176": "uploads/[...path]/route.ts",
|
"176": "uploads/[...path]/route.ts",
|
||||||
"177": "auth.module.ts",
|
"177": "auth.module.ts",
|
||||||
"178": "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina",
|
"178": "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina",
|
||||||
"179": "Reports.tsx",
|
"179": "app.e2e-spec.js",
|
||||||
"180": "API Contract Specification",
|
"180": "API Contract Specification",
|
||||||
"181": "⚙️ Backend Technical Review (05_dev_backend)",
|
"181": "⚙️ Backend Technical Review (05_dev_backend)",
|
||||||
"182": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
|
"182": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
|
||||||
@ -196,7 +196,7 @@
|
|||||||
"194": "Raw Finding Verification & Disposition Report",
|
"194": "Raw Finding Verification & Disposition Report",
|
||||||
"195": "React + TypeScript + Vite",
|
"195": "React + TypeScript + Vite",
|
||||||
"196": "Select.tsx",
|
"196": "Select.tsx",
|
||||||
"197": "WholesaleApplyDto",
|
"197": "bcrypt",
|
||||||
"198": "WikiService",
|
"198": "WikiService",
|
||||||
"199": "videos/page.tsx",
|
"199": "videos/page.tsx",
|
||||||
"200": "application/README.md",
|
"200": "application/README.md",
|
||||||
@ -223,21 +223,22 @@
|
|||||||
"221": "Textarea.tsx",
|
"221": "Textarea.tsx",
|
||||||
"222": "admin-panel/tsconfig.json",
|
"222": "admin-panel/tsconfig.json",
|
||||||
"223": "catalog/page.tsx",
|
"223": "catalog/page.tsx",
|
||||||
"224": "VerifyOtpDto",
|
"224": "class-transformer",
|
||||||
"225": "next.config.ts",
|
"225": "next.config.ts",
|
||||||
"226": "Shabnam Font README",
|
"226": "Shabnam Font README",
|
||||||
"227": "AGENTS.md",
|
"227": "AGENTS.md",
|
||||||
"228": "rules/graphify.md",
|
"228": "rules/graphify.md",
|
||||||
"229": ".agents/workflows/graphify.md",
|
"229": ".agents/workflows/graphify.md",
|
||||||
"230": "instructions.md",
|
"230": "instructions.md",
|
||||||
"231": "AddressDto",
|
"231": "js-yaml",
|
||||||
"232": "ZibalCallbackQueryDto",
|
"232": "@nestjs/core",
|
||||||
"233": "tailwindcss",
|
"233": "tailwindcss",
|
||||||
"234": ".getDashboardStats",
|
"234": ".getDashboardStats",
|
||||||
"235": "@types/node",
|
"235": "@nestjs/jwt",
|
||||||
"236": "eslint-config-next",
|
"236": "@nestjs/swagger",
|
||||||
"237": "@tailwindcss/postcss",
|
"237": "@tailwindcss/postcss",
|
||||||
"238": "@vitejs/plugin-react",
|
"238": "@vitejs/plugin-react",
|
||||||
|
"239": "@nestjs/throttler",
|
||||||
"240": "supertest",
|
"240": "supertest",
|
||||||
"241": "blog.entity.ts",
|
"241": "blog.entity.ts",
|
||||||
"242": "home.entity.ts",
|
"242": "home.entity.ts",
|
||||||
@ -262,6 +263,11 @@
|
|||||||
"261": "User Login API",
|
"261": "User Login API",
|
||||||
"262": "User Logout API",
|
"262": "User Logout API",
|
||||||
"263": "generate-openapi.d.ts",
|
"263": "generate-openapi.d.ts",
|
||||||
|
"264": "passport",
|
||||||
|
"265": "reflect-metadata",
|
||||||
|
"266": "swagger-ui-express",
|
||||||
|
"267": "eslint",
|
||||||
|
"268": "eslint-config-prettier",
|
||||||
"269": "eslint-plugin-react-hooks",
|
"269": "eslint-plugin-react-hooks",
|
||||||
"270": "app-audit-verification.e2e-spec.d.ts",
|
"270": "app-audit-verification.e2e-spec.d.ts",
|
||||||
"271": "app.e2e-spec.d.ts",
|
"271": "app.e2e-spec.d.ts",
|
||||||
@ -288,27 +294,44 @@
|
|||||||
"292": "Production Docker Compose",
|
"292": "Production Docker Compose",
|
||||||
"293": "Staging Docker Compose",
|
"293": "Staging Docker Compose",
|
||||||
"294": "ZibalService",
|
"294": "ZibalService",
|
||||||
|
"295": "@nestjs/schematics",
|
||||||
"296": "eslint-plugin-prettier",
|
"296": "eslint-plugin-prettier",
|
||||||
"297": "ZibalEBankService",
|
"297": "ZibalEBankService",
|
||||||
"298": ".initiateOrderPayment",
|
"298": ".initiateOrderPayment",
|
||||||
"299": "@tailwindcss/postcss",
|
"299": "@tailwindcss/postcss",
|
||||||
"300": "typescript",
|
"300": "typescript",
|
||||||
|
"301": "@nestjs/testing",
|
||||||
"302": "typescript-eslint",
|
"302": "typescript-eslint",
|
||||||
|
"303": "prisma",
|
||||||
|
"304": "source-map-support",
|
||||||
|
"305": "ts-jest",
|
||||||
"306": "globals",
|
"306": "globals",
|
||||||
|
"307": "ts-loader",
|
||||||
|
"308": "ts-node",
|
||||||
"309": "axios",
|
"309": "axios",
|
||||||
"310": "tailwindcss",
|
"310": "tailwindcss",
|
||||||
|
"311": "tsconfig-paths",
|
||||||
"312": "@types/passport-jwt",
|
"312": "@types/passport-jwt",
|
||||||
"313": "20260526160916_add_ui_texts_and_scientific_terms/migration.sql",
|
"313": "20260526160916_add_ui_texts_and_scientific_terms/migration.sql",
|
||||||
|
"314": "@types/bcrypt",
|
||||||
"315": "typescript",
|
"315": "typescript",
|
||||||
|
"316": "@types/compression",
|
||||||
"317": "revalidate/route.ts",
|
"317": "revalidate/route.ts",
|
||||||
"318": "MaskableField.tsx",
|
"318": "MaskableField.tsx",
|
||||||
"319": "@eslint/js",
|
"319": "@eslint/js",
|
||||||
|
"320": "@types/express",
|
||||||
"321": "orders/page.tsx",
|
"321": "orders/page.tsx",
|
||||||
"322": "pets/page.tsx",
|
"322": "pets/page.tsx",
|
||||||
|
"323": "@types/jest",
|
||||||
|
"324": "@types/js-yaml",
|
||||||
"325": "@types/react-dom",
|
"325": "@types/react-dom",
|
||||||
"326": "jest",
|
"326": "jest",
|
||||||
"327": "eslint-plugin-react-refresh",
|
"327": "eslint-plugin-react-refresh",
|
||||||
"328": "@nestjs/cli",
|
"328": "@nestjs/cli",
|
||||||
|
"329": "@types/multer",
|
||||||
"330": "prettier",
|
"330": "prettier",
|
||||||
"333": "app/page.tsx"
|
"331": "@types/supertest",
|
||||||
|
"332": "typescript-eslint",
|
||||||
|
"333": "app/page.tsx",
|
||||||
|
"334": "tailwindcss"
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -7,9 +7,9 @@
|
|||||||
"5": "CmsController",
|
"5": "CmsController",
|
||||||
"6": "tickets.controller.ts",
|
"6": "tickets.controller.ts",
|
||||||
"7": "Button.tsx",
|
"7": "Button.tsx",
|
||||||
"8": "pets/pets.controller.ts",
|
"8": "WikiController",
|
||||||
"9": "devDependencies",
|
"9": "devDependencies",
|
||||||
"10": "CreateReviewDto",
|
"10": "ReviewsService",
|
||||||
"11": "MediaSelector.tsx",
|
"11": "MediaSelector.tsx",
|
||||||
"12": "index.ts",
|
"12": "index.ts",
|
||||||
"13": "app-audit-verification.e2e-spec.js",
|
"13": "app-audit-verification.e2e-spec.js",
|
||||||
@ -32,7 +32,7 @@
|
|||||||
"30": "DEVOPS-001",
|
"30": "DEVOPS-001",
|
||||||
"31": "DOC-001",
|
"31": "DOC-001",
|
||||||
"32": "adminRoutes.tsx",
|
"32": "adminRoutes.tsx",
|
||||||
"33": "WholesaleApplyDto",
|
"33": "WholesaleService",
|
||||||
"34": "B2BService",
|
"34": "B2BService",
|
||||||
"35": "AuthController",
|
"35": "AuthController",
|
||||||
"36": "FaqService",
|
"36": "FaqService",
|
||||||
@ -59,13 +59,13 @@
|
|||||||
"57": "Role & Core Objective",
|
"57": "Role & Core Objective",
|
||||||
"58": "ContactService",
|
"58": "ContactService",
|
||||||
"59": "compilerOptions",
|
"59": "compilerOptions",
|
||||||
"60": "PaymentService",
|
"60": "payment.service.ts",
|
||||||
"61": "useCartStore",
|
"61": "useCartStore",
|
||||||
"62": "SmsService",
|
"62": "SmsService",
|
||||||
"63": "dependencies",
|
"63": "dependencies",
|
||||||
"64": "compilerOptions",
|
"64": "compilerOptions",
|
||||||
"65": "BlogsService",
|
"65": "BlogsService",
|
||||||
"66": "ApiOperation",
|
"66": "AdminQueryDto",
|
||||||
"67": "PetsController",
|
"67": "PetsController",
|
||||||
"68": "UserDashboard.tsx",
|
"68": "UserDashboard.tsx",
|
||||||
"69": "Required Review Group Closures",
|
"69": "Required Review Group Closures",
|
||||||
@ -75,7 +75,7 @@
|
|||||||
"73": "Operational Rules & Boundaries",
|
"73": "Operational Rules & Boundaries",
|
||||||
"74": "WikiController",
|
"74": "WikiController",
|
||||||
"75": "PetsController",
|
"75": "PetsController",
|
||||||
"76": "Param",
|
"76": "AdminController",
|
||||||
"77": "seo.module.ts",
|
"77": "seo.module.ts",
|
||||||
"78": "rss.xml/route.ts",
|
"78": "rss.xml/route.ts",
|
||||||
"79": "🏢 AI Software Agency — Master Orchestration Protocol v3",
|
"79": "🏢 AI Software Agency — Master Orchestration Protocol v3",
|
||||||
@ -89,7 +89,7 @@
|
|||||||
"87": "dependencies",
|
"87": "dependencies",
|
||||||
"88": "CreateEBankCheckoutDto",
|
"88": "CreateEBankCheckoutDto",
|
||||||
"89": "seed-products.ts",
|
"89": "seed-products.ts",
|
||||||
"90": "ApiBearerAuth",
|
"90": "CreateReviewDto",
|
||||||
"91": "Reconciled Audit Roles & Assignments",
|
"91": "Reconciled Audit Roles & Assignments",
|
||||||
"92": "OrdersService",
|
"92": "OrdersService",
|
||||||
"93": "HomeClient.tsx",
|
"93": "HomeClient.tsx",
|
||||||
@ -121,14 +121,14 @@
|
|||||||
"119": "compilerOptions",
|
"119": "compilerOptions",
|
||||||
"120": "compilerOptions",
|
"120": "compilerOptions",
|
||||||
"121": "backend/README.md",
|
"121": "backend/README.md",
|
||||||
"122": "AdminService",
|
"122": "ApiOperation",
|
||||||
"123": "users.service.ts",
|
"123": "UsersService",
|
||||||
"124": "Repository Map",
|
"124": "Repository Map",
|
||||||
"125": "validate_integrity.js",
|
"125": "validate_integrity.js",
|
||||||
"126": "admin-panel/package.json",
|
"126": "admin-panel/package.json",
|
||||||
"127": "Sahel-Font",
|
"127": "Sahel-Font",
|
||||||
"128": "RedisService",
|
"128": "AdminService",
|
||||||
"129": "UsersService",
|
"129": "cms.controller.ts",
|
||||||
"130": "Sahel-Font",
|
"130": "Sahel-Font",
|
||||||
"131": "Role & Core Objective",
|
"131": "Role & Core Objective",
|
||||||
"132": "orchestrate.py",
|
"132": "orchestrate.py",
|
||||||
@ -178,12 +178,12 @@
|
|||||||
"176": "uploads/[...path]/route.ts",
|
"176": "uploads/[...path]/route.ts",
|
||||||
"177": "auth.module.ts",
|
"177": "auth.module.ts",
|
||||||
"178": "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina",
|
"178": "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina",
|
||||||
"179": "prisma",
|
"179": "Reports.tsx",
|
||||||
"180": "API Contract Specification",
|
"180": "API Contract Specification",
|
||||||
"181": "⚙️ Backend Technical Review (05_dev_backend)",
|
"181": "⚙️ Backend Technical Review (05_dev_backend)",
|
||||||
"182": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
|
"182": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
|
||||||
"183": "🚀 SEO & Content Strategy Review (12_seo_content)",
|
"183": "🚀 SEO & Content Strategy Review (12_seo_content)",
|
||||||
"184": "RegisterDto",
|
"184": "auth.controller.ts",
|
||||||
"185": "SmsLogQueryDto",
|
"185": "SmsLogQueryDto",
|
||||||
"186": "seed-ui-texts.ts",
|
"186": "seed-ui-texts.ts",
|
||||||
"187": "seed-wiki.ts",
|
"187": "seed-wiki.ts",
|
||||||
@ -196,8 +196,8 @@
|
|||||||
"194": "Raw Finding Verification & Disposition Report",
|
"194": "Raw Finding Verification & Disposition Report",
|
||||||
"195": "React + TypeScript + Vite",
|
"195": "React + TypeScript + Vite",
|
||||||
"196": "Select.tsx",
|
"196": "Select.tsx",
|
||||||
"197": "AdminLoginDto",
|
"197": "WholesaleApplyDto",
|
||||||
"198": "LoginDto",
|
"198": "WikiService",
|
||||||
"199": "videos/page.tsx",
|
"199": "videos/page.tsx",
|
||||||
"200": "application/README.md",
|
"200": "application/README.md",
|
||||||
"201": "deploy.sh",
|
"201": "deploy.sh",
|
||||||
@ -223,22 +223,21 @@
|
|||||||
"221": "Textarea.tsx",
|
"221": "Textarea.tsx",
|
||||||
"222": "admin-panel/tsconfig.json",
|
"222": "admin-panel/tsconfig.json",
|
||||||
"223": "catalog/page.tsx",
|
"223": "catalog/page.tsx",
|
||||||
"224": "bcrypt",
|
"224": "VerifyOtpDto",
|
||||||
"225": "next.config.ts",
|
"225": "next.config.ts",
|
||||||
"226": "Shabnam Font README",
|
"226": "Shabnam Font README",
|
||||||
"227": "AGENTS.md",
|
"227": "AGENTS.md",
|
||||||
"228": "rules/graphify.md",
|
"228": "rules/graphify.md",
|
||||||
"229": ".agents/workflows/graphify.md",
|
"229": ".agents/workflows/graphify.md",
|
||||||
"230": "instructions.md",
|
"230": "instructions.md",
|
||||||
"231": "class-transformer",
|
"231": "AddressDto",
|
||||||
"232": "helmet",
|
"232": "ZibalCallbackQueryDto",
|
||||||
"233": "tailwindcss",
|
"233": "tailwindcss",
|
||||||
"234": "@nestjs/schematics",
|
"234": ".getDashboardStats",
|
||||||
"235": "js-yaml",
|
"235": "@types/node",
|
||||||
"236": "@nestjs/core",
|
"236": "eslint-config-next",
|
||||||
"237": "source-map-support",
|
"237": "@tailwindcss/postcss",
|
||||||
"238": "@nestjs/jwt",
|
"238": "@vitejs/plugin-react",
|
||||||
"239": "ts-loader",
|
|
||||||
"240": "supertest",
|
"240": "supertest",
|
||||||
"241": "blog.entity.ts",
|
"241": "blog.entity.ts",
|
||||||
"242": "home.entity.ts",
|
"242": "home.entity.ts",
|
||||||
@ -263,11 +262,6 @@
|
|||||||
"261": "User Login API",
|
"261": "User Login API",
|
||||||
"262": "User Logout API",
|
"262": "User Logout API",
|
||||||
"263": "generate-openapi.d.ts",
|
"263": "generate-openapi.d.ts",
|
||||||
"264": "ts-node",
|
|
||||||
"265": "@testing-library/jest-dom",
|
|
||||||
"266": "tsconfig-paths",
|
|
||||||
"267": "@types/bcrypt",
|
|
||||||
"268": "@types/compression",
|
|
||||||
"269": "eslint-plugin-react-hooks",
|
"269": "eslint-plugin-react-hooks",
|
||||||
"270": "app-audit-verification.e2e-spec.d.ts",
|
"270": "app-audit-verification.e2e-spec.d.ts",
|
||||||
"271": "app.e2e-spec.d.ts",
|
"271": "app.e2e-spec.d.ts",
|
||||||
@ -294,45 +288,27 @@
|
|||||||
"292": "Production Docker Compose",
|
"292": "Production Docker Compose",
|
||||||
"293": "Staging Docker Compose",
|
"293": "Staging Docker Compose",
|
||||||
"294": "ZibalService",
|
"294": "ZibalService",
|
||||||
"295": "@types/express",
|
|
||||||
"296": "eslint-plugin-prettier",
|
"296": "eslint-plugin-prettier",
|
||||||
"297": "ZibalEBankService",
|
"297": "ZibalEBankService",
|
||||||
"298": ".initiateOrderPayment",
|
"298": ".initiateOrderPayment",
|
||||||
"299": "@tailwindcss/postcss",
|
"299": "@tailwindcss/postcss",
|
||||||
"300": "typescript",
|
"300": "typescript",
|
||||||
"301": "@types/jest",
|
|
||||||
"302": "typescript-eslint",
|
"302": "typescript-eslint",
|
||||||
"303": "@nestjs/swagger",
|
|
||||||
"304": "@types/multer",
|
|
||||||
"305": "@types/react",
|
|
||||||
"306": "globals",
|
"306": "globals",
|
||||||
"307": "@nestjs/throttler",
|
|
||||||
"308": "vitest",
|
|
||||||
"309": "axios",
|
"309": "axios",
|
||||||
"310": "tailwindcss",
|
"310": "tailwindcss",
|
||||||
"311": "reflect-metadata",
|
|
||||||
"312": "@types/passport-jwt",
|
"312": "@types/passport-jwt",
|
||||||
"313": "20260526160916_add_ui_texts_and_scientific_terms/migration.sql",
|
"313": "20260526160916_add_ui_texts_and_scientific_terms/migration.sql",
|
||||||
"314": "typescript-eslint",
|
|
||||||
"315": "typescript",
|
"315": "typescript",
|
||||||
"316": "swagger-ui-express",
|
|
||||||
"317": "revalidate/route.ts",
|
"317": "revalidate/route.ts",
|
||||||
"318": "MaskableField.tsx",
|
"318": "MaskableField.tsx",
|
||||||
"319": "@eslint/js",
|
"319": "@eslint/js",
|
||||||
"320": "@testing-library/react",
|
|
||||||
"321": "orders/page.tsx",
|
"321": "orders/page.tsx",
|
||||||
"322": "pets/page.tsx",
|
"322": "pets/page.tsx",
|
||||||
"323": "eslint-config-prettier",
|
|
||||||
"324": "@eslint/eslintrc",
|
|
||||||
"325": "@types/react-dom",
|
"325": "@types/react-dom",
|
||||||
"326": "jest",
|
"326": "jest",
|
||||||
"327": "eslint-plugin-react-refresh",
|
"327": "eslint-plugin-react-refresh",
|
||||||
"328": "@nestjs/cli",
|
"328": "@nestjs/cli",
|
||||||
"329": "@nestjs/testing",
|
|
||||||
"330": "prettier",
|
"330": "prettier",
|
||||||
"331": "ts-jest",
|
"333": "app/page.tsx"
|
||||||
"332": "app.e2e-spec.js",
|
|
||||||
"333": "app/page.tsx",
|
|
||||||
"334": "@types/js-yaml",
|
|
||||||
"335": "@types/supertest"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
# Graph Report - canina (2026-08-29)
|
# Graph Report - canina (2026-08-29)
|
||||||
|
|
||||||
## Corpus Check
|
## Corpus Check
|
||||||
- 593 files · ~1,337,957 words
|
- 593 files · ~1,337,982 words
|
||||||
- Verdict: corpus is large enough that graph structure adds value.
|
- Verdict: corpus is large enough that graph structure adds value.
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
- 4151 nodes · 7487 edges · 336 communities (214 shown, 122 thin omitted)
|
- 4153 nodes · 7489 edges · 312 communities (221 shown, 91 thin omitted)
|
||||||
- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 281 edges (avg confidence: 0.79)
|
- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 281 edges (avg confidence: 0.79)
|
||||||
- Token cost: 0 input · 0 output
|
- Token cost: 0 input · 0 output
|
||||||
|
|
||||||
## Graph Freshness
|
## Graph Freshness
|
||||||
- Built from commit: `fa1a35c8`
|
- Built from commit: `b68dd295`
|
||||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||||
- Run `graphify update .` after code changes (no API cost).
|
- Run `graphify update .` after code changes (no API cost).
|
||||||
|
|
||||||
@ -23,9 +23,9 @@
|
|||||||
- CmsController
|
- CmsController
|
||||||
- tickets.controller.ts
|
- tickets.controller.ts
|
||||||
- Button.tsx
|
- Button.tsx
|
||||||
- pets/pets.controller.ts
|
- WikiController
|
||||||
- devDependencies
|
- devDependencies
|
||||||
- CreateReviewDto
|
- ReviewsService
|
||||||
- MediaSelector.tsx
|
- MediaSelector.tsx
|
||||||
- index.ts
|
- index.ts
|
||||||
- app-audit-verification.e2e-spec.js
|
- app-audit-verification.e2e-spec.js
|
||||||
@ -48,7 +48,7 @@
|
|||||||
- DEVOPS-001
|
- DEVOPS-001
|
||||||
- DOC-001
|
- DOC-001
|
||||||
- adminRoutes.tsx
|
- adminRoutes.tsx
|
||||||
- WholesaleApplyDto
|
- WholesaleService
|
||||||
- B2BService
|
- B2BService
|
||||||
- AuthController
|
- AuthController
|
||||||
- FaqService
|
- FaqService
|
||||||
@ -75,13 +75,13 @@
|
|||||||
- Role & Core Objective
|
- Role & Core Objective
|
||||||
- ContactService
|
- ContactService
|
||||||
- compilerOptions
|
- compilerOptions
|
||||||
- PaymentService
|
- payment.service.ts
|
||||||
- useCartStore
|
- useCartStore
|
||||||
- SmsService
|
- SmsService
|
||||||
- dependencies
|
- dependencies
|
||||||
- compilerOptions
|
- compilerOptions
|
||||||
- BlogsService
|
- BlogsService
|
||||||
- ApiOperation
|
- AdminQueryDto
|
||||||
- PetsController
|
- PetsController
|
||||||
- UserDashboard.tsx
|
- UserDashboard.tsx
|
||||||
- Required Review Group Closures
|
- Required Review Group Closures
|
||||||
@ -91,7 +91,7 @@
|
|||||||
- Operational Rules & Boundaries
|
- Operational Rules & Boundaries
|
||||||
- WikiController
|
- WikiController
|
||||||
- PetsController
|
- PetsController
|
||||||
- Param
|
- AdminController
|
||||||
- seo.module.ts
|
- seo.module.ts
|
||||||
- rss.xml/route.ts
|
- rss.xml/route.ts
|
||||||
- 🏢 AI Software Agency — Master Orchestration Protocol v3
|
- 🏢 AI Software Agency — Master Orchestration Protocol v3
|
||||||
@ -105,7 +105,7 @@
|
|||||||
- dependencies
|
- dependencies
|
||||||
- CreateEBankCheckoutDto
|
- CreateEBankCheckoutDto
|
||||||
- seed-products.ts
|
- seed-products.ts
|
||||||
- ApiBearerAuth
|
- CreateReviewDto
|
||||||
- Reconciled Audit Roles & Assignments
|
- Reconciled Audit Roles & Assignments
|
||||||
- OrdersService
|
- OrdersService
|
||||||
- HomeClient.tsx
|
- HomeClient.tsx
|
||||||
@ -137,14 +137,14 @@
|
|||||||
- compilerOptions
|
- compilerOptions
|
||||||
- compilerOptions
|
- compilerOptions
|
||||||
- backend/README.md
|
- backend/README.md
|
||||||
- AdminService
|
- ApiOperation
|
||||||
- users.service.ts
|
- UsersService
|
||||||
- Repository Map
|
- Repository Map
|
||||||
- validate_integrity.js
|
- validate_integrity.js
|
||||||
- admin-panel/package.json
|
- admin-panel/package.json
|
||||||
- Sahel-Font
|
- Sahel-Font
|
||||||
- RedisService
|
- AdminService
|
||||||
- UsersService
|
- cms.controller.ts
|
||||||
- Sahel-Font
|
- Sahel-Font
|
||||||
- Role & Core Objective
|
- Role & Core Objective
|
||||||
- orchestrate.py
|
- orchestrate.py
|
||||||
@ -193,12 +193,12 @@
|
|||||||
- uploads/[...path]/route.ts
|
- uploads/[...path]/route.ts
|
||||||
- auth.module.ts
|
- auth.module.ts
|
||||||
- نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina
|
- نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina
|
||||||
- prisma
|
- Reports.tsx
|
||||||
- API Contract Specification
|
- API Contract Specification
|
||||||
- ⚙️ Backend Technical Review (05_dev_backend)
|
- ⚙️ Backend Technical Review (05_dev_backend)
|
||||||
- 🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)
|
- 🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)
|
||||||
- 🚀 SEO & Content Strategy Review (12_seo_content)
|
- 🚀 SEO & Content Strategy Review (12_seo_content)
|
||||||
- RegisterDto
|
- auth.controller.ts
|
||||||
- SmsLogQueryDto
|
- SmsLogQueryDto
|
||||||
- seed-ui-texts.ts
|
- seed-ui-texts.ts
|
||||||
- seed-wiki.ts
|
- seed-wiki.ts
|
||||||
@ -211,8 +211,8 @@
|
|||||||
- Raw Finding Verification & Disposition Report
|
- Raw Finding Verification & Disposition Report
|
||||||
- React + TypeScript + Vite
|
- React + TypeScript + Vite
|
||||||
- Select.tsx
|
- Select.tsx
|
||||||
- AdminLoginDto
|
- WholesaleApplyDto
|
||||||
- LoginDto
|
- WikiService
|
||||||
- videos/page.tsx
|
- videos/page.tsx
|
||||||
- application/README.md
|
- application/README.md
|
||||||
- deploy.sh
|
- deploy.sh
|
||||||
@ -238,22 +238,20 @@
|
|||||||
- Textarea.tsx
|
- Textarea.tsx
|
||||||
- admin-panel/tsconfig.json
|
- admin-panel/tsconfig.json
|
||||||
- catalog/page.tsx
|
- catalog/page.tsx
|
||||||
- bcrypt
|
- VerifyOtpDto
|
||||||
- next.config.ts
|
- next.config.ts
|
||||||
- Shabnam Font README
|
- Shabnam Font README
|
||||||
- AGENTS.md
|
- AGENTS.md
|
||||||
- rules/graphify.md
|
- rules/graphify.md
|
||||||
- .agents/workflows/graphify.md
|
- .agents/workflows/graphify.md
|
||||||
- instructions.md
|
- instructions.md
|
||||||
- class-transformer
|
- AddressDto
|
||||||
- helmet
|
- ZibalCallbackQueryDto
|
||||||
- tailwindcss
|
- tailwindcss
|
||||||
- @nestjs/schematics
|
- @types/node
|
||||||
- js-yaml
|
- eslint-config-next
|
||||||
- @nestjs/core
|
- @tailwindcss/postcss
|
||||||
- source-map-support
|
- @vitejs/plugin-react
|
||||||
- @nestjs/jwt
|
|
||||||
- ts-loader
|
|
||||||
- supertest
|
- supertest
|
||||||
- blog.entity.ts
|
- blog.entity.ts
|
||||||
- home.entity.ts
|
- home.entity.ts
|
||||||
@ -274,11 +272,6 @@
|
|||||||
- start.sh
|
- start.sh
|
||||||
- User Login API
|
- User Login API
|
||||||
- User Logout API
|
- User Logout API
|
||||||
- ts-node
|
|
||||||
- @testing-library/jest-dom
|
|
||||||
- tsconfig-paths
|
|
||||||
- @types/bcrypt
|
|
||||||
- @types/compression
|
|
||||||
- eslint-plugin-react-hooks
|
- eslint-plugin-react-hooks
|
||||||
- Canina Pharma GmbH
|
- Canina Pharma GmbH
|
||||||
- Pets Table
|
- Pets Table
|
||||||
@ -294,43 +287,25 @@
|
|||||||
- Production Docker Compose
|
- Production Docker Compose
|
||||||
- Staging Docker Compose
|
- Staging Docker Compose
|
||||||
- ZibalService
|
- ZibalService
|
||||||
- @types/express
|
|
||||||
- eslint-plugin-prettier
|
- eslint-plugin-prettier
|
||||||
- ZibalEBankService
|
- ZibalEBankService
|
||||||
- .initiateOrderPayment
|
- .initiateOrderPayment
|
||||||
- @tailwindcss/postcss
|
- @tailwindcss/postcss
|
||||||
- typescript
|
- typescript
|
||||||
- @types/jest
|
|
||||||
- typescript-eslint
|
- typescript-eslint
|
||||||
- @nestjs/swagger
|
|
||||||
- @types/multer
|
|
||||||
- @types/react
|
|
||||||
- globals
|
- globals
|
||||||
- @nestjs/throttler
|
|
||||||
- vitest
|
|
||||||
- reflect-metadata
|
|
||||||
- @types/passport-jwt
|
- @types/passport-jwt
|
||||||
- 20260526160916_add_ui_texts_and_scientific_terms/migration.sql
|
- 20260526160916_add_ui_texts_and_scientific_terms/migration.sql
|
||||||
- typescript-eslint
|
|
||||||
- typescript
|
- typescript
|
||||||
- swagger-ui-express
|
|
||||||
- revalidate/route.ts
|
- revalidate/route.ts
|
||||||
- MaskableField.tsx
|
- MaskableField.tsx
|
||||||
- @eslint/js
|
- @eslint/js
|
||||||
- @testing-library/react
|
|
||||||
- eslint-config-prettier
|
|
||||||
- @eslint/eslintrc
|
|
||||||
- @types/react-dom
|
- @types/react-dom
|
||||||
- jest
|
- jest
|
||||||
- eslint-plugin-react-refresh
|
- eslint-plugin-react-refresh
|
||||||
- @nestjs/cli
|
- @nestjs/cli
|
||||||
- @nestjs/testing
|
|
||||||
- prettier
|
- prettier
|
||||||
- ts-jest
|
|
||||||
- app.e2e-spec.js
|
|
||||||
- app/page.tsx
|
- app/page.tsx
|
||||||
- @types/js-yaml
|
|
||||||
- @types/supertest
|
|
||||||
|
|
||||||
## God Nodes (most connected - your core abstractions)
|
## God Nodes (most connected - your core abstractions)
|
||||||
1. `Roles()` - 106 edges
|
1. `Roles()` - 106 edges
|
||||||
@ -361,15 +336,15 @@
|
|||||||
- 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/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`
|
- 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 (336 total, 122 thin omitted)
|
## Communities (312 total, 91 thin omitted)
|
||||||
|
|
||||||
### Community 0 - "Roles"
|
### Community 0 - "Roles"
|
||||||
Cohesion: 0.24
|
Cohesion: 0.24
|
||||||
Nodes (13): Roles(), PaymentController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get (+5 more)
|
Nodes (13): Roles(), PaymentController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get (+5 more)
|
||||||
|
|
||||||
### Community 1 - "app.module.ts"
|
### Community 1 - "app.module.ts"
|
||||||
Cohesion: 0.05
|
Cohesion: 0.07
|
||||||
Nodes (43): AppModule, Module, B2BModule, Module, BannersModule, Module, CmsModule, Module (+35 more)
|
Nodes (35): B2BModule, Module, BannersModule, Module, BlogsModule, Module, CmsModule, Module (+27 more)
|
||||||
|
|
||||||
### Community 3 - "productService.ts"
|
### Community 3 - "productService.ts"
|
||||||
Cohesion: 0.06
|
Cohesion: 0.06
|
||||||
@ -380,8 +355,8 @@ Cohesion: 0.13
|
|||||||
Nodes (15): ProductImageZoomModalProps, CalculatorState, GalleryMediaItem, ICON_MAP, isVideoUrl(), ProductImageZoomModal, ProductPage(), ProductReviews (+7 more)
|
Nodes (15): ProductImageZoomModalProps, CalculatorState, GalleryMediaItem, ICON_MAP, isVideoUrl(), ProductImageZoomModal, ProductPage(), ProductReviews (+7 more)
|
||||||
|
|
||||||
### Community 5 - "CmsController"
|
### Community 5 - "CmsController"
|
||||||
Cohesion: 0.09
|
Cohesion: 0.10
|
||||||
Nodes (24): CmsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+16 more)
|
Nodes (14): CmsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||||
|
|
||||||
### Community 6 - "tickets.controller.ts"
|
### Community 6 - "tickets.controller.ts"
|
||||||
Cohesion: 0.09
|
Cohesion: 0.09
|
||||||
@ -391,17 +366,17 @@ Nodes (29): AdminUpdateTicketDto, CreateTicketDto, ReplyTicketDto, ApiProperty,
|
|||||||
Cohesion: 0.12
|
Cohesion: 0.12
|
||||||
Nodes (14): Button(), ButtonProps, ButtonSize, ButtonVariant, Spinner(), FAQ, BlogCommentItem, ProductReview (+6 more)
|
Nodes (14): Button(), ButtonProps, ButtonSize, ButtonVariant, Spinner(), FAQ, BlogCommentItem, ProductReview (+6 more)
|
||||||
|
|
||||||
### Community 8 - "pets/pets.controller.ts"
|
### Community 8 - "WikiController"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.13
|
||||||
Nodes (15): CreatePetDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional, IsString (+7 more)
|
Nodes (13): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, Param, Query (+5 more)
|
||||||
|
|
||||||
### Community 9 - "devDependencies"
|
### Community 9 - "devDependencies"
|
||||||
Cohesion: 0.22
|
Cohesion: 0.05
|
||||||
Nodes (9): devDependencies, eslint, @types/bcryptjs, @types/node, typescript, eslint, @types/node, typescript (+1 more)
|
Nodes (43): devDependencies, eslint, eslint-config-prettier, @eslint/eslintrc, @nestjs/schematics, @nestjs/testing, prisma, source-map-support (+35 more)
|
||||||
|
|
||||||
### Community 10 - "CreateReviewDto"
|
### Community 10 - "ReviewsService"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.12
|
||||||
Nodes (30): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ApiProperty (+22 more)
|
Nodes (17): ReviewsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+9 more)
|
||||||
|
|
||||||
### Community 11 - "MediaSelector.tsx"
|
### Community 11 - "MediaSelector.tsx"
|
||||||
Cohesion: 0.06
|
Cohesion: 0.06
|
||||||
@ -412,8 +387,8 @@ Cohesion: 0.06
|
|||||||
Nodes (24): backend, frontend, playwright.config.ts, @playwright/test, tests/**/*.ts, authFile, test, compilerOptions (+16 more)
|
Nodes (24): backend, frontend, playwright.config.ts, @playwright/test, tests/**/*.ts, authFile, test, compilerOptions (+16 more)
|
||||||
|
|
||||||
### Community 13 - "app-audit-verification.e2e-spec.js"
|
### Community 13 - "app-audit-verification.e2e-spec.js"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.06
|
||||||
Nodes (26): EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter, Catch, PrismaExceptionFilter (+18 more)
|
Nodes (28): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter (+20 more)
|
||||||
|
|
||||||
### Community 14 - "userStore.ts"
|
### Community 14 - "userStore.ts"
|
||||||
Cohesion: 0.11
|
Cohesion: 0.11
|
||||||
@ -432,7 +407,7 @@ Cohesion: 0.15
|
|||||||
Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getRelatedProducts(), getWikiTerm(), WikiTermPage() (+10 more)
|
Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getRelatedProducts(), getWikiTerm(), WikiTermPage() (+10 more)
|
||||||
|
|
||||||
### Community 18 - "JwtAuthGuard"
|
### Community 18 - "JwtAuthGuard"
|
||||||
Cohesion: 0.17
|
Cohesion: 0.19
|
||||||
Nodes (7): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, UserReqPayload
|
Nodes (7): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, UserReqPayload
|
||||||
|
|
||||||
### Community 19 - "ProductsService"
|
### Community 19 - "ProductsService"
|
||||||
@ -440,16 +415,20 @@ Cohesion: 0.10
|
|||||||
Nodes (19): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, ProductsController, ApiOperation, ApiTags (+11 more)
|
Nodes (19): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, ProductsController, ApiOperation, ApiTags (+11 more)
|
||||||
|
|
||||||
### Community 20 - "CreateVideoDto"
|
### Community 20 - "CreateVideoDto"
|
||||||
Cohesion: 0.09
|
Cohesion: 0.07
|
||||||
Nodes (24): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+16 more)
|
Nodes (32): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+24 more)
|
||||||
|
|
||||||
### Community 21 - "admin.module.ts"
|
### Community 21 - "admin.module.ts"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.08
|
||||||
Nodes (19): AdminModule, Module, MediaService, Injectable, ReportsController, ApiBearerAuth, ApiOperation, ApiQuery (+11 more)
|
Nodes (19): AdminModule, Module, PetQuery, PetsService, Injectable, ReportsController, ApiBearerAuth, ApiOperation (+11 more)
|
||||||
|
|
||||||
|
### Community 22 - "RevalidationService"
|
||||||
|
Cohesion: 0.20
|
||||||
|
Nodes (5): RevalidationModule, Global, Module, RevalidationService, Injectable
|
||||||
|
|
||||||
### Community 23 - "MenuService"
|
### Community 23 - "MenuService"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.10
|
||||||
Nodes (16): MenuController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more)
|
Nodes (19): MenuController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+11 more)
|
||||||
|
|
||||||
### Community 24 - "BE-001"
|
### Community 24 - "BE-001"
|
||||||
Cohesion: 0.06
|
Cohesion: 0.06
|
||||||
@ -484,24 +463,24 @@ Cohesion: 0.06
|
|||||||
Nodes (31): Acceptance Criteria, Affected Application, Affected Files, Alternative Direction, Category, Completion Statement, Confidence, Dependencies (+23 more)
|
Nodes (31): Acceptance Criteria, Affected Application, Affected Files, Alternative Direction, Category, Completion Statement, Confidence, Dependencies (+23 more)
|
||||||
|
|
||||||
### Community 32 - "adminRoutes.tsx"
|
### Community 32 - "adminRoutes.tsx"
|
||||||
Cohesion: 0.06
|
Cohesion: 0.08
|
||||||
Nodes (24): App(), Props, RouteErrorBoundary, State, HeroBanner, VetTestimonial, BestSellerItem, CategoryDistItem (+16 more)
|
Nodes (17): App(), Props, RouteErrorBoundary, State, HeroBanner, VetTestimonial, AdminRouteConfig, CMS (+9 more)
|
||||||
|
|
||||||
### Community 33 - "WholesaleApplyDto"
|
### Community 33 - "WholesaleService"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.14
|
||||||
Nodes (20): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, WholesaleApplyDto, ApiBearerAuth, ApiOperation (+12 more)
|
Nodes (14): ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param, Post (+6 more)
|
||||||
|
|
||||||
### Community 34 - "B2BService"
|
### Community 34 - "B2BService"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.12
|
||||||
Nodes (15): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+7 more)
|
Nodes (16): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+8 more)
|
||||||
|
|
||||||
### Community 35 - "AuthController"
|
### Community 35 - "AuthController"
|
||||||
Cohesion: 0.25
|
Cohesion: 0.25
|
||||||
Nodes (13): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+5 more)
|
Nodes (13): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+5 more)
|
||||||
|
|
||||||
### Community 36 - "FaqService"
|
### Community 36 - "FaqService"
|
||||||
Cohesion: 0.14
|
Cohesion: 0.12
|
||||||
Nodes (14): FaqController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
Nodes (16): FaqController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+8 more)
|
||||||
|
|
||||||
### Community 37 - "راهنمای تست سیستم (Software Testing)"
|
### Community 37 - "راهنمای تست سیستم (Software Testing)"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.07
|
||||||
@ -516,24 +495,24 @@ Cohesion: 0.10
|
|||||||
Nodes (16): CategoriesController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more)
|
Nodes (16): CategoriesController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more)
|
||||||
|
|
||||||
### Community 40 - "MediaController"
|
### Community 40 - "MediaController"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.11
|
||||||
Nodes (23): MediaController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+15 more)
|
Nodes (16): MediaController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+8 more)
|
||||||
|
|
||||||
### Community 41 - "What You Must Do When Invoked"
|
### Community 41 - "What You Must Do When Invoked"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.07
|
||||||
Nodes (26): For /graphify add and --watch, For /graphify query, For the commit hook and native CLAUDE.md integration, For --update and --cluster-only, /graphify, Honesty Rules, Interpreter guard for subcommands, Part A - Structural extraction for code files (+18 more)
|
Nodes (26): For /graphify add and --watch, For /graphify query, For the commit hook and native CLAUDE.md integration, For --update and --cluster-only, /graphify, Honesty Rules, Interpreter guard for subcommands, Part A - Structural extraction for code files (+18 more)
|
||||||
|
|
||||||
### Community 42 - "SslController"
|
### Community 42 - "SslController"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.11
|
||||||
Nodes (14): SslController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Post (+6 more)
|
Nodes (15): SslController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Post (+7 more)
|
||||||
|
|
||||||
### Community 43 - "BannersService"
|
### Community 43 - "BannersService"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.12
|
||||||
Nodes (15): BannersController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+7 more)
|
Nodes (15): BannersController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+7 more)
|
||||||
|
|
||||||
### Community 44 - "TestimonialsService"
|
### Community 44 - "TestimonialsService"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.11
|
||||||
Nodes (14): TestimonialsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
Nodes (16): TestimonialsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+8 more)
|
||||||
|
|
||||||
### Community 45 - "What You Must Do When Invoked"
|
### Community 45 - "What You Must Do When Invoked"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.07
|
||||||
@ -544,11 +523,11 @@ Cohesion: 0.27
|
|||||||
Nodes (14): "coupons", "health_logs", "order_items", "orders", "pet_medical_conditions", "pets", "product_ingredients", "product_symptoms" (+6 more)
|
Nodes (14): "coupons", "health_logs", "order_items", "orders", "pet_medical_conditions", "pets", "product_ingredients", "product_symptoms" (+6 more)
|
||||||
|
|
||||||
### Community 47 - "IngredientsService"
|
### Community 47 - "IngredientsService"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.12
|
||||||
Nodes (14): IngredientsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
Nodes (14): IngredientsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||||
|
|
||||||
### Community 48 - "UsersController"
|
### Community 48 - "UsersController"
|
||||||
Cohesion: 0.21
|
Cohesion: 0.19
|
||||||
Nodes (16): ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+8 more)
|
Nodes (16): ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+8 more)
|
||||||
|
|
||||||
### Community 49 - "devDependencies"
|
### Community 49 - "devDependencies"
|
||||||
@ -556,20 +535,20 @@ Cohesion: 0.11
|
|||||||
Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, globals, postcss, @types/node (+11 more)
|
Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, globals, postcss, @types/node (+11 more)
|
||||||
|
|
||||||
### Community 50 - "devDependencies"
|
### Community 50 - "devDependencies"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.12
|
||||||
Nodes (15): eslint-config-next, devDependencies, eslint, eslint-config-next, jsdom, tailwindcss, @tailwindcss/postcss, @types/node (+7 more)
|
Nodes (17): devDependencies, eslint, jsdom, tailwindcss, @testing-library/jest-dom, @testing-library/react, @types/node, @types/react (+9 more)
|
||||||
|
|
||||||
### Community 51 - "BlogsController"
|
### Community 51 - "BlogsController"
|
||||||
Cohesion: 0.14
|
Cohesion: 0.14
|
||||||
Nodes (16): BlogsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more)
|
Nodes (16): BlogsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more)
|
||||||
|
|
||||||
### Community 52 - "PrescriptionsService"
|
### Community 52 - "PrescriptionsService"
|
||||||
Cohesion: 0.14
|
Cohesion: 0.13
|
||||||
Nodes (14): PrescriptionsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+6 more)
|
Nodes (14): PrescriptionsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+6 more)
|
||||||
|
|
||||||
### Community 53 - "SmartAdvisorService"
|
### Community 53 - "SmartAdvisorService"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.11
|
||||||
Nodes (14): SmartAdvisorController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
Nodes (16): SmartAdvisorController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+8 more)
|
||||||
|
|
||||||
### Community 54 - "Modal.tsx"
|
### Community 54 - "Modal.tsx"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.10
|
||||||
@ -595,29 +574,29 @@ Nodes (12): ContactController, Body, Controller, Get, Param, Post, Put, Query (+
|
|||||||
Cohesion: 0.06
|
Cohesion: 0.06
|
||||||
Nodes (30): compilerOptions, allowSyntheticDefaultImports, baseUrl, declaration, emitDecoratorMetadata, esModuleInterop, experimentalDecorators, forceConsistentCasingInFileNames (+22 more)
|
Nodes (30): compilerOptions, allowSyntheticDefaultImports, baseUrl, declaration, emitDecoratorMetadata, esModuleInterop, experimentalDecorators, forceConsistentCasingInFileNames (+22 more)
|
||||||
|
|
||||||
### Community 60 - "PaymentService"
|
### Community 60 - "payment.service.ts"
|
||||||
Cohesion: 0.11
|
Cohesion: 0.20
|
||||||
Nodes (9): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, PaymentService (+1 more)
|
Nodes (8): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, ClientMetadata
|
||||||
|
|
||||||
### Community 61 - "useCartStore"
|
### Community 61 - "useCartStore"
|
||||||
Cohesion: 0.08
|
Cohesion: 0.08
|
||||||
Nodes (27): ArchiveProductCard(), CartDrawer(), DeleteConfirmModal(), DeleteConfirmModalProps, FeaturedProducts(), ProductCard(), Header(), OrderDetailsModal() (+19 more)
|
Nodes (27): ArchiveProductCard(), CartDrawer(), DeleteConfirmModal(), DeleteConfirmModalProps, FeaturedProducts(), ProductCard(), Header(), OrderDetailsModal() (+19 more)
|
||||||
|
|
||||||
### Community 63 - "dependencies"
|
### Community 63 - "dependencies"
|
||||||
Cohesion: 0.09
|
Cohesion: 0.05
|
||||||
Nodes (23): dependencies, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport, @nestjs/platform-express (+15 more)
|
Nodes (43): dependencies, bcrypt, bcryptjs, class-transformer, class-validator, compression, helmet, ioredis (+35 more)
|
||||||
|
|
||||||
### Community 64 - "compilerOptions"
|
### Community 64 - "compilerOptions"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.10
|
||||||
Nodes (20): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, lib, module, moduleDetection, moduleResolution, noEmit (+12 more)
|
Nodes (20): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, lib, module, moduleDetection, moduleResolution, noEmit (+12 more)
|
||||||
|
|
||||||
### Community 66 - "ApiOperation"
|
### Community 66 - "AdminQueryDto"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.18
|
||||||
Nodes (8): ApiOperation, ApiQuery, Get, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
|
Nodes (7): ApiQuery, Get, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
|
||||||
|
|
||||||
### Community 67 - "PetsController"
|
### Community 67 - "PetsController"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.14
|
||||||
Nodes (14): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+6 more)
|
Nodes (11): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+3 more)
|
||||||
|
|
||||||
### Community 68 - "UserDashboard.tsx"
|
### Community 68 - "UserDashboard.tsx"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.12
|
||||||
@ -648,8 +627,12 @@ Cohesion: 0.13
|
|||||||
Nodes (14): ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete, Get (+6 more)
|
Nodes (14): ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||||
|
|
||||||
### Community 75 - "PetsController"
|
### Community 75 - "PetsController"
|
||||||
Cohesion: 0.08
|
Cohesion: 0.05
|
||||||
Nodes (32): CreateHealthLogDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, CreateReminderDto, ApiProperty (+24 more)
|
Nodes (47): CreateHealthLogDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, CreatePetDto, ApiProperty (+39 more)
|
||||||
|
|
||||||
|
### Community 76 - "AdminController"
|
||||||
|
Cohesion: 0.14
|
||||||
|
Nodes (7): AdminController, ApiBearerAuth, ApiTags, Controller, Delete, Param, UseGuards
|
||||||
|
|
||||||
### Community 77 - "seo.module.ts"
|
### Community 77 - "seo.module.ts"
|
||||||
Cohesion: 0.16
|
Cohesion: 0.16
|
||||||
@ -692,8 +675,8 @@ Cohesion: 0.16
|
|||||||
Nodes (9): GatewayHealthResult, IPaymentGateway, PaymentInquiryResult, PaymentRequestOptions, PaymentRequestResult, PaymentVerifyResult, ZibalInquiryResponse, ZibalRequestResponse (+1 more)
|
Nodes (9): GatewayHealthResult, IPaymentGateway, PaymentInquiryResult, PaymentRequestOptions, PaymentRequestResult, PaymentVerifyResult, ZibalInquiryResponse, ZibalRequestResponse (+1 more)
|
||||||
|
|
||||||
### Community 87 - "dependencies"
|
### Community 87 - "dependencies"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.11
|
||||||
Nodes (17): dependencies, axios, lucide-react, motion, next, react, react-dom, sonner (+9 more)
|
Nodes (19): dependencies, axios, lucide-react, motion, next, nextjs-toploader, react, react-dom (+11 more)
|
||||||
|
|
||||||
### Community 88 - "CreateEBankCheckoutDto"
|
### Community 88 - "CreateEBankCheckoutDto"
|
||||||
Cohesion: 0.22
|
Cohesion: 0.22
|
||||||
@ -703,9 +686,9 @@ Nodes (8): CreateEBankCheckoutDto, ApiProperty, ApiPropertyOptional, IsNotEmpty,
|
|||||||
Cohesion: 0.17
|
Cohesion: 0.17
|
||||||
Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more)
|
Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more)
|
||||||
|
|
||||||
### Community 90 - "ApiBearerAuth"
|
### Community 90 - "CreateReviewDto"
|
||||||
Cohesion: 0.25
|
Cohesion: 0.13
|
||||||
Nodes (7): ApiBearerAuth, Body, Param, Patch, Post, Put, UseGuards
|
Nodes (13): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ApiProperty (+5 more)
|
||||||
|
|
||||||
### Community 91 - "Reconciled Audit Roles & Assignments"
|
### Community 91 - "Reconciled Audit Roles & Assignments"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.12
|
||||||
@ -769,15 +752,15 @@ Nodes (11): 1. Detect Test Runner from Tech Stack, 2. Execution Output Capture (
|
|||||||
|
|
||||||
### Community 106 - "auth.service.ts"
|
### Community 106 - "auth.service.ts"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.10
|
||||||
Nodes (17): AdminLoginInput, AuthService, LoginInput, RegisterInput, Injectable, SendOtpDto, ApiProperty, IsNotEmpty (+9 more)
|
Nodes (8): AdminLoginInput, AuthService, LoginInput, RegisterInput, Injectable, normalizeMobile(), RedisService, Injectable
|
||||||
|
|
||||||
### Community 107 - "PaginationDto"
|
### Community 107 - "PaginationDto"
|
||||||
Cohesion: 0.06
|
Cohesion: 0.10
|
||||||
Nodes (23): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional (+15 more)
|
Nodes (12): BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional, IsEnum, IsInt (+4 more)
|
||||||
|
|
||||||
### Community 108 - "PrismaService"
|
### Community 108 - "PrismaService"
|
||||||
Cohesion: 0.06
|
Cohesion: 0.07
|
||||||
Nodes (27): ApiExcludeController, CategoryQuery, B2BWholesaleOrderItem, MetricsController, Controller, Get, Res, MeliPayamakPattern (+19 more)
|
Nodes (22): ApiExcludeController, CategoryQuery, WikiQuery, MetricsController, Controller, Get, Res, MeliPayamakPattern (+14 more)
|
||||||
|
|
||||||
### Community 109 - "1. Summary of Integrity Repairs Performed"
|
### Community 109 - "1. Summary of Integrity Repairs Performed"
|
||||||
Cohesion: 0.17
|
Cohesion: 0.17
|
||||||
@ -796,8 +779,8 @@ Cohesion: 0.18
|
|||||||
Nodes (10): 1. Pre-Deployment Checklist, 2. Build Verification, 3. Deployment Strategy (Based on Target), 4. Post-Deployment Health Check, 5. Forbidden Actions, Expected JSON Output Schema, Operational Rules & Boundaries, Required Output Artifacts (What files to write/update) (+2 more)
|
Nodes (10): 1. Pre-Deployment Checklist, 2. Build Verification, 3. Deployment Strategy (Based on Target), 4. Post-Deployment Health Check, 5. Forbidden Actions, Expected JSON Output Schema, Operational Rules & Boundaries, Required Output Artifacts (What files to write/update) (+2 more)
|
||||||
|
|
||||||
### Community 113 - "SettingsController"
|
### Community 113 - "SettingsController"
|
||||||
Cohesion: 0.20
|
Cohesion: 0.18
|
||||||
Nodes (8): SettingsController, ApiOkResponse, ApiOperation, ApiTags, Controller, Delete, Get, Query
|
Nodes (15): SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller, Delete (+7 more)
|
||||||
|
|
||||||
### Community 114 - "AppService"
|
### Community 114 - "AppService"
|
||||||
Cohesion: 0.29
|
Cohesion: 0.29
|
||||||
@ -831,13 +814,13 @@ Nodes (9): compilerOptions, esModuleInterop, module, moduleResolution, skipLibCh
|
|||||||
Cohesion: 0.20
|
Cohesion: 0.20
|
||||||
Nodes (9): Compile and run the project, Deployment, Description, License, Project setup, Resources, Run tests, Stay in touch (+1 more)
|
Nodes (9): Compile and run the project, Deployment, Description, License, Project setup, Resources, Run tests, Stay in touch (+1 more)
|
||||||
|
|
||||||
### Community 122 - "AdminService"
|
### Community 122 - "ApiOperation"
|
||||||
Cohesion: 0.11
|
Cohesion: 0.17
|
||||||
Nodes (10): AdminController, ApiBearerAuth, ApiTags, Body, Controller, Post, Put, UseGuards (+2 more)
|
Nodes (3): ApiOperation, Body, Put
|
||||||
|
|
||||||
### Community 123 - "users.service.ts"
|
### Community 123 - "UsersService"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.14
|
||||||
Nodes (14): AddressDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, ApiPropertyOptional (+6 more)
|
Nodes (9): ApiPropertyOptional, IsEmail, IsOptional, IsString, MinLength, UpdateProfileDto, Injectable, UserAddressInput (+1 more)
|
||||||
|
|
||||||
### Community 124 - "Repository Map"
|
### Community 124 - "Repository Map"
|
||||||
Cohesion: 0.20
|
Cohesion: 0.20
|
||||||
@ -855,9 +838,13 @@ Nodes (9): name, private, scripts, build, dev, lint, preview, type (+1 more)
|
|||||||
Cohesion: 0.20
|
Cohesion: 0.20
|
||||||
Nodes (9): Arch Linux, Contributors, Install, Known problems for variable version, License, Sahel-Font, To Do (variable), طریقه استفاده از نسخه متغیر variable (+1 more)
|
Nodes (9): Arch Linux, Contributors, Install, Known problems for variable version, License, Sahel-Font, To Do (variable), طریقه استفاده از نسخه متغیر variable (+1 more)
|
||||||
|
|
||||||
### Community 128 - "RedisService"
|
### Community 128 - "AdminService"
|
||||||
Cohesion: 0.15
|
Cohesion: 0.17
|
||||||
Nodes (5): RedisModule, Global, Module, RedisService, Injectable
|
Nodes (3): Post, AdminService, Injectable
|
||||||
|
|
||||||
|
### Community 129 - "cms.controller.ts"
|
||||||
|
Cohesion: 0.37
|
||||||
|
Nodes (10): CreateHeroBannerDto, CreateSmartAdvisorRuleDto, CreateVetTestimonialDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNumber, IsOptional (+2 more)
|
||||||
|
|
||||||
### Community 130 - "Sahel-Font"
|
### Community 130 - "Sahel-Font"
|
||||||
Cohesion: 0.20
|
Cohesion: 0.20
|
||||||
@ -932,7 +919,7 @@ Cohesion: 0.16
|
|||||||
Nodes (10): HomeController, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, HomeModule, Module (+2 more)
|
Nodes (10): HomeController, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, HomeModule, Module (+2 more)
|
||||||
|
|
||||||
### Community 148 - "admin.service.ts"
|
### Community 148 - "admin.service.ts"
|
||||||
Cohesion: 0.17
|
Cohesion: 0.19
|
||||||
Nodes (14): CouponInput, CouponTargetInput, PaginationQuery, CreateUserDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty (+6 more)
|
Nodes (14): CouponInput, CouponTargetInput, PaginationQuery, CreateUserDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty (+6 more)
|
||||||
|
|
||||||
### Community 149 - "SmsSettingsPage.tsx"
|
### Community 149 - "SmsSettingsPage.tsx"
|
||||||
@ -1040,13 +1027,17 @@ Cohesion: 0.60
|
|||||||
Nodes (4): dynamic, GET(), getCandidateUrls(), HEAD()
|
Nodes (4): dynamic, GET(), getCandidateUrls(), HEAD()
|
||||||
|
|
||||||
### Community 177 - "auth.module.ts"
|
### Community 177 - "auth.module.ts"
|
||||||
Cohesion: 0.17
|
Cohesion: 0.15
|
||||||
Nodes (10): DEFAULT_JWT_REFRESH_SECRET, DEFAULT_JWT_SECRET, getJwtSecret(), AuthModule, Module, JwtPayload, JwtStrategy, Injectable (+2 more)
|
Nodes (10): DEFAULT_JWT_REFRESH_SECRET, DEFAULT_JWT_SECRET, getJwtSecret(), AuthModule, Module, JwtPayload, JwtStrategy, Injectable (+2 more)
|
||||||
|
|
||||||
### Community 178 - "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina"
|
### Community 178 - "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina"
|
||||||
Cohesion: 0.33
|
Cohesion: 0.33
|
||||||
Nodes (5): نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina, ۱. معماری و نقشهای کاربری (User Roles), ۲. ماتریس جریانها و قابلیتهای کاربرمحور (Feature & Flow Matrix), ۳. وضعیت پوشش نهایی سوئیت ۱۱گانه (Final 11 Test Suites Status), ۴. راهنمای نگهداری و افزودن فیچرهای جدید بدون شکستن تستها (Developer Maintenance Guide)
|
Nodes (5): نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina, ۱. معماری و نقشهای کاربری (User Roles), ۲. ماتریس جریانها و قابلیتهای کاربرمحور (Feature & Flow Matrix), ۳. وضعیت پوشش نهایی سوئیت ۱۱گانه (Final 11 Test Suites Status), ۴. راهنمای نگهداری و افزودن فیچرهای جدید بدون شکستن تستها (Developer Maintenance Guide)
|
||||||
|
|
||||||
|
### Community 179 - "Reports.tsx"
|
||||||
|
Cohesion: 0.20
|
||||||
|
Nodes (7): BestSellerItem, CategoryDistItem, COLORS, CustomTooltipProps, ReportData, TopCouponItem, Reports
|
||||||
|
|
||||||
### Community 180 - "API Contract Specification"
|
### Community 180 - "API Contract Specification"
|
||||||
Cohesion: 0.50
|
Cohesion: 0.50
|
||||||
Nodes (3): 1. OpenAPI 3.0 (Swagger) Specification, 2. Endpoint Definitions & Data Types, API Contract Specification
|
Nodes (3): 1. OpenAPI 3.0 (Swagger) Specification, 2. Endpoint Definitions & Data Types, API Contract Specification
|
||||||
@ -1063,9 +1054,9 @@ Nodes (3): Architectural Overview, Critical Review Findings & Required Enhanceme
|
|||||||
Cohesion: 0.50
|
Cohesion: 0.50
|
||||||
Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content)
|
Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content)
|
||||||
|
|
||||||
### Community 184 - "RegisterDto"
|
### Community 184 - "auth.controller.ts"
|
||||||
Cohesion: 0.22
|
Cohesion: 0.08
|
||||||
Nodes (8): RegisterDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsOptional, IsString, MinLength
|
Nodes (24): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength, LoginDto, ApiProperty (+16 more)
|
||||||
|
|
||||||
### Community 185 - "SmsLogQueryDto"
|
### Community 185 - "SmsLogQueryDto"
|
||||||
Cohesion: 0.25
|
Cohesion: 0.25
|
||||||
@ -1095,13 +1086,9 @@ Nodes (3): Expanding the ESLint configuration, React Compiler, React + TypeScrip
|
|||||||
Cohesion: 0.50
|
Cohesion: 0.50
|
||||||
Nodes (3): Select, SelectOption, SelectProps
|
Nodes (3): Select, SelectOption, SelectProps
|
||||||
|
|
||||||
### Community 197 - "AdminLoginDto"
|
### Community 197 - "WholesaleApplyDto"
|
||||||
Cohesion: 0.29
|
Cohesion: 0.29
|
||||||
Nodes (6): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength
|
Nodes (6): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, WholesaleApplyDto
|
||||||
|
|
||||||
### Community 198 - "LoginDto"
|
|
||||||
Cohesion: 0.33
|
|
||||||
Nodes (5): LoginDto, ApiProperty, IsNotEmpty, IsString, MinLength
|
|
||||||
|
|
||||||
### Community 199 - "videos/page.tsx"
|
### Community 199 - "videos/page.tsx"
|
||||||
Cohesion: 0.47
|
Cohesion: 0.47
|
||||||
@ -1119,45 +1106,57 @@ Nodes (3): COMPOSE_DOCKER_CLI_BUILD, DOCKER_BUILDKIT, deploy.sh script
|
|||||||
Cohesion: 0.67
|
Cohesion: 0.67
|
||||||
Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Management, Master Task Backlog (Phase 3.3), Phase 3 Master Execution Plan
|
Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Management, Master Task Backlog (Phase 3.3), Phase 3 Master Execution Plan
|
||||||
|
|
||||||
|
### Community 224 - "VerifyOtpDto"
|
||||||
|
Cohesion: 0.29
|
||||||
|
Nodes (6): ApiProperty, IsNotEmpty, IsString, Matches, VerifyOtpDto, Length
|
||||||
|
|
||||||
### Community 226 - "Shabnam Font README"
|
### Community 226 - "Shabnam Font README"
|
||||||
Cohesion: 0.67
|
Cohesion: 0.67
|
||||||
Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font
|
Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font
|
||||||
|
|
||||||
|
### Community 231 - "AddressDto"
|
||||||
|
Cohesion: 0.29
|
||||||
|
Nodes (7): AddressDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString
|
||||||
|
|
||||||
|
### Community 232 - "ZibalCallbackQueryDto"
|
||||||
|
Cohesion: 0.40
|
||||||
|
Nodes (4): ApiPropertyOptional, IsOptional, IsString, ZibalCallbackQueryDto
|
||||||
|
|
||||||
|
### Community 294 - "ZibalService"
|
||||||
|
Cohesion: 0.09
|
||||||
|
Nodes (4): PaymentService, Injectable, Injectable, ZibalService
|
||||||
|
|
||||||
### Community 298 - ".initiateOrderPayment"
|
### Community 298 - ".initiateOrderPayment"
|
||||||
Cohesion: 0.20
|
Cohesion: 0.32
|
||||||
Nodes (10): ApiPropertyOptional, IsOptional, IsString, ZibalCallbackQueryDto, ApiBadRequestResponse, ApiOkResponse, Req, Res (+2 more)
|
Nodes (6): ApiBadRequestResponse, ApiOkResponse, Req, Res, Headers, Ip
|
||||||
|
|
||||||
### Community 317 - "revalidate/route.ts"
|
### Community 317 - "revalidate/route.ts"
|
||||||
Cohesion: 0.83
|
Cohesion: 0.83
|
||||||
Nodes (3): GET(), handleRevalidate(), POST()
|
Nodes (3): GET(), handleRevalidate(), POST()
|
||||||
|
|
||||||
### Community 332 - "app.e2e-spec.js"
|
|
||||||
Cohesion: 0.50
|
|
||||||
Nodes (3): app_module_1, supertest_1, testing_1
|
|
||||||
|
|
||||||
### Community 333 - "app/page.tsx"
|
### Community 333 - "app/page.tsx"
|
||||||
Cohesion: 0.67
|
Cohesion: 0.67
|
||||||
Nodes (3): generateMetadata(), getHomeData(), Home()
|
Nodes (3): generateMetadata(), getHomeData(), Home()
|
||||||
|
|
||||||
## Knowledge Gaps
|
## Knowledge Gaps
|
||||||
- **1343 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1338 more)
|
- **1344 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1339 more)
|
||||||
These have ≤1 connection - possible missing edges or undocumented components.
|
These have ≤1 connection - possible missing edges or undocumented components.
|
||||||
- **122 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
- **91 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||||
|
|
||||||
## Suggested Questions
|
## Suggested Questions
|
||||||
_Questions this graph is uniquely positioned to answer:_
|
_Questions this graph is uniquely positioned to answer:_
|
||||||
|
|
||||||
- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `MediaController`, `PetsController`, `UsersController`, `HomeController`, `ProductsService`, `OrdersService`?**
|
- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `WikiController`, `PetsController`, `UsersController`, `HomeController`, `ProductsService`, `OrdersService`?**
|
||||||
_High betweenness centrality (0.080) - this node is a cross-community bridge._
|
_High betweenness centrality (0.080) - this node is a cross-community bridge._
|
||||||
- **Why does `Roles()` connect `Roles` to `WholesaleApplyDto`, `B2BService`, `FaqService`, `CmsController`, `ApiBearerAuth`, `tickets.controller.ts`, `SslController`, `BannersService`, `CreateReviewDto`, `TestimonialsService`, `IngredientsService`, `SettingsController`, `JwtAuthGuard`, `ProductsService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`?**
|
- **Why does `Roles()` connect `Roles` to `cms.controller.ts`, `B2BService`, `WholesaleService`, `FaqService`, `CmsController`, `tickets.controller.ts`, `SslController`, `BannersService`, `ReviewsService`, `TestimonialsService`, `IngredientsService`, `SettingsController`, `JwtAuthGuard`, `ProductsService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`?**
|
||||||
_High betweenness centrality (0.063) - this node is a cross-community bridge._
|
_High betweenness centrality (0.062) - this node is a cross-community bridge._
|
||||||
- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `PetsController`, `CmsController`, `tickets.controller.ts`, `pets/pets.controller.ts`, `auth.service.ts`, `PaginationDto`, `DoctorQueryDto`, `ProductsService`, `admin.service.ts`, `admin.module.ts`, `users.service.ts`, `OrdersService`?**
|
- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `cms.controller.ts`, `PetsController`, `tickets.controller.ts`, `MediaController`, `PaginationDto`, `PetsController`, `DoctorQueryDto`, `ProductsService`, `admin.service.ts`, `admin.module.ts`, `CreateVideoDto`, `auth.controller.ts`, `UsersService`, `OrdersService`?**
|
||||||
_High betweenness centrality (0.035) - this node is a cross-community bridge._
|
_High betweenness centrality (0.035) - this node is a cross-community bridge._
|
||||||
- **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?**
|
- **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?**
|
||||||
_1343 weakly-connected nodes found - possible documentation gaps or missing edges._
|
_1344 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||||
- **Should `app.module.ts` be split into smaller, more focused modules?**
|
- **Should `app.module.ts` be split into smaller, more focused modules?**
|
||||||
_Cohesion score 0.053613053613053616 - nodes in this community are weakly interconnected._
|
_Cohesion score 0.07058823529411765 - nodes in this community are weakly interconnected._
|
||||||
- **Should `SettingsService` be split into smaller, more focused modules?**
|
- **Should `SettingsService` be split into smaller, more focused modules?**
|
||||||
_Cohesion score 0.09782608695652174 - nodes in this community are weakly interconnected._
|
_Cohesion score 0.11231884057971014 - nodes in this community are weakly interconnected._
|
||||||
- **Should `productService.ts` be split into smaller, more focused modules?**
|
- **Should `productService.ts` be split into smaller, more focused modules?**
|
||||||
_Cohesion score 0.06384180790960452 - nodes in this community are weakly interconnected._
|
_Cohesion score 0.06384180790960452 - 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-29)
|
# Graph Report - canina (2026-08-29)
|
||||||
|
|
||||||
## Corpus Check
|
## Corpus Check
|
||||||
- 593 files · ~1,337,982 words
|
- 593 files · ~1,337,968 words
|
||||||
- Verdict: corpus is large enough that graph structure adds value.
|
- Verdict: corpus is large enough that graph structure adds value.
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
- 4153 nodes · 7489 edges · 312 communities (221 shown, 91 thin omitted)
|
- 4153 nodes · 7492 edges · 335 communities (217 shown, 118 thin omitted)
|
||||||
- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 281 edges (avg confidence: 0.79)
|
- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 281 edges (avg confidence: 0.79)
|
||||||
- Token cost: 0 input · 0 output
|
- Token cost: 0 input · 0 output
|
||||||
|
|
||||||
## Graph Freshness
|
## Graph Freshness
|
||||||
- Built from commit: `b68dd295`
|
- Built from commit: `2d54fc82`
|
||||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||||
- Run `graphify update .` after code changes (no API cost).
|
- Run `graphify update .` after code changes (no API cost).
|
||||||
|
|
||||||
## Community Hubs (Navigation)
|
## Community Hubs (Navigation)
|
||||||
- Roles
|
- Roles
|
||||||
- app.module.ts
|
- app.module.ts
|
||||||
- SettingsService
|
- PaymentService
|
||||||
- productService.ts
|
- productService.ts
|
||||||
- ProductPage.tsx
|
- ProductPage.tsx
|
||||||
- CmsController
|
- CmsController
|
||||||
@ -29,14 +29,14 @@
|
|||||||
- MediaSelector.tsx
|
- MediaSelector.tsx
|
||||||
- index.ts
|
- index.ts
|
||||||
- app-audit-verification.e2e-spec.js
|
- app-audit-verification.e2e-spec.js
|
||||||
- userStore.ts
|
- toPersian
|
||||||
- src/services/api.ts
|
- src/services/api.ts
|
||||||
- DoctorQueryDto
|
- DoctorQueryDto
|
||||||
- schema.ts
|
- schema.ts
|
||||||
- JwtAuthGuard
|
- JwtAuthGuard
|
||||||
- ProductsService
|
- ProductsController
|
||||||
- CreateVideoDto
|
- CreateVideoDto
|
||||||
- admin.module.ts
|
- ReportsController
|
||||||
- RevalidationService
|
- RevalidationService
|
||||||
- MenuService
|
- MenuService
|
||||||
- BE-001
|
- BE-001
|
||||||
@ -48,7 +48,7 @@
|
|||||||
- DEVOPS-001
|
- DEVOPS-001
|
||||||
- DOC-001
|
- DOC-001
|
||||||
- adminRoutes.tsx
|
- adminRoutes.tsx
|
||||||
- WholesaleService
|
- WholesaleApplyDto
|
||||||
- B2BService
|
- B2BService
|
||||||
- AuthController
|
- AuthController
|
||||||
- FaqService
|
- FaqService
|
||||||
@ -76,8 +76,8 @@
|
|||||||
- ContactService
|
- ContactService
|
||||||
- compilerOptions
|
- compilerOptions
|
||||||
- payment.service.ts
|
- payment.service.ts
|
||||||
- useCartStore
|
- ProductsService
|
||||||
- SmsService
|
- orderService.ts
|
||||||
- dependencies
|
- dependencies
|
||||||
- compilerOptions
|
- compilerOptions
|
||||||
- BlogsService
|
- BlogsService
|
||||||
@ -100,7 +100,7 @@
|
|||||||
- scripts
|
- scripts
|
||||||
- dependencies
|
- dependencies
|
||||||
- Role & Core Objective
|
- Role & Core Objective
|
||||||
- useSettingsStore
|
- ClientLayout.tsx
|
||||||
- zibal.service.ts
|
- zibal.service.ts
|
||||||
- dependencies
|
- dependencies
|
||||||
- CreateEBankCheckoutDto
|
- CreateEBankCheckoutDto
|
||||||
@ -108,7 +108,7 @@
|
|||||||
- CreateReviewDto
|
- CreateReviewDto
|
||||||
- Reconciled Audit Roles & Assignments
|
- Reconciled Audit Roles & Assignments
|
||||||
- OrdersService
|
- OrdersService
|
||||||
- HomeClient.tsx
|
- useSettingsStore
|
||||||
- Phase 3.1 — Human Review Preparation and Master Backlog Critique
|
- Phase 3.1 — Human Review Preparation and Master Backlog Critique
|
||||||
- blog/[slug]/page.tsx
|
- blog/[slug]/page.tsx
|
||||||
- compilerOptions
|
- compilerOptions
|
||||||
@ -128,7 +128,7 @@
|
|||||||
- Operational Rules & Boundaries
|
- Operational Rules & Boundaries
|
||||||
- Operational Rules & Boundaries
|
- Operational Rules & Boundaries
|
||||||
- Operational Rules & Boundaries
|
- Operational Rules & Boundaries
|
||||||
- SettingsController
|
- SmsService
|
||||||
- AppService
|
- AppService
|
||||||
- Blogs.tsx
|
- Blogs.tsx
|
||||||
- Vazirmatn Changelog
|
- Vazirmatn Changelog
|
||||||
@ -144,7 +144,7 @@
|
|||||||
- admin-panel/package.json
|
- admin-panel/package.json
|
||||||
- Sahel-Font
|
- Sahel-Font
|
||||||
- AdminService
|
- AdminService
|
||||||
- cms.controller.ts
|
- MetricsController
|
||||||
- Sahel-Font
|
- Sahel-Font
|
||||||
- Role & Core Objective
|
- Role & Core Objective
|
||||||
- orchestrate.py
|
- orchestrate.py
|
||||||
@ -193,7 +193,7 @@
|
|||||||
- uploads/[...path]/route.ts
|
- uploads/[...path]/route.ts
|
||||||
- auth.module.ts
|
- auth.module.ts
|
||||||
- نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina
|
- نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina
|
||||||
- Reports.tsx
|
- app.e2e-spec.js
|
||||||
- API Contract Specification
|
- API Contract Specification
|
||||||
- ⚙️ Backend Technical Review (05_dev_backend)
|
- ⚙️ Backend Technical Review (05_dev_backend)
|
||||||
- 🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)
|
- 🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)
|
||||||
@ -211,7 +211,7 @@
|
|||||||
- Raw Finding Verification & Disposition Report
|
- Raw Finding Verification & Disposition Report
|
||||||
- React + TypeScript + Vite
|
- React + TypeScript + Vite
|
||||||
- Select.tsx
|
- Select.tsx
|
||||||
- WholesaleApplyDto
|
- bcrypt
|
||||||
- WikiService
|
- WikiService
|
||||||
- videos/page.tsx
|
- videos/page.tsx
|
||||||
- application/README.md
|
- application/README.md
|
||||||
@ -238,20 +238,21 @@
|
|||||||
- Textarea.tsx
|
- Textarea.tsx
|
||||||
- admin-panel/tsconfig.json
|
- admin-panel/tsconfig.json
|
||||||
- catalog/page.tsx
|
- catalog/page.tsx
|
||||||
- VerifyOtpDto
|
- class-transformer
|
||||||
- next.config.ts
|
- next.config.ts
|
||||||
- Shabnam Font README
|
- Shabnam Font README
|
||||||
- AGENTS.md
|
- AGENTS.md
|
||||||
- rules/graphify.md
|
- rules/graphify.md
|
||||||
- .agents/workflows/graphify.md
|
- .agents/workflows/graphify.md
|
||||||
- instructions.md
|
- instructions.md
|
||||||
- AddressDto
|
- js-yaml
|
||||||
- ZibalCallbackQueryDto
|
- @nestjs/core
|
||||||
- tailwindcss
|
- tailwindcss
|
||||||
- @types/node
|
- @nestjs/jwt
|
||||||
- eslint-config-next
|
- @nestjs/swagger
|
||||||
- @tailwindcss/postcss
|
- @tailwindcss/postcss
|
||||||
- @vitejs/plugin-react
|
- @vitejs/plugin-react
|
||||||
|
- @nestjs/throttler
|
||||||
- supertest
|
- supertest
|
||||||
- blog.entity.ts
|
- blog.entity.ts
|
||||||
- home.entity.ts
|
- home.entity.ts
|
||||||
@ -272,6 +273,11 @@
|
|||||||
- start.sh
|
- start.sh
|
||||||
- User Login API
|
- User Login API
|
||||||
- User Logout API
|
- User Logout API
|
||||||
|
- passport
|
||||||
|
- reflect-metadata
|
||||||
|
- swagger-ui-express
|
||||||
|
- eslint
|
||||||
|
- eslint-config-prettier
|
||||||
- eslint-plugin-react-hooks
|
- eslint-plugin-react-hooks
|
||||||
- Canina Pharma GmbH
|
- Canina Pharma GmbH
|
||||||
- Pets Table
|
- Pets Table
|
||||||
@ -287,25 +293,42 @@
|
|||||||
- Production Docker Compose
|
- Production Docker Compose
|
||||||
- Staging Docker Compose
|
- Staging Docker Compose
|
||||||
- ZibalService
|
- ZibalService
|
||||||
|
- @nestjs/schematics
|
||||||
- eslint-plugin-prettier
|
- eslint-plugin-prettier
|
||||||
- ZibalEBankService
|
- ZibalEBankService
|
||||||
- .initiateOrderPayment
|
- .initiateOrderPayment
|
||||||
- @tailwindcss/postcss
|
- @tailwindcss/postcss
|
||||||
- typescript
|
- typescript
|
||||||
|
- @nestjs/testing
|
||||||
- typescript-eslint
|
- typescript-eslint
|
||||||
|
- prisma
|
||||||
|
- source-map-support
|
||||||
|
- ts-jest
|
||||||
- globals
|
- globals
|
||||||
|
- ts-loader
|
||||||
|
- ts-node
|
||||||
|
- tsconfig-paths
|
||||||
- @types/passport-jwt
|
- @types/passport-jwt
|
||||||
- 20260526160916_add_ui_texts_and_scientific_terms/migration.sql
|
- 20260526160916_add_ui_texts_and_scientific_terms/migration.sql
|
||||||
|
- @types/bcrypt
|
||||||
- typescript
|
- typescript
|
||||||
|
- @types/compression
|
||||||
- revalidate/route.ts
|
- revalidate/route.ts
|
||||||
- MaskableField.tsx
|
- MaskableField.tsx
|
||||||
- @eslint/js
|
- @eslint/js
|
||||||
|
- @types/express
|
||||||
|
- @types/jest
|
||||||
|
- @types/js-yaml
|
||||||
- @types/react-dom
|
- @types/react-dom
|
||||||
- jest
|
- jest
|
||||||
- eslint-plugin-react-refresh
|
- eslint-plugin-react-refresh
|
||||||
- @nestjs/cli
|
- @nestjs/cli
|
||||||
|
- @types/multer
|
||||||
- prettier
|
- prettier
|
||||||
|
- @types/supertest
|
||||||
|
- typescript-eslint
|
||||||
- app/page.tsx
|
- app/page.tsx
|
||||||
|
- tailwindcss
|
||||||
|
|
||||||
## God Nodes (most connected - your core abstractions)
|
## God Nodes (most connected - your core abstractions)
|
||||||
1. `Roles()` - 106 edges
|
1. `Roles()` - 106 edges
|
||||||
@ -336,7 +359,7 @@
|
|||||||
- 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/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`
|
- 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 (312 total, 91 thin omitted)
|
## Communities (335 total, 118 thin omitted)
|
||||||
|
|
||||||
### Community 0 - "Roles"
|
### Community 0 - "Roles"
|
||||||
Cohesion: 0.24
|
Cohesion: 0.24
|
||||||
@ -344,19 +367,19 @@ Nodes (13): Roles(), PaymentController, ApiBearerAuth, ApiOperation, ApiTags, Bo
|
|||||||
|
|
||||||
### Community 1 - "app.module.ts"
|
### Community 1 - "app.module.ts"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.07
|
||||||
Nodes (35): B2BModule, Module, BannersModule, Module, BlogsModule, Module, CmsModule, Module (+27 more)
|
Nodes (36): B2BModule, Module, BannersModule, Module, CmsModule, Module, SmsModule, Global (+28 more)
|
||||||
|
|
||||||
### Community 3 - "productService.ts"
|
### Community 3 - "productService.ts"
|
||||||
Cohesion: 0.06
|
Cohesion: 0.06
|
||||||
Nodes (33): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory (+25 more)
|
Nodes (39): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory (+31 more)
|
||||||
|
|
||||||
### Community 4 - "ProductPage.tsx"
|
### Community 4 - "ProductPage.tsx"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.13
|
||||||
Nodes (15): ProductImageZoomModalProps, CalculatorState, GalleryMediaItem, ICON_MAP, isVideoUrl(), ProductImageZoomModal, ProductPage(), ProductReviews (+7 more)
|
Nodes (15): ProductImageZoomModalProps, CalculatorState, GalleryMediaItem, ICON_MAP, isVideoUrl(), ProductImageZoomModal, ProductPage(), ProductReviews (+7 more)
|
||||||
|
|
||||||
### Community 5 - "CmsController"
|
### Community 5 - "CmsController"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.09
|
||||||
Nodes (14): CmsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
Nodes (24): CmsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+16 more)
|
||||||
|
|
||||||
### Community 6 - "tickets.controller.ts"
|
### Community 6 - "tickets.controller.ts"
|
||||||
Cohesion: 0.09
|
Cohesion: 0.09
|
||||||
@ -367,12 +390,12 @@ Cohesion: 0.12
|
|||||||
Nodes (14): Button(), ButtonProps, ButtonSize, ButtonVariant, Spinner(), FAQ, BlogCommentItem, ProductReview (+6 more)
|
Nodes (14): Button(), ButtonProps, ButtonSize, ButtonVariant, Spinner(), FAQ, BlogCommentItem, ProductReview (+6 more)
|
||||||
|
|
||||||
### Community 8 - "WikiController"
|
### Community 8 - "WikiController"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.21
|
||||||
Nodes (13): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, Param, Query (+5 more)
|
Nodes (9): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, Param, Query (+1 more)
|
||||||
|
|
||||||
### Community 9 - "devDependencies"
|
### Community 9 - "devDependencies"
|
||||||
Cohesion: 0.05
|
Cohesion: 0.22
|
||||||
Nodes (43): devDependencies, eslint, eslint-config-prettier, @eslint/eslintrc, @nestjs/schematics, @nestjs/testing, prisma, source-map-support (+35 more)
|
Nodes (9): devDependencies, @eslint/eslintrc, @types/bcryptjs, @types/node, typescript, @types/node, typescript, @eslint/eslintrc (+1 more)
|
||||||
|
|
||||||
### Community 10 - "ReviewsService"
|
### Community 10 - "ReviewsService"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.12
|
||||||
@ -390,9 +413,9 @@ Nodes (24): backend, frontend, playwright.config.ts, @playwright/test, tests/**/
|
|||||||
Cohesion: 0.06
|
Cohesion: 0.06
|
||||||
Nodes (28): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter (+20 more)
|
Nodes (28): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter (+20 more)
|
||||||
|
|
||||||
### Community 14 - "userStore.ts"
|
### Community 14 - "toPersian"
|
||||||
Cohesion: 0.11
|
Cohesion: 0.08
|
||||||
Nodes (11): LoginModal, LoginModal(), LoginModalProps, ApiErr, AuthResponse, AuthService, User, Transaction (+3 more)
|
Nodes (33): VerifyContent(), ArchiveProductCard(), AuthModal(), AuthModalProps, extractOtpFromText(), B2BPortal(), CartDrawer(), ProductCard() (+25 more)
|
||||||
|
|
||||||
### Community 15 - "src/services/api.ts"
|
### Community 15 - "src/services/api.ts"
|
||||||
Cohesion: 0.08
|
Cohesion: 0.08
|
||||||
@ -407,23 +430,23 @@ Cohesion: 0.15
|
|||||||
Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getRelatedProducts(), getWikiTerm(), WikiTermPage() (+10 more)
|
Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getRelatedProducts(), getWikiTerm(), WikiTermPage() (+10 more)
|
||||||
|
|
||||||
### Community 18 - "JwtAuthGuard"
|
### Community 18 - "JwtAuthGuard"
|
||||||
Cohesion: 0.19
|
Cohesion: 0.16
|
||||||
Nodes (7): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, UserReqPayload
|
Nodes (11): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, ApiPropertyOptional, IsOptional (+3 more)
|
||||||
|
|
||||||
### Community 19 - "ProductsService"
|
### Community 19 - "ProductsController"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.16
|
||||||
Nodes (19): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, ProductsController, ApiOperation, ApiTags (+11 more)
|
Nodes (9): ProductsController, ApiOperation, ApiTags, Body, Controller, Get, Param, Patch (+1 more)
|
||||||
|
|
||||||
### Community 20 - "CreateVideoDto"
|
### Community 20 - "CreateVideoDto"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.07
|
||||||
Nodes (32): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+24 more)
|
Nodes (32): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+24 more)
|
||||||
|
|
||||||
### Community 21 - "admin.module.ts"
|
### Community 21 - "ReportsController"
|
||||||
Cohesion: 0.08
|
Cohesion: 0.14
|
||||||
Nodes (19): AdminModule, Module, PetQuery, PetsService, Injectable, ReportsController, ApiBearerAuth, ApiOperation (+11 more)
|
Nodes (11): ReportsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Get, Query (+3 more)
|
||||||
|
|
||||||
### Community 22 - "RevalidationService"
|
### Community 22 - "RevalidationService"
|
||||||
Cohesion: 0.20
|
Cohesion: 0.16
|
||||||
Nodes (5): RevalidationModule, Global, Module, RevalidationService, Injectable
|
Nodes (5): RevalidationModule, Global, Module, RevalidationService, Injectable
|
||||||
|
|
||||||
### Community 23 - "MenuService"
|
### Community 23 - "MenuService"
|
||||||
@ -463,24 +486,24 @@ Cohesion: 0.06
|
|||||||
Nodes (31): Acceptance Criteria, Affected Application, Affected Files, Alternative Direction, Category, Completion Statement, Confidence, Dependencies (+23 more)
|
Nodes (31): Acceptance Criteria, Affected Application, Affected Files, Alternative Direction, Category, Completion Statement, Confidence, Dependencies (+23 more)
|
||||||
|
|
||||||
### Community 32 - "adminRoutes.tsx"
|
### Community 32 - "adminRoutes.tsx"
|
||||||
Cohesion: 0.08
|
Cohesion: 0.06
|
||||||
Nodes (17): App(), Props, RouteErrorBoundary, State, HeroBanner, VetTestimonial, AdminRouteConfig, CMS (+9 more)
|
Nodes (24): App(), Props, RouteErrorBoundary, State, HeroBanner, VetTestimonial, BestSellerItem, CategoryDistItem (+16 more)
|
||||||
|
|
||||||
### Community 33 - "WholesaleService"
|
### Community 33 - "WholesaleApplyDto"
|
||||||
Cohesion: 0.14
|
Cohesion: 0.10
|
||||||
Nodes (14): ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param, Post (+6 more)
|
Nodes (20): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, WholesaleApplyDto, ApiBearerAuth, ApiOperation (+12 more)
|
||||||
|
|
||||||
### Community 34 - "B2BService"
|
### Community 34 - "B2BService"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.13
|
||||||
Nodes (16): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+8 more)
|
Nodes (15): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+7 more)
|
||||||
|
|
||||||
### Community 35 - "AuthController"
|
### Community 35 - "AuthController"
|
||||||
Cohesion: 0.25
|
Cohesion: 0.25
|
||||||
Nodes (13): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+5 more)
|
Nodes (13): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+5 more)
|
||||||
|
|
||||||
### Community 36 - "FaqService"
|
### Community 36 - "FaqService"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.14
|
||||||
Nodes (16): FaqController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+8 more)
|
Nodes (14): FaqController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||||
|
|
||||||
### Community 37 - "راهنمای تست سیستم (Software Testing)"
|
### Community 37 - "راهنمای تست سیستم (Software Testing)"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.07
|
||||||
@ -511,8 +534,8 @@ Cohesion: 0.12
|
|||||||
Nodes (15): BannersController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+7 more)
|
Nodes (15): BannersController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+7 more)
|
||||||
|
|
||||||
### Community 44 - "TestimonialsService"
|
### Community 44 - "TestimonialsService"
|
||||||
Cohesion: 0.11
|
Cohesion: 0.12
|
||||||
Nodes (16): TestimonialsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+8 more)
|
Nodes (14): TestimonialsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||||
|
|
||||||
### Community 45 - "What You Must Do When Invoked"
|
### Community 45 - "What You Must Do When Invoked"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.07
|
||||||
@ -527,7 +550,7 @@ Cohesion: 0.12
|
|||||||
Nodes (14): IngredientsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
Nodes (14): IngredientsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||||
|
|
||||||
### Community 48 - "UsersController"
|
### Community 48 - "UsersController"
|
||||||
Cohesion: 0.19
|
Cohesion: 0.21
|
||||||
Nodes (16): ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+8 more)
|
Nodes (16): ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+8 more)
|
||||||
|
|
||||||
### Community 49 - "devDependencies"
|
### Community 49 - "devDependencies"
|
||||||
@ -536,19 +559,19 @@ Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, glo
|
|||||||
|
|
||||||
### Community 50 - "devDependencies"
|
### Community 50 - "devDependencies"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.12
|
||||||
Nodes (17): devDependencies, eslint, jsdom, tailwindcss, @testing-library/jest-dom, @testing-library/react, @types/node, @types/react (+9 more)
|
Nodes (17): eslint-config-next, devDependencies, eslint, eslint-config-next, jsdom, @testing-library/jest-dom, @testing-library/react, @types/node (+9 more)
|
||||||
|
|
||||||
### Community 51 - "BlogsController"
|
### Community 51 - "BlogsController"
|
||||||
Cohesion: 0.14
|
Cohesion: 0.14
|
||||||
Nodes (16): BlogsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more)
|
Nodes (16): BlogsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more)
|
||||||
|
|
||||||
### Community 52 - "PrescriptionsService"
|
### Community 52 - "PrescriptionsService"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.14
|
||||||
Nodes (14): PrescriptionsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+6 more)
|
Nodes (14): PrescriptionsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+6 more)
|
||||||
|
|
||||||
### Community 53 - "SmartAdvisorService"
|
### Community 53 - "SmartAdvisorService"
|
||||||
Cohesion: 0.11
|
Cohesion: 0.13
|
||||||
Nodes (16): SmartAdvisorController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+8 more)
|
Nodes (14): SmartAdvisorController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
|
||||||
|
|
||||||
### Community 54 - "Modal.tsx"
|
### Community 54 - "Modal.tsx"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.10
|
||||||
@ -578,13 +601,17 @@ Nodes (30): compilerOptions, allowSyntheticDefaultImports, baseUrl, declaration,
|
|||||||
Cohesion: 0.20
|
Cohesion: 0.20
|
||||||
Nodes (8): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, ClientMetadata
|
Nodes (8): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, ClientMetadata
|
||||||
|
|
||||||
### Community 61 - "useCartStore"
|
### Community 61 - "ProductsService"
|
||||||
Cohesion: 0.08
|
Cohesion: 0.19
|
||||||
Nodes (27): ArchiveProductCard(), CartDrawer(), DeleteConfirmModal(), DeleteConfirmModalProps, FeaturedProducts(), ProductCard(), Header(), OrderDetailsModal() (+19 more)
|
Nodes (10): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, Query, ProductsModule, Module (+2 more)
|
||||||
|
|
||||||
|
### Community 62 - "orderService.ts"
|
||||||
|
Cohesion: 0.18
|
||||||
|
Nodes (5): ApiErr, Order, OrderItem, OrderService, mockProduct
|
||||||
|
|
||||||
### Community 63 - "dependencies"
|
### Community 63 - "dependencies"
|
||||||
Cohesion: 0.05
|
Cohesion: 0.09
|
||||||
Nodes (43): dependencies, bcrypt, bcryptjs, class-transformer, class-validator, compression, helmet, ioredis (+35 more)
|
Nodes (23): dependencies, bcryptjs, class-validator, compression, helmet, ioredis, @nestjs/common, @nestjs/passport (+15 more)
|
||||||
|
|
||||||
### Community 64 - "compilerOptions"
|
### Community 64 - "compilerOptions"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.10
|
||||||
@ -595,12 +622,12 @@ Cohesion: 0.18
|
|||||||
Nodes (7): ApiQuery, Get, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
|
Nodes (7): ApiQuery, Get, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
|
||||||
|
|
||||||
### Community 67 - "PetsController"
|
### Community 67 - "PetsController"
|
||||||
Cohesion: 0.14
|
Cohesion: 0.11
|
||||||
Nodes (11): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+3 more)
|
Nodes (13): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+5 more)
|
||||||
|
|
||||||
### Community 68 - "UserDashboard.tsx"
|
### Community 68 - "UserDashboard.tsx"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.14
|
||||||
Nodes (32): HomeClient(), VerifyContent(), AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), AuthModal() (+24 more)
|
Nodes (23): AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), CheckoutPage(), DeleteConfirmModal(), DeleteConfirmModalProps (+15 more)
|
||||||
|
|
||||||
### Community 69 - "Required Review Group Closures"
|
### Community 69 - "Required Review Group Closures"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.10
|
||||||
@ -666,9 +693,9 @@ Nodes (21): dependencies, axios, lucide-react, react, react-dom, react-hot-toast
|
|||||||
Cohesion: 0.12
|
Cohesion: 0.12
|
||||||
Nodes (16): 1. Active Secret Scanning (All Modified Files), 2. Docker Container Verification (if Dockerfile exists), 3. CI/CD Basic Check (if `.github/workflows/` exists), 4. Failure Routing Protocol, 5. Forbidden Actions, ENFORCE MODE — Normal Operation, Expected JSON Output Schema, Operational Rules & Boundaries (+8 more)
|
Nodes (16): 1. Active Secret Scanning (All Modified Files), 2. Docker Container Verification (if Dockerfile exists), 3. CI/CD Basic Check (if `.github/workflows/` exists), 4. Failure Routing Protocol, 5. Forbidden Actions, ENFORCE MODE — Normal Operation, Expected JSON Output Schema, Operational Rules & Boundaries (+8 more)
|
||||||
|
|
||||||
### Community 85 - "useSettingsStore"
|
### Community 85 - "ClientLayout.tsx"
|
||||||
Cohesion: 0.09
|
Cohesion: 0.13
|
||||||
Nodes (27): AuthModal, B2BPortal, CartDrawer, ClientLayout(), metadata, ArchivePage(), B2BLandingClient(), BrandLogo() (+19 more)
|
Nodes (14): AuthModal, B2BPortal, CartDrawer, ClientLayout(), LoginModal, metadata, NetworkBanner(), CURRENT_SYMPTOMS (+6 more)
|
||||||
|
|
||||||
### Community 86 - "zibal.service.ts"
|
### Community 86 - "zibal.service.ts"
|
||||||
Cohesion: 0.16
|
Cohesion: 0.16
|
||||||
@ -687,7 +714,7 @@ Cohesion: 0.17
|
|||||||
Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more)
|
Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more)
|
||||||
|
|
||||||
### Community 90 - "CreateReviewDto"
|
### Community 90 - "CreateReviewDto"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.14
|
||||||
Nodes (13): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ApiProperty (+5 more)
|
Nodes (13): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ApiProperty (+5 more)
|
||||||
|
|
||||||
### Community 91 - "Reconciled Audit Roles & Assignments"
|
### Community 91 - "Reconciled Audit Roles & Assignments"
|
||||||
@ -698,9 +725,9 @@ Nodes (15): 10. Documentation Engineer, 1. Lead Architect / Orchestrator, 2. Rea
|
|||||||
Cohesion: 0.06
|
Cohesion: 0.06
|
||||||
Nodes (35): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+27 more)
|
Nodes (35): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+27 more)
|
||||||
|
|
||||||
### Community 93 - "HomeClient.tsx"
|
### Community 93 - "useSettingsStore"
|
||||||
Cohesion: 0.12
|
Cohesion: 0.08
|
||||||
Nodes (18): HomeClientProps, CATEGORY_MAP, ICON_MAP, BannerPlacement(), BannerPlacementProps, BlogPreviewSection(), FAQItem, FAQSection() (+10 more)
|
Nodes (33): HomeClient(), HomeClientProps, ArchivePage(), CATEGORY_MAP, ICON_MAP, B2BLandingClient(), BannerPlacement(), BannerPlacementProps (+25 more)
|
||||||
|
|
||||||
### Community 94 - "Phase 3.1 — Human Review Preparation and Master Backlog Critique"
|
### Community 94 - "Phase 3.1 — Human Review Preparation and Master Backlog Critique"
|
||||||
Cohesion: 0.13
|
Cohesion: 0.13
|
||||||
@ -751,16 +778,16 @@ Cohesion: 0.17
|
|||||||
Nodes (11): 1. Detect Test Runner from Tech Stack, 2. Execution Output Capture (Mandatory), 3. Acceptance Criteria Verification, 4. Failure Routing Protocol, 5. Success Routing Protocol, 6. Forbidden Actions, Expected JSON Output Schema, Operational Rules & Boundaries (+3 more)
|
Nodes (11): 1. Detect Test Runner from Tech Stack, 2. Execution Output Capture (Mandatory), 3. Acceptance Criteria Verification, 4. Failure Routing Protocol, 5. Success Routing Protocol, 6. Forbidden Actions, Expected JSON Output Schema, Operational Rules & Boundaries (+3 more)
|
||||||
|
|
||||||
### Community 106 - "auth.service.ts"
|
### Community 106 - "auth.service.ts"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.07
|
||||||
Nodes (8): AdminLoginInput, AuthService, LoginInput, RegisterInput, Injectable, normalizeMobile(), RedisService, Injectable
|
Nodes (19): AdminLoginInput, AuthService, LoginInput, RegisterInput, Injectable, SendOtpDto, ApiProperty, IsNotEmpty (+11 more)
|
||||||
|
|
||||||
### Community 107 - "PaginationDto"
|
### Community 107 - "PaginationDto"
|
||||||
Cohesion: 0.10
|
Cohesion: 0.06
|
||||||
Nodes (12): BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional, IsEnum, IsInt (+4 more)
|
Nodes (23): AdminModule, Module, BlogsModule, Module, BlogFilterDto, BlogsService, Injectable, PaginationDto (+15 more)
|
||||||
|
|
||||||
### Community 108 - "PrismaService"
|
### Community 108 - "PrismaService"
|
||||||
Cohesion: 0.07
|
Cohesion: 0.08
|
||||||
Nodes (22): ApiExcludeController, CategoryQuery, WikiQuery, MetricsController, Controller, Get, Res, MeliPayamakPattern (+14 more)
|
Nodes (18): CategoryQuery, PetQuery, WikiQuery, B2BWholesaleOrderItem, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions, SmsConfig (+10 more)
|
||||||
|
|
||||||
### Community 109 - "1. Summary of Integrity Repairs Performed"
|
### Community 109 - "1. Summary of Integrity Repairs Performed"
|
||||||
Cohesion: 0.17
|
Cohesion: 0.17
|
||||||
@ -778,9 +805,9 @@ Nodes (10): 1. Mark Active Task as Complete, 2. Documentation Updates, 3. Dynami
|
|||||||
Cohesion: 0.18
|
Cohesion: 0.18
|
||||||
Nodes (10): 1. Pre-Deployment Checklist, 2. Build Verification, 3. Deployment Strategy (Based on Target), 4. Post-Deployment Health Check, 5. Forbidden Actions, Expected JSON Output Schema, Operational Rules & Boundaries, Required Output Artifacts (What files to write/update) (+2 more)
|
Nodes (10): 1. Pre-Deployment Checklist, 2. Build Verification, 3. Deployment Strategy (Based on Target), 4. Post-Deployment Health Check, 5. Forbidden Actions, Expected JSON Output Schema, Operational Rules & Boundaries, Required Output Artifacts (What files to write/update) (+2 more)
|
||||||
|
|
||||||
### Community 113 - "SettingsController"
|
### Community 113 - "SmsService"
|
||||||
Cohesion: 0.18
|
Cohesion: 0.06
|
||||||
Nodes (15): SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller, Delete (+7 more)
|
Nodes (20): SmsLogQuery, SmsService, Injectable, SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags (+12 more)
|
||||||
|
|
||||||
### Community 114 - "AppService"
|
### Community 114 - "AppService"
|
||||||
Cohesion: 0.29
|
Cohesion: 0.29
|
||||||
@ -819,8 +846,8 @@ Cohesion: 0.17
|
|||||||
Nodes (3): ApiOperation, Body, Put
|
Nodes (3): ApiOperation, Body, Put
|
||||||
|
|
||||||
### Community 123 - "UsersService"
|
### Community 123 - "UsersService"
|
||||||
Cohesion: 0.14
|
Cohesion: 0.09
|
||||||
Nodes (9): ApiPropertyOptional, IsEmail, IsOptional, IsString, MinLength, UpdateProfileDto, Injectable, UserAddressInput (+1 more)
|
Nodes (16): AddressDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, ApiPropertyOptional (+8 more)
|
||||||
|
|
||||||
### Community 124 - "Repository Map"
|
### Community 124 - "Repository Map"
|
||||||
Cohesion: 0.20
|
Cohesion: 0.20
|
||||||
@ -842,9 +869,9 @@ Nodes (9): Arch Linux, Contributors, Install, Known problems for variable versio
|
|||||||
Cohesion: 0.17
|
Cohesion: 0.17
|
||||||
Nodes (3): Post, AdminService, Injectable
|
Nodes (3): Post, AdminService, Injectable
|
||||||
|
|
||||||
### Community 129 - "cms.controller.ts"
|
### Community 129 - "MetricsController"
|
||||||
Cohesion: 0.37
|
Cohesion: 0.29
|
||||||
Nodes (10): CreateHeroBannerDto, CreateSmartAdvisorRuleDto, CreateVetTestimonialDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNumber, IsOptional (+2 more)
|
Nodes (5): ApiExcludeController, MetricsController, Controller, Get, Res
|
||||||
|
|
||||||
### Community 130 - "Sahel-Font"
|
### Community 130 - "Sahel-Font"
|
||||||
Cohesion: 0.20
|
Cohesion: 0.20
|
||||||
@ -935,8 +962,8 @@ Cohesion: 0.21
|
|||||||
Nodes (5): OrderRowSkeleton(), PetProfileSkeleton(), ProductCardSkeleton(), Skeleton(), SkeletonProps
|
Nodes (5): OrderRowSkeleton(), PetProfileSkeleton(), ProductCardSkeleton(), Skeleton(), SkeletonProps
|
||||||
|
|
||||||
### Community 152 - "lib/services/api.ts"
|
### Community 152 - "lib/services/api.ts"
|
||||||
Cohesion: 0.08
|
Cohesion: 0.10
|
||||||
Nodes (19): BlogPostClientProps, BlogPost, ContactInfoItem, OrderDetailsModalProps, PLAYBACK_RATES, PodcastPlayerModal(), PodcastPlayerModalProps, SafeImage() (+11 more)
|
Nodes (20): BlogPostClientProps, BlogPost, ContactInfoItem, OrderDetailsModal(), OrderDetailsModalProps, PLAYBACK_RATES, PodcastPlayerModal(), PodcastPlayerModalProps (+12 more)
|
||||||
|
|
||||||
### Community 153 - "exclude"
|
### Community 153 - "exclude"
|
||||||
Cohesion: 0.22
|
Cohesion: 0.22
|
||||||
@ -1034,9 +1061,9 @@ Nodes (10): DEFAULT_JWT_REFRESH_SECRET, DEFAULT_JWT_SECRET, getJwtSecret(), Auth
|
|||||||
Cohesion: 0.33
|
Cohesion: 0.33
|
||||||
Nodes (5): نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina, ۱. معماری و نقشهای کاربری (User Roles), ۲. ماتریس جریانها و قابلیتهای کاربرمحور (Feature & Flow Matrix), ۳. وضعیت پوشش نهایی سوئیت ۱۱گانه (Final 11 Test Suites Status), ۴. راهنمای نگهداری و افزودن فیچرهای جدید بدون شکستن تستها (Developer Maintenance Guide)
|
Nodes (5): نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina, ۱. معماری و نقشهای کاربری (User Roles), ۲. ماتریس جریانها و قابلیتهای کاربرمحور (Feature & Flow Matrix), ۳. وضعیت پوشش نهایی سوئیت ۱۱گانه (Final 11 Test Suites Status), ۴. راهنمای نگهداری و افزودن فیچرهای جدید بدون شکستن تستها (Developer Maintenance Guide)
|
||||||
|
|
||||||
### Community 179 - "Reports.tsx"
|
### Community 179 - "app.e2e-spec.js"
|
||||||
Cohesion: 0.20
|
Cohesion: 0.50
|
||||||
Nodes (7): BestSellerItem, CategoryDistItem, COLORS, CustomTooltipProps, ReportData, TopCouponItem, Reports
|
Nodes (3): app_module_1, supertest_1, testing_1
|
||||||
|
|
||||||
### Community 180 - "API Contract Specification"
|
### Community 180 - "API Contract Specification"
|
||||||
Cohesion: 0.50
|
Cohesion: 0.50
|
||||||
@ -1055,8 +1082,8 @@ Cohesion: 0.50
|
|||||||
Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content)
|
Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content)
|
||||||
|
|
||||||
### Community 184 - "auth.controller.ts"
|
### Community 184 - "auth.controller.ts"
|
||||||
Cohesion: 0.08
|
Cohesion: 0.10
|
||||||
Nodes (24): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength, LoginDto, ApiProperty (+16 more)
|
Nodes (19): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength, LoginDto, ApiProperty (+11 more)
|
||||||
|
|
||||||
### Community 185 - "SmsLogQueryDto"
|
### Community 185 - "SmsLogQueryDto"
|
||||||
Cohesion: 0.25
|
Cohesion: 0.25
|
||||||
@ -1086,10 +1113,6 @@ Nodes (3): Expanding the ESLint configuration, React Compiler, React + TypeScrip
|
|||||||
Cohesion: 0.50
|
Cohesion: 0.50
|
||||||
Nodes (3): Select, SelectOption, SelectProps
|
Nodes (3): Select, SelectOption, SelectProps
|
||||||
|
|
||||||
### Community 197 - "WholesaleApplyDto"
|
|
||||||
Cohesion: 0.29
|
|
||||||
Nodes (6): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, WholesaleApplyDto
|
|
||||||
|
|
||||||
### Community 199 - "videos/page.tsx"
|
### Community 199 - "videos/page.tsx"
|
||||||
Cohesion: 0.47
|
Cohesion: 0.47
|
||||||
Nodes (5): generateMetadata(), getInitialVideos(), Videos(), VideosPage(), generateVideoObjectSchema()
|
Nodes (5): generateMetadata(), getInitialVideos(), Videos(), VideosPage(), generateVideoObjectSchema()
|
||||||
@ -1106,26 +1129,10 @@ Nodes (3): COMPOSE_DOCKER_CLI_BUILD, DOCKER_BUILDKIT, deploy.sh script
|
|||||||
Cohesion: 0.67
|
Cohesion: 0.67
|
||||||
Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Management, Master Task Backlog (Phase 3.3), Phase 3 Master Execution Plan
|
Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Management, Master Task Backlog (Phase 3.3), Phase 3 Master Execution Plan
|
||||||
|
|
||||||
### Community 224 - "VerifyOtpDto"
|
|
||||||
Cohesion: 0.29
|
|
||||||
Nodes (6): ApiProperty, IsNotEmpty, IsString, Matches, VerifyOtpDto, Length
|
|
||||||
|
|
||||||
### Community 226 - "Shabnam Font README"
|
### Community 226 - "Shabnam Font README"
|
||||||
Cohesion: 0.67
|
Cohesion: 0.67
|
||||||
Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font
|
Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font
|
||||||
|
|
||||||
### Community 231 - "AddressDto"
|
|
||||||
Cohesion: 0.29
|
|
||||||
Nodes (7): AddressDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString
|
|
||||||
|
|
||||||
### Community 232 - "ZibalCallbackQueryDto"
|
|
||||||
Cohesion: 0.40
|
|
||||||
Nodes (4): ApiPropertyOptional, IsOptional, IsString, ZibalCallbackQueryDto
|
|
||||||
|
|
||||||
### Community 294 - "ZibalService"
|
|
||||||
Cohesion: 0.09
|
|
||||||
Nodes (4): PaymentService, Injectable, Injectable, ZibalService
|
|
||||||
|
|
||||||
### Community 298 - ".initiateOrderPayment"
|
### Community 298 - ".initiateOrderPayment"
|
||||||
Cohesion: 0.32
|
Cohesion: 0.32
|
||||||
Nodes (6): ApiBadRequestResponse, ApiOkResponse, Req, Res, Headers, Ip
|
Nodes (6): ApiBadRequestResponse, ApiOkResponse, Req, Res, Headers, Ip
|
||||||
@ -1141,22 +1148,22 @@ Nodes (3): generateMetadata(), getHomeData(), Home()
|
|||||||
## Knowledge Gaps
|
## Knowledge Gaps
|
||||||
- **1344 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1339 more)
|
- **1344 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1339 more)
|
||||||
These have ≤1 connection - possible missing edges or undocumented components.
|
These have ≤1 connection - possible missing edges or undocumented components.
|
||||||
- **91 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
- **118 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||||
|
|
||||||
## Suggested Questions
|
## Suggested Questions
|
||||||
_Questions this graph is uniquely positioned to answer:_
|
_Questions this graph is uniquely positioned to answer:_
|
||||||
|
|
||||||
- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `WikiController`, `PetsController`, `UsersController`, `HomeController`, `ProductsService`, `OrdersService`?**
|
- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `WikiController`, `PetsController`, `UsersController`, `HomeController`, `ProductsController`, `OrdersService`?**
|
||||||
_High betweenness centrality (0.080) - this node is a cross-community bridge._
|
_High betweenness centrality (0.080) - this node is a cross-community bridge._
|
||||||
- **Why does `Roles()` connect `Roles` to `cms.controller.ts`, `B2BService`, `WholesaleService`, `FaqService`, `CmsController`, `tickets.controller.ts`, `SslController`, `BannersService`, `ReviewsService`, `TestimonialsService`, `IngredientsService`, `SettingsController`, `JwtAuthGuard`, `ProductsService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`?**
|
- **Why does `Roles()` connect `Roles` to `PaymentService`, `CmsController`, `tickets.controller.ts`, `ReviewsService`, `JwtAuthGuard`, `ProductsController`, `MenuService`, `WholesaleApplyDto`, `B2BService`, `FaqService`, `SslController`, `BannersService`, `TestimonialsService`, `IngredientsService`, `PrescriptionsService`, `SmartAdvisorService`, `ContactService`, `ProductsService`, `SmsService`?**
|
||||||
_High betweenness centrality (0.062) - this node is a cross-community bridge._
|
_High betweenness centrality (0.062) - this node is a cross-community bridge._
|
||||||
- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `cms.controller.ts`, `PetsController`, `tickets.controller.ts`, `MediaController`, `PaginationDto`, `PetsController`, `DoctorQueryDto`, `ProductsService`, `admin.service.ts`, `admin.module.ts`, `CreateVideoDto`, `auth.controller.ts`, `UsersService`, `OrdersService`?**
|
- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `CmsController`, `tickets.controller.ts`, `MediaController`, `PaginationDto`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `ReportsController`, `CreateVideoDto`, `auth.controller.ts`, `UsersService`, `OrdersService`, `ProductsService`?**
|
||||||
_High betweenness centrality (0.035) - this node is a cross-community bridge._
|
_High betweenness centrality (0.035) - this node is a cross-community bridge._
|
||||||
- **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?**
|
- **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?**
|
||||||
_1344 weakly-connected nodes found - possible documentation gaps or missing edges._
|
_1344 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||||
- **Should `app.module.ts` be split into smaller, more focused modules?**
|
- **Should `app.module.ts` be split into smaller, more focused modules?**
|
||||||
_Cohesion score 0.07058823529411765 - nodes in this community are weakly interconnected._
|
_Cohesion score 0.06988120195667366 - nodes in this community are weakly interconnected._
|
||||||
- **Should `SettingsService` be split into smaller, more focused modules?**
|
|
||||||
_Cohesion score 0.11231884057971014 - nodes in this community are weakly interconnected._
|
|
||||||
- **Should `productService.ts` be split into smaller, more focused modules?**
|
- **Should `productService.ts` be split into smaller, more focused modules?**
|
||||||
_Cohesion score 0.06384180790960452 - nodes in this community are weakly interconnected._
|
_Cohesion score 0.05583972719522592 - nodes in this community are weakly interconnected._
|
||||||
|
- **Should `ProductPage.tsx` be split into smaller, more focused modules?**
|
||||||
|
_Cohesion score 0.12631578947368421 - nodes in this community are weakly interconnected._
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
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
@ -28,6 +28,8 @@ services:
|
|||||||
container_name: canino_backend_prod
|
container_name: canino_backend_prod
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
|
- NODE_ENV=production
|
||||||
|
- ENABLE_SWAGGER=false
|
||||||
- DATABASE_URL=postgresql://canino_prod:caninopassword_prod@db_prod:5432/caninodb_prod?schema=public
|
- DATABASE_URL=postgresql://canino_prod:caninopassword_prod@db_prod:5432/caninodb_prod?schema=public
|
||||||
- REDIS_HOST=redis_prod
|
- REDIS_HOST=redis_prod
|
||||||
- REDIS_PORT=6379
|
- REDIS_PORT=6379
|
||||||
|
|||||||
@ -2,8 +2,8 @@ const { exec } = require('child_process');
|
|||||||
const http = require('http');
|
const http = require('http');
|
||||||
|
|
||||||
const URLS = [
|
const URLS = [
|
||||||
{ url: 'http://localhost:4005', name: 'Frontend Store' },
|
{ url: 'http://localhost:3000', name: 'Frontend Store' },
|
||||||
{ url: 'http://127.0.0.1:5050', name: 'Admin Panel' },
|
{ url: 'http://127.0.0.1:3100', name: 'Admin Panel' },
|
||||||
{ url: 'http://localhost:4400/api/docs', name: 'Backend API Docs' }
|
{ url: 'http://localhost:4400/api/docs', name: 'Backend API Docs' }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user