From df7fbb7530c52c2d8f4761f50ec5cca624c6c537 Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Mon, 6 Jul 2026 15:10:19 +0330 Subject: [PATCH] Refactor code structure for improved readability and maintainability --- .../prompt/fix-sitemap-build-fetch-failed.md | 110 + app/sitemap.js | 8 +- graphify-out/.graphify_labels.json | 4 +- graphify-out/.graphify_root | 2 +- graphify-out/GRAPH_REPORT.md | 90 +- ...51ca074cd45536c02d88cd8c08b3857cc7b27.json | 1 + ...07f863d3ebd283571b91baacccb9fb53f685d.json | 1 + ...f75b8cec4e1bfceb971ffac3cc46666071630.json | 1 + graphify-out/cache/stat-index.json | 2 +- graphify-out/graph.html | 10 +- graphify-out/graph.json | 8210 +++++++++-------- graphify-out/manifest.json | 3412 +++++++ 12 files changed, 7810 insertions(+), 4041 deletions(-) create mode 100644 .claude/prompt/fix-sitemap-build-fetch-failed.md create mode 100644 graphify-out/cache/ast/v0.8.44/847a296771bd1672e5a798d5f0451ca074cd45536c02d88cd8c08b3857cc7b27.json create mode 100644 graphify-out/cache/ast/v0.8.44/c71ff73b6ff7b535887b1f016ed07f863d3ebd283571b91baacccb9fb53f685d.json create mode 100644 graphify-out/cache/ast/v0.8.44/f500d64d164ae77195e7aecbb1ff75b8cec4e1bfceb971ffac3cc46666071630.json create mode 100644 graphify-out/manifest.json diff --git a/.claude/prompt/fix-sitemap-build-fetch-failed.md b/.claude/prompt/fix-sitemap-build-fetch-failed.md new file mode 100644 index 0000000..ed65cc7 --- /dev/null +++ b/.claude/prompt/fix-sitemap-build-fetch-failed.md @@ -0,0 +1,110 @@ +# رفع خطای `TypeError: fetch failed` در sitemap هنگام دیپلوی (Docker build) + +## پروژه + +`nobat724_front` + +## زمینه + +هنگام دیپلوی روی سرور (Coolify، Docker multi-stage build) در لاگ build این خطا ظاهر می‌شود: + +``` +#17 192.1 Error fetching sitemap data from /api/v1/clinics: TypeError: fetch failed +``` + +`#17` همان مرحله‌ی builder در `Dockerfile` است (`RUN npm run build`، خط ۵۵). یعنی این خطا در **زمان build** رخ می‌دهد، نه زمان اجرا. + +## مشکل / هدف + +`app/sitemap.js` یک metadata route است. Next.js هنگام `next build` تلاش می‌کند این route را **prerender** کند و در همان لحظه تابع `sitemap()` اجرا می‌شود؛ این تابع از طریق `fetchAllPages()` به `NEXT_PUBLIC_API_URL` (یعنی `api.clinic-pro.ir`) درخواست `fetch` می‌زند. + +کانتینر build در Coolify به این API دسترسی شبکه‌ای ندارد (شبکه build ایزوله است / DNS در دسترس نیست) → `fetch` با `TypeError: fetch failed` شکست می‌خورد. + +خطا داخل `try/catch` تابع `fetchAllPages` گرفته می‌شود (خط ۷۸–۸۰)، پس build **کرش نمی‌کند** ولی نتیجه‌اش این است که sitemap تولیدشده **خالی** است (فقط صفحات استاتیک، بدون هیچ URL پزشک/کلینیک/بلاگ). این هم لاگ خطای آزاردهنده می‌دهد و هم SEO را خراب می‌کند. + +**هدف:** sitemap در زمان build اصلاً به API وصل نشود؛ داده‌ها در زمان **اجرا (request-time)** روی سرور production گرفته شوند — جایی که کانتینر runtime به API دسترسی دارد. + +## فایل‌های مرتبط + +| فایل | نقش | +|------|-----| +| `app/sitemap.js` | تولید sitemap؛ محل fetch در زمان build | +| `Dockerfile` | مرحله‌ی builder خط ۵۵ (`RUN npm run build`) جایی که خطا رخ می‌دهد — فقط برای درک، تغییر نمی‌کند | +| `app/robots.js` | مشابه sitemap؛ ولی fetch ندارد — احتمالاً نیاز به تغییر نیست، فقط چک شود | + +## وضعیت فعلی + +`app/sitemap.js` هیچ `export const dynamic` یا `revalidate` ندارد، پس Next آن را کاندید static prerender در build می‌داند. تابع fetch: + +```js +// app/sitemap.js — خط 56 +async function fetchAllPages(path, extraParams = {}) { + if (!API_URL) return []; + const results = []; + try { + for (let page = 1; page <= MAX_PAGES; page++) { + const search = new URLSearchParams({ + ...extraParams, + page: String(page), + limit: String(PAGE_LIMIT), + }); + const res = await fetch(`${API_URL}${path}?${search.toString()}`, { + next: { revalidate: 3600 }, + }); + if (!res.ok) break; + // ... + } + } catch (error) { + console.error(`Error fetching sitemap data from ${path}:`, error); + } + return results; +} + +// خط 140 +export default async function sitemap() { /* ... */ } +``` + +## وظایف + +### ۱. اجبار sitemap به رندر در زمان اجرا (نه build) + +بالای `app/sitemap.js` (بعد از importها) این دو خط را اضافه کن تا Next هرگز sitemap را در build فچ نکند و همیشه per-request روی سرور production تولید شود: + +```js +export const dynamic = 'force-dynamic'; +export const revalidate = 3600; // کش ۱ ساعته در لایه‌ی سرور +``` + +> نکته: تابع فعلاً از `await headers()` استفاده می‌کند که باید route را dynamic کند، اما لاگ build ثابت می‌کند که همچنان در build اجرا می‌شود. `force-dynamic` این را قطعی می‌کند. بعد از افزودن آن، بلوک `next: { revalidate: 3600 }` داخل `fetch` را نگه‌دار — با `force-dynamic` هم بی‌ضرر است. + +### ۲. مقاوم‌سازی fetch با timeout + +اگر در زمان اجرا API کند یا موقتاً down باشد، هر صفحه‌ی sitemap نباید بی‌نهایت منتظر بماند. به `fetch` یک timeout اضافه کن: + +```js +const res = await fetch(`${API_URL}${path}?${search.toString()}`, { + next: { revalidate: 3600 }, + signal: AbortSignal.timeout(8000), // 8s برای هر صفحه +}); +``` + +`try/catch` موجود (خط ۷۸) خطای timeout را هم می‌گیرد، پس رفتار fail-safe فعلی (بازگشت آرایه‌ی جمع‌شده تا آن لحظه) حفظ می‌شود. + +### ۳. (اختیاری) لاگ تمیزتر برای شبکه‌ی در دسترس‌نبودن + +پیام خطای فعلی خام است. برای اینکه در آینده گیج‌کننده نباشد، پیام را کمی روشن‌تر کن (فقط پیام، منطق دست‌نخورده): + +```js +} catch (error) { + console.error(`[sitemap] failed to fetch ${path} (page skipped):`, error?.message || error); +} +``` + +## نکات مهم + +- **ریشه‌ی واقعی شبکه build**: `NEXT_PUBLIC_API_URL` در `Dockerfile` به‌عنوان build arg پاس داده می‌شود چون برای inline شدن در bundle کلاینت لازم است — این درست است و نباید حذف شود. مشکل صرفاً این است که *در حین build نباید به آن fetch زده شود*. راه‌حل بالا همین را حل می‌کند؛ **نیازی به تغییر Dockerfile نیست**. +- بعد از این تغییر، sitemap فقط زمانی که خزنده یا کاربر `/sitemap.xml` را روی سرور production باز کند تولید می‌شود؛ آنجا کانتینر runtime به `api.clinic-pro.ir` دسترسی دارد. +- معماری multi-domain حفظ شود: `sitemap()` از `await headers()` برای تشخیص host/شهر استفاده می‌کند — با `force-dynamic` این هدرها در زمان اجرا در دسترس‌اند (در build نبودند). این یک دلیل اضافه برای درست بودن `force-dynamic` است. +- `output: 'standalone'` در `next.config.js` فعال است؛ route داینامیک در سرور standalone بدون مشکل کار می‌کند. +- تست محلی: `npm run build` باید بدون خطای `fetch failed` تمام شود؛ سپس `npm run start` و باز کردن `http://yazd-nobat.localhost:3000/sitemap.xml` باید URLهای پزشک/کلینیک را نشان دهد (با API در دسترس). +- `app/robots.js` را چک کن که fetch نداشته باشد؛ اگر ندارد دست‌نخورده بماند. diff --git a/app/sitemap.js b/app/sitemap.js index 674a183..9ab07d2 100644 --- a/app/sitemap.js +++ b/app/sitemap.js @@ -4,6 +4,11 @@ import citiesData from '@/data/city.json'; import statesData from '@/data/state.json'; import { isRootCity } from '@/lib/rootCity'; +// sitemap باید در زمان اجرا (per-request) روی سرور production تولید شود، نه در build. +// در build کانتینر به API دسترسی شبکه ندارد → fetch failed. force-dynamic این را قطعی می‌کند. +export const dynamic = 'force-dynamic'; +export const revalidate = 3600; + const MAIN_DOMAIN = 'nobat724.com'; const API_URL = process.env.NEXT_PUBLIC_API_URL; const PAGE_LIMIT = 500; @@ -65,6 +70,7 @@ async function fetchAllPages(path, extraParams = {}) { }); const res = await fetch(`${API_URL}${path}?${search.toString()}`, { next: { revalidate: 3600 }, + signal: AbortSignal.timeout(8000), }); if (!res.ok) break; const json = await res.json(); @@ -76,7 +82,7 @@ async function fetchAllPages(path, extraParams = {}) { if (items.length < PAGE_LIMIT || (total && results.length >= Number(total))) break; } } catch (error) { - console.error(`Error fetching sitemap data from ${path}:`, error); + console.error(`[sitemap] failed to fetch ${path} (page skipped):`, error?.message || error); } return results; } diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json index ce083b1..7c33f67 100644 --- a/graphify-out/.graphify_labels.json +++ b/graphify-out/.graphify_labels.json @@ -363,5 +363,7 @@ "361": "Community 361", "362": "Community 362", "363": "Community 363", - "364": "Community 364" + "364": "Community 364", + "365": "Community 365", + "366": "Community 366" } diff --git a/graphify-out/.graphify_root b/graphify-out/.graphify_root index fe0ffda..945c9b4 100644 --- a/graphify-out/.graphify_root +++ b/graphify-out/.graphify_root @@ -1 +1 @@ -nobat724_front \ No newline at end of file +. \ No newline at end of file diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md index 640ae30..6eec433 100644 --- a/graphify-out/GRAPH_REPORT.md +++ b/graphify-out/GRAPH_REPORT.md @@ -1,16 +1,16 @@ # Graph Report - nobat724_front (2026-07-06) ## Corpus Check -- 592 files · ~534,127 words +- 593 files · ~534,940 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 2012 nodes · 1996 edges · 365 communities (336 shown, 29 thin omitted) +- 2024 nodes · 2007 edges · 367 communities (337 shown, 30 thin omitted) - Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 98 edges (avg confidence: 0.8) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `fd5935a1` +- Built from commit: `beb050ae` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -140,6 +140,8 @@ - [[_COMMUNITY_Community 339|Community 339]] - [[_COMMUNITY_Community 347|Community 347]] - [[_COMMUNITY_Community 348|Community 348]] +- [[_COMMUNITY_Community 365|Community 365]] +- [[_COMMUNITY_Community 366|Community 366]] ## God Nodes (most connected - your core abstractions) 1. `getStateInfo()` - 23 edges @@ -154,6 +156,8 @@ 10. `Architecture Overview` - 10 edges ## Surprising Connections (you probably didn't know these) +- `Dashboard()` --calls--> `safeJsonParse()` [INFERRED] + app/dashboard/page.js → lib/sanitize.js - `AboutUsPage()` --calls--> `getStateInfo()` [INFERRED] components/aboutUs/index.js → lib/getStateInfo.js - `ContactUsPage()` --calls--> `getStateInfo()` [INFERRED] @@ -162,29 +166,27 @@ components/home/search/index.js → lib/getStateInfo.js - `StLayout()` --calls--> `getStateInfo()` [INFERRED] components/layout/StLayout.js → lib/getStateInfo.js -- `generateMetadata()` --calls--> `getStateInfo()` [INFERRED] - app/about-us/page.js → lib/getStateInfo.js ## Import Cycles - None detected. -## Communities (365 total, 29 thin omitted) +## Communities (367 total, 30 thin omitted) ### Community 0 - "Community 0" Cohesion: 0.05 Nodes (27): BgGray(), ButtonMenu(), Col(), ModalLogout(), Footer(), head, LogoNamad(), Namads (+19 more) ### Community 1 - "Community 1" -Cohesion: 0.07 -Nodes (23): Head(), Head(), HeadTab(), convertTimestampToJalali(), convertTimestampToTime(), ButtonData(), DetailLg(), DetailSm() (+15 more) +Cohesion: 0.24 +Nodes (8): Head(), convertTimestampToJalali(), convertTimestampToTime(), ButtonData(), DetailLg(), DetailSm(), Head(), Card() ### Community 2 - "Community 2" Cohesion: 0.04 Nodes (45): dependencies, aos, axios, @casl/ability, @casl/react, date-fns, dayjs, @emotion/cache (+37 more) ### Community 3 - "Community 3" -Cohesion: 0.06 -Nodes (21): ClinicsPage(), ProvinceContext, ProvinceProvider(), Probe(), useProvince(), Content(), Form(), SubmitData() (+13 more) +Cohesion: 0.10 +Nodes (12): ProvinceContext, ProvinceProvider(), Probe(), useProvince(), Content(), Form(), SubmitData(), EditField() (+4 more) ### Community 4 - "Community 4" Cohesion: 0.07 @@ -195,8 +197,8 @@ Cohesion: 0.08 Nodes (18): AppointmentList(), ItemAppointment(), AboutDcotor(), DetailDoctor(), Link(), listLink, List(), VAZIR_WEIGHTS (+10 more) ### Community 6 - "Community 6" -Cohesion: 0.07 -Nodes (16): Dashboard(), metadata, defineAbilitiesFor(), getUser(), formatToman(), rialToToman(), buildPatientUser(), safeJsonParse() (+8 more) +Cohesion: 0.15 +Nodes (8): Dashboard(), metadata, defineAbilitiesFor(), getUser(), buildPatientUser(), getServerAccessToken(), LogIn(), metadata ### Community 8 - "Community 8" Cohesion: 0.07 @@ -231,8 +233,8 @@ Cohesion: 0.14 Nodes (10): Chart(), ProgressAll(), fallbackLabels, ProgressDetail(), Form(), Content(), Rates(), numberToArStyle() (+2 more) ### Community 16 - "Community 16" -Cohesion: 0.14 -Nodes (10): Head(), AboutUsPage(), ourServices, Services(), SearchBar(), TickOrangeA(), UnderlineLG(), ButtonFilter() (+2 more) +Cohesion: 0.25 +Nodes (6): Head(), AboutUsPage(), ourServices, Services(), TickOrangeA(), UnderlineLG() ### Community 17 - "Community 17" Cohesion: 0.11 @@ -347,12 +349,12 @@ Cohesion: 0.14 Nodes (13): `hours/List.js`, آبجکت اسلات (از `adaptSlots` / API), تأیید و سخت‌سازی غیرفعال‌بودن اسلات‌های گذشته در صفحه‌ی نوبت, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more) ### Community 45 - "Community 45" -Cohesion: 0.26 -Nodes (11): generateMetadata(), generateMetadata(), RootLayout(), imageUrl(), normalizeBlog(), safeJsonLd(), Blog(), Clinic() (+3 more) +Cohesion: 0.31 +Nodes (9): generateMetadata(), generateMetadata(), imageUrl(), normalizeBlog(), Blog(), Doctor(), getBlog, getDoctor (+1 more) ### Community 46 - "Community 46" -Cohesion: 0.22 -Nodes (6): Messages(), Message(), Head(), listTab, UserAccountPage(), NotfoundDashboard() +Cohesion: 0.10 +Nodes (15): Messages(), Message(), Card(), PAYMENT_STATUS, TYPE_LABELS, Head(), listTab, Transactions() (+7 more) ### Community 47 - "Community 47" Cohesion: 0.15 @@ -371,8 +373,8 @@ Cohesion: 0.15 Nodes (12): زمینه, فایل‌های مرتبط, مشکل / هدف, نمایش تعداد پزشکان هر تخصص در صفحه /specialties, نکات مهم, وضعیت فعلی (کد واقعی), وظایف, پروژه (+4 more) ### Community 51 - "Community 51" -Cohesion: 0.19 -Nodes (9): Card(), PAYMENT_STATUS, TYPE_LABELS, Head(), listTab, Transactions(), List(), PAYMENT_STATUS (+1 more) +Cohesion: 0.13 +Nodes (11): ClinicsPage(), DoctorsPage(), AutoComplete(), ButtonFilter(), Content(), ModalSearchCity(), AutoSearch(), FilterButton() (+3 more) ### Community 52 - "Community 52" Cohesion: 0.24 @@ -471,28 +473,28 @@ Cohesion: 0.29 Nodes (7): Authentication & Authorization, Development Tools, Frontend Framework, State Management & Data Fetching, UI/UX, 🏗️ معماری و تکنولوژی, کتابخانه‌های تخصصی ### Community 76 - "Community 76" -Cohesion: 0.40 -Nodes (3): Allergies(), ItemAllergie(), ModalAddAlergie() +Cohesion: 0.07 +Nodes (20): Allergies(), ItemAllergie(), HeadTab(), setNewData(), DetailUser(), Disease(), FamilyHistory(), ItemHistory() (+12 more) ### Community 79 - "Community 79" -Cohesion: 0.40 -Nodes (3): FamilyHistory(), ItemHistory(), ModalAddHistory() +Cohesion: 0.17 +Nodes (5): clearAccessToken(), api, handleSessionExpired(), request, removeToken() ### Community 81 - "Community 81" -Cohesion: 0.40 -Nodes (3): Medications(), ItemMedication(), ModalAddMedications() +Cohesion: 0.24 +Nodes (5): Head(), Article(), LatestArticles(), Title(), ItemTitle() ### Community 82 - "Community 82" -Cohesion: 0.40 -Nodes (3): ModalAddRelatives(), Relatives(), ItemRelatives() +Cohesion: 0.17 +Nodes (11): رفع خطای `TypeError: fetch failed` در sitemap هنگام دیپلوی (Docker build), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+3 more) ### Community 83 - "Community 83" -Cohesion: 0.40 -Nodes (3): ModalAddSurgeries(), Surgeries(), ItemSurgeries() +Cohesion: 0.24 +Nodes (6): STATUS_LABELS, Head(), listTab, Turns(), List(), STATUS_LABELS ### Community 85 - "Community 85" -Cohesion: 0.53 -Nodes (3): setNewData(), DetailUser(), Disease() +Cohesion: 0.36 +Nodes (4): SearchBar(), ButtonFilter(), Fields(), RedirectLink() ### Community 86 - "Community 86" Cohesion: 0.40 @@ -502,10 +504,6 @@ Nodes (5): Doctors(), FILTER_KEYS, generateMetadata(), listingRobots(), buildDoc Cohesion: 0.33 Nodes (6): 1. افزودن صفحه جدید, 2. افزودن API Endpoint جدید, 3. افزودن کامپوننت جدید, 4. کار با تاریخ شمسی, 5. استفاده از Context, 📝 نکات توسعه -### Community 89 - "Community 89" -Cohesion: 0.70 -Nodes (4): generateMetadata(), Doctor(), getDoctor, getDoctorAddresses - ### Community 90 - "Community 90" Cohesion: 0.50 Nodes (4): buildDays(), InlineJalaliMonth(), MONTHS, WEEKDAYS @@ -554,25 +552,33 @@ Nodes (4): Metadata داینامیک بر اساس شهر, ساختار دامن Cohesion: 0.67 Nodes (3): Feature Components, Layout Components, 🧩 کامپوننت‌های اصلی +### Community 365 - "Community 365" +Cohesion: 0.70 +Nodes (4): generateMetadata(), Clinic(), computeClinicRating(), getClinic + +### Community 366 - "Community 366" +Cohesion: 0.50 +Nodes (3): RootLayout(), safeJsonLd(), safeJsonParse() + ## Knowledge Gaps -- **668 isolated node(s):** `metadata`, `FILTER_KEYS`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData` (+663 more) +- **677 isolated node(s):** `metadata`, `FILTER_KEYS`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData` (+672 more) These have ≤1 connection - possible missing edges or undocumented components. -- **29 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. +- **30 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `getStateInfo()` connect `Community 29` to `Community 0`, `Community 67`, `Community 3`, `Community 70`, `Community 6`, `Community 72`, `Community 45`, `Community 14`, `Community 16`, `Community 86`, `Community 89`?** +- **Why does `getStateInfo()` connect `Community 29` to `Community 0`, `Community 67`, `Community 70`, `Community 6`, `Community 72`, `Community 365`, `Community 45`, `Community 366`, `Community 16`, `Community 14`, `Community 51`, `Community 85`, `Community 86`?** _High betweenness centrality (0.040) - this node is a cross-community bridge._ -- **Why does `imageUrl()` connect `Community 45` to `Community 0`, `Community 1`, `Community 99`, `Community 4`, `Community 7`, `Community 55`, `Community 56`, `Community 89`?** +- **Why does `imageUrl()` connect `Community 45` to `Community 0`, `Community 99`, `Community 4`, `Community 7`, `Community 365`, `Community 81`, `Community 55`, `Community 56`, `Community 89`?** _High betweenness centrality (0.039) - this node is a cross-community bridge._ -- **Why does `Dashboard()` connect `Community 6` to `Community 29`, `Community 70`?** +- **Why does `Dashboard()` connect `Community 6` to `Community 3`, `Community 70`, `Community 366`, `Community 79`, `Community 29`?** _High betweenness centrality (0.015) - this node is a cross-community bridge._ - **Are the 22 inferred relationships involving `getStateInfo()` (e.g. with `generateMetadata()` and `AboutUsPage()`) actually correct?** _`getStateInfo()` has 22 INFERRED edges - model-reasoned connections that need verification._ - **Are the 14 inferred relationships involving `imageUrl()` (e.g. with `generateMetadata()` and `generateMetadata()`) actually correct?** _`imageUrl()` has 14 INFERRED edges - model-reasoned connections that need verification._ - **What connects `metadata`, `FILTER_KEYS`, `fallbackLabels` to the rest of the system?** - _668 weakly-connected nodes found - possible documentation gaps or missing edges._ + _677 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Community 0` be split into smaller, more focused modules?** _Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/847a296771bd1672e5a798d5f0451ca074cd45536c02d88cd8c08b3857cc7b27.json b/graphify-out/cache/ast/v0.8.44/847a296771bd1672e5a798d5f0451ca074cd45536c02d88cd8c08b3857cc7b27.json new file mode 100644 index 0000000..3c904ba --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/847a296771bd1672e5a798d5f0451ca074cd45536c02d88cd8c08b3857cc7b27.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_nobat724_front_claude_md", "label": "CLAUDE.md", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L1"}, {"id": "nobat724_front_claude_claude_md", "label": "CLAUDE.md", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L1"}, {"id": "nobat724_front_claude_commands", "label": "Commands", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L5"}, {"id": "nobat724_front_claude_environment_variables", "label": "Environment Variables", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L16"}, {"id": "nobat724_front_claude_architecture_overview", "label": "Architecture Overview", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L25"}, {"id": "nobat724_front_claude_multi_domain_system_core_concept", "label": "Multi-Domain System (Core Concept)", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L29"}, {"id": "nobat724_front_claude_page_metadata_pattern", "label": "Page Metadata Pattern", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L39"}, {"id": "nobat724_front_claude_data_fetching", "label": "Data Fetching", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L60"}, {"id": "nobat724_front_claude_authentication_authorization", "label": "Authentication & Authorization", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L70"}, {"id": "nobat724_front_claude_styling", "label": "Styling", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L80"}, {"id": "nobat724_front_claude_routing_structure", "label": "Routing Structure", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L88"}, {"id": "nobat724_front_claude_key_data_files", "label": "Key Data Files", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L106"}, {"id": "nobat724_front_claude_doctor_clinic_slugs", "label": "Doctor & Clinic Slugs", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L112"}, {"id": "nobat724_front_claude_json_ld_structured_data", "label": "JSON-LD Structured Data", "file_type": "document", "source_file": "CLAUDE.md", "source_location": "L116"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_nobat724_front_claude_md", "target": "nobat724_front_claude_claude_md", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L1", "weight": 1.0}, {"source": "nobat724_front_claude_claude_md", "target": "nobat724_front_claude_commands", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L5", "weight": 1.0}, {"source": "nobat724_front_claude_claude_md", "target": "nobat724_front_claude_environment_variables", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L16", "weight": 1.0}, {"source": "nobat724_front_claude_claude_md", "target": "nobat724_front_claude_architecture_overview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L25", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_multi_domain_system_core_concept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L29", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_page_metadata_pattern", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L39", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_data_fetching", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L60", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_authentication_authorization", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L70", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_styling", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L80", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_routing_structure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L88", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_key_data_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L106", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_doctor_clinic_slugs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L112", "weight": 1.0}, {"source": "nobat724_front_claude_architecture_overview", "target": "nobat724_front_claude_json_ld_structured_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CLAUDE.md", "source_location": "L116", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/c71ff73b6ff7b535887b1f016ed07f863d3ebd283571b91baacccb9fb53f685d.json b/graphify-out/cache/ast/v0.8.44/c71ff73b6ff7b535887b1f016ed07f863d3ebd283571b91baacccb9fb53f685d.json new file mode 100644 index 0000000..b1b28cc --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/c71ff73b6ff7b535887b1f016ed07f863d3ebd283571b91baacccb9fb53f685d.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_nobat724_front_readme_md", "label": "README.md", "file_type": "document", "source_file": "README.md", "source_location": "L1"}, {"id": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "label": "\ud83c\udfe5 \u0646\u0648\u0628\u062a724 (Nobat724) - \u0633\u06cc\u0633\u062a\u0645 \u0646\u0648\u0628\u062a\u200c\u062f\u0647\u06cc \u0622\u0646\u0644\u0627\u06cc\u0646 \u067e\u0632\u0634\u06a9\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L1"}, {"id": "nobat724_front_readme_\u0641\u0647\u0631\u0633\u062a_\u0645\u0637\u0627\u0644\u0628", "label": "\ud83d\udccb \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628", "file_type": "document", "source_file": "README.md", "source_location": "L3"}, {"id": "nobat724_front_readme_\u0645\u0639\u0631\u0641\u06cc_\u067e\u0631\u0648\u0698\u0647", "label": "\ud83c\udfaf \u0645\u0639\u0631\u0641\u06cc \u067e\u0631\u0648\u0698\u0647", "file_type": "document", "source_file": "README.md", "source_location": "L19"}, {"id": "nobat724_front_readme_\u0648\u06cc\u0698\u06af\u06cc_\u0647\u0627\u06cc_\u0627\u0635\u0644\u06cc", "label": "\u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc:", "file_type": "document", "source_file": "README.md", "source_location": "L23"}, {"id": "nobat724_front_readme_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0648_\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "label": "\ud83c\udfd7\ufe0f \u0645\u0639\u0645\u0627\u0631\u06cc \u0648 \u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L36"}, {"id": "nobat724_front_readme_frontend_framework", "label": "Frontend Framework", "file_type": "document", "source_file": "README.md", "source_location": "L38"}, {"id": "nobat724_front_readme_ui_ux", "label": "UI/UX", "file_type": "document", "source_file": "README.md", "source_location": "L44"}, {"id": "nobat724_front_readme_state_management_data_fetching", "label": "State Management & Data Fetching", "file_type": "document", "source_file": "README.md", "source_location": "L52"}, {"id": "nobat724_front_readme_authentication_authorization", "label": "Authentication & Authorization", "file_type": "document", "source_file": "README.md", "source_location": "L58"}, {"id": "nobat724_front_readme_\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647_\u0647\u0627\u06cc_\u062a\u062e\u0635\u0635\u06cc", "label": "\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc \u062a\u062e\u0635\u0635\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L64"}, {"id": "nobat724_front_readme_development_tools", "label": "Development Tools", "file_type": "document", "source_file": "README.md", "source_location": "L73"}, {"id": "nobat724_front_readme_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u0631\u0648\u0698\u0647", "label": "\ud83d\udcc1 \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0631\u0648\u0698\u0647", "file_type": "document", "source_file": "README.md", "source_location": "L81"}, {"id": "nobat724_front_readme_\u0648\u06cc\u0698\u06af\u06cc_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u062f\u06cc", "label": "\u2728 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L171"}, {"id": "nobat724_front_readme_1_multi_domain_architecture", "label": "1. Multi-Domain Architecture", "file_type": "document", "source_file": "README.md", "source_location": "L173"}, {"id": "nobat724_front_readme_2_\u0633\u06cc\u0633\u062a\u0645_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a", "label": "2. \u0633\u06cc\u0633\u062a\u0645 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a", "file_type": "document", "source_file": "README.md", "source_location": "L194"}, {"id": "nobat724_front_readme_3_\u0633\u06cc\u0633\u062a\u0645_\u0631\u0632\u0631\u0648_\u0646\u0648\u0628\u062a", "label": "3. \u0633\u06cc\u0633\u062a\u0645 \u0631\u0632\u0631\u0648 \u0646\u0648\u0628\u062a", "file_type": "document", "source_file": "README.md", "source_location": "L222"}, {"id": "nobat724_front_readme_4_\u067e\u0646\u0644_\u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc", "label": "4. \u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L232"}, {"id": "nobat724_front_readme_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u067e\u0631\u0648\u0698\u0647", "label": "\ud83d\ude80 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647", "file_type": "document", "source_file": "README.md", "source_location": "L259"}, {"id": "nobat724_front_readme_\u067e\u06cc\u0634_\u0646\u06cc\u0627\u0632\u0647\u0627", "label": "\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627", "file_type": "document", "source_file": "README.md", "source_location": "L261"}, {"id": "nobat724_front_readme_\u0646\u0635\u0628_\u0648_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc", "label": "\u0646\u0635\u0628 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L267"}, {"id": "nobat724_front_readme_\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a_\u0647\u0627\u06cc_\u0645\u0648\u062c\u0648\u062f", "label": "\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f", "file_type": "document", "source_file": "README.md", "source_location": "L295"}, {"id": "nobat724_front_readme_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u0628\u0627_docker", "label": "\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0627 Docker", "file_type": "document", "source_file": "README.md", "source_location": "L306"}, {"id": "nobat724_front_readme_\u0633\u06cc\u0633\u062a\u0645_multi_domain", "label": "\ud83c\udf10 \u0633\u06cc\u0633\u062a\u0645 Multi-Domain", "file_type": "document", "source_file": "README.md", "source_location": "L321"}, {"id": "nobat724_front_readme_\u0633\u0627\u062e\u062a\u0627\u0631_\u062f\u0627\u0645\u0646\u0647_\u0647\u0627", "label": "\u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u0645\u0646\u0647\u200c\u0647\u0627", "file_type": "document", "source_file": "README.md", "source_location": "L323"}, {"id": "nobat724_front_readme_\u0641\u0631\u0622\u06cc\u0646\u062f_\u062a\u0634\u062e\u06cc\u0635_\u0634\u0647\u0631", "label": "\u0641\u0631\u0622\u06cc\u0646\u062f \u062a\u0634\u062e\u06cc\u0635 \u0634\u0647\u0631", "file_type": "document", "source_file": "README.md", "source_location": "L334"}, {"id": "nobat724_front_readme_metadata_\u062f\u0627\u06cc\u0646\u0627\u0645\u06cc\u06a9_\u0628\u0631_\u0627\u0633\u0627\u0633_\u0634\u0647\u0631", "label": "Metadata \u062f\u0627\u06cc\u0646\u0627\u0645\u06cc\u06a9 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0634\u0647\u0631", "file_type": "document", "source_file": "README.md", "source_location": "L365"}, {"id": "nobat724_front_readme_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a_\u0648_\u0645\u062c\u0648\u0632\u0647\u0627", "label": "\ud83d\udd10 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0648 \u0645\u062c\u0648\u0632\u0647\u0627", "file_type": "document", "source_file": "README.md", "source_location": "L382"}, {"id": "nobat724_front_readme_\u0641\u0631\u0622\u06cc\u0646\u062f_\u0648\u0631\u0648\u062f", "label": "\u0641\u0631\u0622\u06cc\u0646\u062f \u0648\u0631\u0648\u062f", "file_type": "document", "source_file": "README.md", "source_location": "L384"}, {"id": "nobat724_front_readme_cookies_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0634\u062f\u0647", "label": "Cookies \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647", "file_type": "document", "source_file": "README.md", "source_location": "L392"}, {"id": "nobat724_front_readme_\u0645\u062d\u0627\u0641\u0638\u062a_\u0627\u0632_\u0645\u0633\u06cc\u0631\u0647\u0627", "label": "\u0645\u062d\u0627\u0641\u0638\u062a \u0627\u0632 \u0645\u0633\u06cc\u0631\u0647\u0627", "file_type": "document", "source_file": "README.md", "source_location": "L399"}, {"id": "nobat724_front_readme_\u0645\u0633\u06cc\u0631\u0647\u0627_\u0648_\u0635\u0641\u062d\u0627\u062a", "label": "\ud83d\udccd \u0645\u0633\u06cc\u0631\u0647\u0627 \u0648 \u0635\u0641\u062d\u0627\u062a", "file_type": "document", "source_file": "README.md", "source_location": "L435"}, {"id": "nobat724_front_readme_\u0635\u0641\u062d\u0627\u062a_\u0639\u0645\u0648\u0645\u06cc_public", "label": "\u0635\u0641\u062d\u0627\u062a \u0639\u0645\u0648\u0645\u06cc (Public)", "file_type": "document", "source_file": "README.md", "source_location": "L437"}, {"id": "nobat724_front_readme_\u0635\u0641\u062d\u0627\u062a_\u0631\u0632\u0631\u0648_\u0646\u0648\u0628\u062a", "label": "\u0635\u0641\u062d\u0627\u062a \u0631\u0632\u0631\u0648 \u0646\u0648\u0628\u062a", "file_type": "document", "source_file": "README.md", "source_location": "L452"}, {"id": "nobat724_front_readme_\u0635\u0641\u062d\u0627\u062a_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a", "label": "\u0635\u0641\u062d\u0627\u062a \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a", "file_type": "document", "source_file": "README.md", "source_location": "L458"}, {"id": "nobat724_front_readme_\u067e\u0646\u0644_\u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc_protected", "label": "\u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc (Protected)", "file_type": "document", "source_file": "README.md", "source_location": "L465"}, {"id": "nobat724_front_readme_\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a_\u0647\u0627\u06cc_\u0627\u0635\u0644\u06cc", "label": "\ud83e\udde9 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L476"}, {"id": "nobat724_front_readme_layout_components", "label": "Layout Components", "file_type": "document", "source_file": "README.md", "source_location": "L478"}, {"id": "nobat724_front_readme_feature_components", "label": "Feature Components", "file_type": "document", "source_file": "README.md", "source_location": "L500"}, {"id": "nobat724_front_readme_api_\u0648_\u0633\u0631\u0648\u06cc\u0633_\u0647\u0627", "label": "\ud83d\udd0c API \u0648 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627", "file_type": "document", "source_file": "README.md", "source_location": "L538"}, {"id": "nobat724_front_readme_\u062a\u0646\u0638\u06cc\u0645\u0627\u062a_axios_services_api_js", "label": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a Axios (`services/api.js`)", "file_type": "document", "source_file": "README.md", "source_location": "L540"}, {"id": "nobat724_front_readme_api_endpoints_services_response_js", "label": "API Endpoints (`services/response.js`)", "file_type": "document", "source_file": "README.md", "source_location": "L560"}, {"id": "nobat724_front_readme_helper_functions_helper_index_js", "label": "Helper Functions (`helper/index.js`)", "file_type": "document", "source_file": "README.md", "source_location": "L602"}, {"id": "nobat724_front_readme_\u0627\u0633\u062a\u0627\u06cc\u0644_\u062f\u0647\u06cc", "label": "\ud83c\udfa8 \u0627\u0633\u062a\u0627\u06cc\u0644\u200c\u062f\u0647\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L630"}, {"id": "nobat724_front_readme_tailwind_css", "label": "Tailwind CSS", "file_type": "document", "source_file": "README.md", "source_location": "L632"}, {"id": "nobat724_front_readme_material_ui_theme", "label": "Material-UI Theme", "file_type": "document", "source_file": "README.md", "source_location": "L653"}, {"id": "nobat724_front_readme_dark_mode", "label": "Dark Mode", "file_type": "document", "source_file": "README.md", "source_location": "L669"}, {"id": "nobat724_front_readme_deployment", "label": "\ud83d\udc33 Deployment", "file_type": "document", "source_file": "README.md", "source_location": "L690"}, {"id": "nobat724_front_readme_\u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc_\u0645\u062d\u06cc\u0637\u06cc_\u0645\u0648\u0631\u062f_\u0646\u06cc\u0627\u0632", "label": "\u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632", "file_type": "document", "source_file": "README.md", "source_location": "L692"}, {"id": "nobat724_front_readme_build_production", "label": "Build Production", "file_type": "document", "source_file": "README.md", "source_location": "L708"}, {"id": "nobat724_front_readme_docker_deployment", "label": "Docker Deployment", "file_type": "document", "source_file": "README.md", "source_location": "L718"}, {"id": "nobat724_front_readme_docker_compose", "label": "Docker Compose", "file_type": "document", "source_file": "README.md", "source_location": "L731"}, {"id": "nobat724_front_readme_\u0646\u06a9\u0627\u062a_\u062a\u0648\u0633\u0639\u0647", "label": "\ud83d\udcdd \u0646\u06a9\u0627\u062a \u062a\u0648\u0633\u0639\u0647", "file_type": "document", "source_file": "README.md", "source_location": "L752"}, {"id": "nobat724_front_readme_1_\u0627\u0641\u0632\u0648\u062f\u0646_\u0635\u0641\u062d\u0647_\u062c\u062f\u06cc\u062f", "label": "1. \u0627\u0641\u0632\u0648\u062f\u0646 \u0635\u0641\u062d\u0647 \u062c\u062f\u06cc\u062f", "file_type": "document", "source_file": "README.md", "source_location": "L754"}, {"id": "nobat724_front_readme_2_\u0627\u0641\u0632\u0648\u062f\u0646_api_endpoint_\u062c\u062f\u06cc\u062f", "label": "2. \u0627\u0641\u0632\u0648\u062f\u0646 API Endpoint \u062c\u062f\u06cc\u062f", "file_type": "document", "source_file": "README.md", "source_location": "L769"}, {"id": "nobat724_front_readme_3_\u0627\u0641\u0632\u0648\u062f\u0646_\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a_\u062c\u062f\u06cc\u062f", "label": "3. \u0627\u0641\u0632\u0648\u062f\u0646 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u062c\u062f\u06cc\u062f", "file_type": "document", "source_file": "README.md", "source_location": "L780"}, {"id": "nobat724_front_readme_4_\u06a9\u0627\u0631_\u0628\u0627_\u062a\u0627\u0631\u06cc\u062e_\u0634\u0645\u0633\u06cc", "label": "4. \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0634\u0645\u0633\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L793"}, {"id": "nobat724_front_readme_5_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0627\u0632_context", "label": "5. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Context", "file_type": "document", "source_file": "README.md", "source_location": "L807"}, {"id": "nobat724_front_readme_troubleshooting", "label": "\ud83d\udd27 Troubleshooting", "file_type": "document", "source_file": "README.md", "source_location": "L822"}, {"id": "nobat724_front_readme_\u0645\u0634\u06a9\u0644\u0627\u062a_\u0631\u0627\u06cc\u062c", "label": "\u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c", "file_type": "document", "source_file": "README.md", "source_location": "L824"}, {"id": "nobat724_front_readme_\u0645\u0646\u0627\u0628\u0639_\u0645\u0641\u06cc\u062f", "label": "\ud83d\udcda \u0645\u0646\u0627\u0628\u0639 \u0645\u0641\u06cc\u062f", "file_type": "document", "source_file": "README.md", "source_location": "L852"}, {"id": "nobat724_front_readme_\u062a\u06cc\u0645_\u062a\u0648\u0633\u0639\u0647", "label": "\ud83d\udc65 \u062a\u06cc\u0645 \u062a\u0648\u0633\u0639\u0647", "file_type": "document", "source_file": "README.md", "source_location": "L862"}, {"id": "nobat724_front_readme_\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc", "label": "\ud83d\udcde \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc", "file_type": "document", "source_file": "README.md", "source_location": "L879"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_nobat724_front_readme_md", "target": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L1", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0641\u0647\u0631\u0633\u062a_\u0645\u0637\u0627\u0644\u0628", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L3", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0645\u0639\u0631\u0641\u06cc_\u067e\u0631\u0648\u0698\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L19", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0639\u0631\u0641\u06cc_\u067e\u0631\u0648\u0698\u0647", "target": "nobat724_front_readme_\u0648\u06cc\u0698\u06af\u06cc_\u0647\u0627\u06cc_\u0627\u0635\u0644\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L23", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0648_\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L36", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0648_\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "target": "nobat724_front_readme_frontend_framework", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L38", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0648_\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "target": "nobat724_front_readme_ui_ux", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L44", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0648_\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "target": "nobat724_front_readme_state_management_data_fetching", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L52", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0648_\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "target": "nobat724_front_readme_authentication_authorization", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L58", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0648_\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "target": "nobat724_front_readme_\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647_\u0647\u0627\u06cc_\u062a\u062e\u0635\u0635\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L64", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0648_\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc", "target": "nobat724_front_readme_development_tools", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L73", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u0631\u0648\u0698\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L81", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0648\u06cc\u0698\u06af\u06cc_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u062f\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L171", "weight": 1.0}, {"source": "nobat724_front_readme_\u0648\u06cc\u0698\u06af\u06cc_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u062f\u06cc", "target": "nobat724_front_readme_1_multi_domain_architecture", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L173", "weight": 1.0}, {"source": "nobat724_front_readme_\u0648\u06cc\u0698\u06af\u06cc_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u062f\u06cc", "target": "nobat724_front_readme_2_\u0633\u06cc\u0633\u062a\u0645_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L194", "weight": 1.0}, {"source": "nobat724_front_readme_\u0648\u06cc\u0698\u06af\u06cc_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u062f\u06cc", "target": "nobat724_front_readme_3_\u0633\u06cc\u0633\u062a\u0645_\u0631\u0632\u0631\u0648_\u0646\u0648\u0628\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L222", "weight": 1.0}, {"source": "nobat724_front_readme_\u0648\u06cc\u0698\u06af\u06cc_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u062f\u06cc", "target": "nobat724_front_readme_4_\u067e\u0646\u0644_\u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L232", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u067e\u0631\u0648\u0698\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L259", "weight": 1.0}, {"source": "nobat724_front_readme_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u067e\u0631\u0648\u0698\u0647", "target": "nobat724_front_readme_\u067e\u06cc\u0634_\u0646\u06cc\u0627\u0632\u0647\u0627", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L261", "weight": 1.0}, {"source": "nobat724_front_readme_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u067e\u0631\u0648\u0698\u0647", "target": "nobat724_front_readme_\u0646\u0635\u0628_\u0648_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L267", "weight": 1.0}, {"source": "nobat724_front_readme_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u067e\u0631\u0648\u0698\u0647", "target": "nobat724_front_readme_\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a_\u0647\u0627\u06cc_\u0645\u0648\u062c\u0648\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L295", "weight": 1.0}, {"source": "nobat724_front_readme_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u067e\u0631\u0648\u0698\u0647", "target": "nobat724_front_readme_\u0631\u0627\u0647_\u0627\u0646\u062f\u0627\u0632\u06cc_\u0628\u0627_docker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L306", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0633\u06cc\u0633\u062a\u0645_multi_domain", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L321", "weight": 1.0}, {"source": "nobat724_front_readme_\u0633\u06cc\u0633\u062a\u0645_multi_domain", "target": "nobat724_front_readme_\u0633\u0627\u062e\u062a\u0627\u0631_\u062f\u0627\u0645\u0646\u0647_\u0647\u0627", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L323", "weight": 1.0}, {"source": "nobat724_front_readme_\u0633\u06cc\u0633\u062a\u0645_multi_domain", "target": "nobat724_front_readme_\u0641\u0631\u0622\u06cc\u0646\u062f_\u062a\u0634\u062e\u06cc\u0635_\u0634\u0647\u0631", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L334", "weight": 1.0}, {"source": "nobat724_front_readme_\u0633\u06cc\u0633\u062a\u0645_multi_domain", "target": "nobat724_front_readme_metadata_\u062f\u0627\u06cc\u0646\u0627\u0645\u06cc\u06a9_\u0628\u0631_\u0627\u0633\u0627\u0633_\u0634\u0647\u0631", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L365", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a_\u0648_\u0645\u062c\u0648\u0632\u0647\u0627", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L382", "weight": 1.0}, {"source": "nobat724_front_readme_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a_\u0648_\u0645\u062c\u0648\u0632\u0647\u0627", "target": "nobat724_front_readme_\u0641\u0631\u0622\u06cc\u0646\u062f_\u0648\u0631\u0648\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L384", "weight": 1.0}, {"source": "nobat724_front_readme_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a_\u0648_\u0645\u062c\u0648\u0632\u0647\u0627", "target": "nobat724_front_readme_cookies_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0634\u062f\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L392", "weight": 1.0}, {"source": "nobat724_front_readme_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a_\u0648_\u0645\u062c\u0648\u0632\u0647\u0627", "target": "nobat724_front_readme_\u0645\u062d\u0627\u0641\u0638\u062a_\u0627\u0632_\u0645\u0633\u06cc\u0631\u0647\u0627", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L399", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0645\u0633\u06cc\u0631\u0647\u0627_\u0648_\u0635\u0641\u062d\u0627\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L435", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0633\u06cc\u0631\u0647\u0627_\u0648_\u0635\u0641\u062d\u0627\u062a", "target": "nobat724_front_readme_\u0635\u0641\u062d\u0627\u062a_\u0639\u0645\u0648\u0645\u06cc_public", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L437", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0633\u06cc\u0631\u0647\u0627_\u0648_\u0635\u0641\u062d\u0627\u062a", "target": "nobat724_front_readme_\u0635\u0641\u062d\u0627\u062a_\u0631\u0632\u0631\u0648_\u0646\u0648\u0628\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L452", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0633\u06cc\u0631\u0647\u0627_\u0648_\u0635\u0641\u062d\u0627\u062a", "target": "nobat724_front_readme_\u0635\u0641\u062d\u0627\u062a_\u0627\u062d\u0631\u0627\u0632_\u0647\u0648\u06cc\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L458", "weight": 1.0}, {"source": "nobat724_front_readme_\u0645\u0633\u06cc\u0631\u0647\u0627_\u0648_\u0635\u0641\u062d\u0627\u062a", "target": "nobat724_front_readme_\u067e\u0646\u0644_\u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc_protected", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L465", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a_\u0647\u0627\u06cc_\u0627\u0635\u0644\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L476", "weight": 1.0}, {"source": "nobat724_front_readme_\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a_\u0647\u0627\u06cc_\u0627\u0635\u0644\u06cc", "target": "nobat724_front_readme_layout_components", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L478", "weight": 1.0}, {"source": "nobat724_front_readme_\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a_\u0647\u0627\u06cc_\u0627\u0635\u0644\u06cc", "target": "nobat724_front_readme_feature_components", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L500", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_api_\u0648_\u0633\u0631\u0648\u06cc\u0633_\u0647\u0627", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L538", "weight": 1.0}, {"source": "nobat724_front_readme_api_\u0648_\u0633\u0631\u0648\u06cc\u0633_\u0647\u0627", "target": "nobat724_front_readme_\u062a\u0646\u0638\u06cc\u0645\u0627\u062a_axios_services_api_js", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L540", "weight": 1.0}, {"source": "nobat724_front_readme_api_\u0648_\u0633\u0631\u0648\u06cc\u0633_\u0647\u0627", "target": "nobat724_front_readme_api_endpoints_services_response_js", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L560", "weight": 1.0}, {"source": "nobat724_front_readme_api_\u0648_\u0633\u0631\u0648\u06cc\u0633_\u0647\u0627", "target": "nobat724_front_readme_helper_functions_helper_index_js", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L602", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0627\u0633\u062a\u0627\u06cc\u0644_\u062f\u0647\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L630", "weight": 1.0}, {"source": "nobat724_front_readme_\u0627\u0633\u062a\u0627\u06cc\u0644_\u062f\u0647\u06cc", "target": "nobat724_front_readme_tailwind_css", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L632", "weight": 1.0}, {"source": "nobat724_front_readme_\u0627\u0633\u062a\u0627\u06cc\u0644_\u062f\u0647\u06cc", "target": "nobat724_front_readme_material_ui_theme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L653", "weight": 1.0}, {"source": "nobat724_front_readme_\u0627\u0633\u062a\u0627\u06cc\u0644_\u062f\u0647\u06cc", "target": "nobat724_front_readme_dark_mode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L669", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_deployment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L690", "weight": 1.0}, {"source": "nobat724_front_readme_deployment", "target": "nobat724_front_readme_\u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc_\u0645\u062d\u06cc\u0637\u06cc_\u0645\u0648\u0631\u062f_\u0646\u06cc\u0627\u0632", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L692", "weight": 1.0}, {"source": "nobat724_front_readme_deployment", "target": "nobat724_front_readme_build_production", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L708", "weight": 1.0}, {"source": "nobat724_front_readme_deployment", "target": "nobat724_front_readme_docker_deployment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L718", "weight": 1.0}, {"source": "nobat724_front_readme_deployment", "target": "nobat724_front_readme_docker_compose", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L731", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0646\u06a9\u0627\u062a_\u062a\u0648\u0633\u0639\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L752", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u06a9\u0627\u062a_\u062a\u0648\u0633\u0639\u0647", "target": "nobat724_front_readme_1_\u0627\u0641\u0632\u0648\u062f\u0646_\u0635\u0641\u062d\u0647_\u062c\u062f\u06cc\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L754", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u06a9\u0627\u062a_\u062a\u0648\u0633\u0639\u0647", "target": "nobat724_front_readme_2_\u0627\u0641\u0632\u0648\u062f\u0646_api_endpoint_\u062c\u062f\u06cc\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L769", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u06a9\u0627\u062a_\u062a\u0648\u0633\u0639\u0647", "target": "nobat724_front_readme_3_\u0627\u0641\u0632\u0648\u062f\u0646_\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a_\u062c\u062f\u06cc\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L780", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u06a9\u0627\u062a_\u062a\u0648\u0633\u0639\u0647", "target": "nobat724_front_readme_4_\u06a9\u0627\u0631_\u0628\u0627_\u062a\u0627\u0631\u06cc\u062e_\u0634\u0645\u0633\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L793", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u06a9\u0627\u062a_\u062a\u0648\u0633\u0639\u0647", "target": "nobat724_front_readme_5_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0627\u0632_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L807", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_troubleshooting", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L822", "weight": 1.0}, {"source": "nobat724_front_readme_troubleshooting", "target": "nobat724_front_readme_\u0645\u0634\u06a9\u0644\u0627\u062a_\u0631\u0627\u06cc\u062c", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L824", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u0645\u0646\u0627\u0628\u0639_\u0645\u0641\u06cc\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L852", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u062a\u06cc\u0645_\u062a\u0648\u0633\u0639\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L862", "weight": 1.0}, {"source": "nobat724_front_readme_\u0646\u0648\u0628\u062a724_nobat724_\u0633\u06cc\u0633\u062a\u0645_\u0646\u0648\u0628\u062a_\u062f\u0647\u06cc_\u0622\u0646\u0644\u0627\u06cc\u0646_\u067e\u0632\u0634\u06a9\u06cc", "target": "nobat724_front_readme_\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "README.md", "source_location": "L879", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/f500d64d164ae77195e7aecbb1ff75b8cec4e1bfceb971ffac3cc46666071630.json b/graphify-out/cache/ast/v0.8.44/f500d64d164ae77195e7aecbb1ff75b8cec4e1bfceb971ffac3cc46666071630.json new file mode 100644 index 0000000..56f02e1 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/f500d64d164ae77195e7aecbb1ff75b8cec4e1bfceb971ffac3cc46666071630.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_nobat724_front_claude_prompt_fix_sitemap_build_fetch_failed_md", "label": "fix-sitemap-build-fetch-failed.md", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L1"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "label": "\u0631\u0641\u0639 \u062e\u0637\u0627\u06cc `TypeError: fetch failed` \u062f\u0631 sitemap \u0647\u0646\u06af\u0627\u0645 \u062f\u06cc\u067e\u0644\u0648\u06cc (Docker build)", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L1"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u067e\u0631\u0648\u0698\u0647", "label": "\u067e\u0631\u0648\u0698\u0647", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L3"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u0632\u0645\u06cc\u0646\u0647", "label": "\u0632\u0645\u06cc\u0646\u0647", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L7"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u0645\u0634\u06a9\u0644_\u0647\u062f\u0641", "label": "\u0645\u0634\u06a9\u0644 / \u0647\u062f\u0641", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L17"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u0641\u0627\u06cc\u0644_\u0647\u0627\u06cc_\u0645\u0631\u062a\u0628\u0637", "label": "\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L27"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "label": "\u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L35"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u0648\u0638\u0627\u06cc\u0641", "label": "\u0648\u0638\u0627\u06cc\u0641", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L67"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u06f1_\u0627\u062c\u0628\u0627\u0631_sitemap_\u0628\u0647_\u0631\u0646\u062f\u0631_\u062f\u0631_\u0632\u0645\u0627\u0646_\u0627\u062c\u0631\u0627_\u0646\u0647_build", "label": "\u06f1. \u0627\u062c\u0628\u0627\u0631 sitemap \u0628\u0647 \u0631\u0646\u062f\u0631 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627 (\u0646\u0647 build)", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L69"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u06f2_\u0645\u0642\u0627\u0648\u0645_\u0633\u0627\u0632\u06cc_fetch_\u0628\u0627_timeout", "label": "\u06f2. \u0645\u0642\u0627\u0648\u0645\u200c\u0633\u0627\u0632\u06cc fetch \u0628\u0627 timeout", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L80"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u06f3_\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc_\u0644\u0627\u06af_\u062a\u0645\u06cc\u0632\u062a\u0631_\u0628\u0631\u0627\u06cc_\u0634\u0628\u06a9\u0647_\u06cc_\u062f\u0631_\u062f\u0633\u062a\u0631\u0633_\u0646\u0628\u0648\u062f\u0646", "label": "\u06f3. (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc) \u0644\u0627\u06af \u062a\u0645\u06cc\u0632\u062a\u0631 \u0628\u0631\u0627\u06cc \u0634\u0628\u06a9\u0647\u200c\u06cc \u062f\u0631 \u062f\u0633\u062a\u0631\u0633\u200c\u0646\u0628\u0648\u062f\u0646", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L93"}, {"id": "prompt_fix_sitemap_build_fetch_failed_\u0646\u06a9\u0627\u062a_\u0645\u0647\u0645", "label": "\u0646\u06a9\u0627\u062a \u0645\u0647\u0645", "file_type": "document", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L103"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_nobat724_front_claude_prompt_fix_sitemap_build_fetch_failed_md", "target": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L1", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "target": "prompt_fix_sitemap_build_fetch_failed_\u067e\u0631\u0648\u0698\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L3", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "target": "prompt_fix_sitemap_build_fetch_failed_\u0632\u0645\u06cc\u0646\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L7", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "target": "prompt_fix_sitemap_build_fetch_failed_\u0645\u0634\u06a9\u0644_\u0647\u062f\u0641", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L17", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "target": "prompt_fix_sitemap_build_fetch_failed_\u0641\u0627\u06cc\u0644_\u0647\u0627\u06cc_\u0645\u0631\u062a\u0628\u0637", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L27", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "target": "prompt_fix_sitemap_build_fetch_failed_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L35", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "target": "prompt_fix_sitemap_build_fetch_failed_\u0648\u0638\u0627\u06cc\u0641", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L67", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_fix_sitemap_build_fetch_failed_\u06f1_\u0627\u062c\u0628\u0627\u0631_sitemap_\u0628\u0647_\u0631\u0646\u062f\u0631_\u062f\u0631_\u0632\u0645\u0627\u0646_\u0627\u062c\u0631\u0627_\u0646\u0647_build", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L69", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_fix_sitemap_build_fetch_failed_\u06f2_\u0645\u0642\u0627\u0648\u0645_\u0633\u0627\u0632\u06cc_fetch_\u0628\u0627_timeout", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L80", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_fix_sitemap_build_fetch_failed_\u06f3_\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc_\u0644\u0627\u06af_\u062a\u0645\u06cc\u0632\u062a\u0631_\u0628\u0631\u0627\u06cc_\u0634\u0628\u06a9\u0647_\u06cc_\u062f\u0631_\u062f\u0633\u062a\u0631\u0633_\u0646\u0628\u0648\u062f\u0646", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L93", "weight": 1.0}, {"source": "prompt_fix_sitemap_build_fetch_failed_\u0631\u0641\u0639_\u062e\u0637\u0627\u06cc_typeerror_fetch_failed_\u062f\u0631_sitemap_\u0647\u0646\u06af\u0627\u0645_\u062f\u06cc\u067e\u0644\u0648\u06cc_docker_build", "target": "prompt_fix_sitemap_build_fetch_failed_\u0646\u06a9\u0627\u062a_\u0645\u0647\u0645", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/fix-sitemap-build-fetch-failed.md", "source_location": "L103", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/stat-index.json b/graphify-out/cache/stat-index.json index 2692304..35f5a1e 100644 --- a/graphify-out/cache/stat-index.json +++ b/graphify-out/cache/stat-index.json @@ -1 +1 @@ -{"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/city.json":{"size":48430,"mtime_ns":1783069839994285903,"hash":"22951fe28fe51ecddfb70bcea671dc4be57fa388df6c4f17473d605b52951902"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/doctor_services.json":{"size":46716,"mtime_ns":1782843473061355065,"hash":"69c0d8624eabb28ee1926dd11d83d02a01adf8913f80dede1ad843c21ebc0258"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/education.json":{"size":360,"mtime_ns":1783066605170617760,"hash":"440ac7ee3fcce903f6aca0296103712fc17a1e9e86611527e9999c591573a2a2"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/progress_detail.json":{"size":519,"mtime_ns":1783066616077124496,"hash":"80fa177614a400037aa8b30941d025013544ef3ee864a7696d732cdac1cc6c3c"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/specialties.json":{"size":18764,"mtime_ns":1783065555796941169,"hash":"62b3ddfef408bb4f96f9ddd86862aa84919e27188e9fee49244dd8255e516914"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/state.json":{"size":4364,"mtime_ns":1782043006598236765,"hash":"87ca9a51f21c57083962121c571035a00e774a1a34cf519b0325450f882d04fd"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/jsconfig.json":{"size":72,"mtime_ns":1760953552262982824,"hash":"3c07efb26e59f46bcab477c7b4d1d68958c43ec0cceda5cb735726790af4fe76"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/liara.json":{"size":391,"mtime_ns":1782752961370207712,"hash":"10033b140aad3ee501bd9a5653eb0a1d43fe53aee55877becfca5a5d1b8a14b5"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/package.json":{"size":2250,"mtime_ns":1783319319096314147,"hash":"33b42f2ce8cac4d3129ca3504a45b69acb7d2d8a95b8a4965cd207f8faa66044"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/adapt-backend-audit-api.md":{"size":9483,"mtime_ns":1782671262951968193,"hash":"e19cc538d048d969601b941242dd729de7f7dea14a403bbe2ff5e134647aa10d"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/appointment-calendar-disabled-dates.md":{"size":9763,"mtime_ns":1781597583936646960,"hash":"e628c04749776a9b8042e5528f915660859a7cdfb6dc12d903cb1b2a73cb24ba"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/appointment-detail-fields-fix.md":{"size":4099,"mtime_ns":1781598090800373168,"hash":"2ab9c060be8be2d461b1ffd2995851906d66e25c229735a3219f85e1f8195839"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/appointment-required-account-fields.md":{"size":7280,"mtime_ns":1781597583936937752,"hash":"556a7ecaeb0c4bde3e6b682a03fea79fdaf7827c9d62ebb5c9b1cd58c427dc13"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/birthday-picker-year-month-day.md":{"size":7704,"mtime_ns":1781597583937172919,"hash":"a588d0d0150fcd8aaef3a41ebdad0404b8fa2c61855d157285aeb9dda04ef3ab"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/booking-lock-patient-flow.md":{"size":9588,"mtime_ns":1781597583937571794,"hash":"d78e22adc6d096b775cdcdc129b12347c337cff71afcb2b708c2cbca82486252"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/booking-send-representation.md":{"size":5088,"mtime_ns":1782304138361157784,"hash":"be8fa462416ccec3ff0f7e60b9d042def7fc27e7f8c03c577630fbb118e77482"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/city-seo-optimization.md":{"size":12088,"mtime_ns":1783069426847432170,"hash":"a0029107f5ad368d237cbf3b7ef28c7b7906794b6fb0da4a00180c0d5789d2d6"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/clinic-seo-schema-knowledge-panel.md":{"size":9490,"mtime_ns":1782035037082293145,"hash":"eb138f4534fc1433698377ae9673b1e22b8627dd564124c895efaf3bd58b64fe"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/connect-panel-dashboard-to-api.md":{"size":13193,"mtime_ns":1781597583937858961,"hash":"17a0579ff0b02c7d73fbdaaabdf26ae1dc668a0e6ab1fe3ff70a8222630b548f"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/currency-toman-display-front.md":{"size":6340,"mtime_ns":1783060321819663682,"hash":"d260ca8d266e49ee94910a03c027d8c2b83461c0a40ca046ba1b6fac591f614f"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/dashboard-tabs-real-data.md":{"size":10762,"mtime_ns":1781597583938112795,"hash":"e6cd614d25692aeefc353b2db4362ea2a269d2fe652151f227b6b855d33f5be3"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/doctor-poster-redesign.md":{"size":13362,"mtime_ns":1783190129986251542,"hash":"8113bbc0cb9b92135d3a293d761ff889a5f78b9d05d7273c7f8b0736c229c68f"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/doctor-seo-schema-knowledge-panel.md":{"size":16103,"mtime_ns":1782031319440018719,"hash":"a1e7d5a4da148b5b13b8800f09d1417ff7a54d20c847b2738624b9d3e72659fc"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-appointment-booking-flow.md":{"size":19846,"mtime_ns":1781597583938358921,"hash":"f023a2e60de677580f5eb6ca22c299f10ee2c557be036cb5adcfa8917ef7d6fa"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-appointment-payment-flow.md":{"size":12476,"mtime_ns":1781597583938747463,"hash":"18b75a0aa94343da7fe5d77403f73b9e704527a92f8da7db04c627303413ef82"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-dashboard-uuid-and-lists.md":{"size":8449,"mtime_ns":1781597583938977130,"hash":"c9171ffaaad4600e4012c4dc7e8d747b8946ba451dfa315605e8ff4928694535"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-doctor-free-turn-disabled.md":{"size":7505,"mtime_ns":1782107579291283238,"hash":"01769376a658f7bf4c1c2ad9349b00581d485f9b199f48871b79333430847f0e"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-doctor-poster-download-image.md":{"size":8557,"mtime_ns":1783188160359344560,"hash":"11395172e2e3d905b4873294ed9df03919796e3c27396fcfc3816fccf38d456c"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-doctors-filter-performance.md":{"size":7565,"mtime_ns":1782043739683215914,"hash":"a2bff95d8ec72493e859cb174fca8469022ee7669f193d889e6e3d2b59bd97b3"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-header-logged-state.md":{"size":7287,"mtime_ns":1781597583939167297,"hash":"9fa28b5810446e5d2cf89ccf2f58a9976c4e9ce3975df5a3b32f3c3eb50a0dce"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-login-bugs.md":{"size":5993,"mtime_ns":1782035969986699960,"hash":"94add08ebe87780fbd4fccf08ed11be2cb45d55828a81f6cc9bc39c79902c040"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-login-session-userinfo.md":{"size":8739,"mtime_ns":1781597583939455089,"hash":"22044e56711732a73f5130b6d38607cd52df0e22fc19c6bd5778544486df932e"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-my-appointments-status-filter.md":{"size":6079,"mtime_ns":1781597583939678131,"hash":"cf4be2acf9ffc36974a6f6999cf2cc5259b73be544a3e0bcaf0f589f34943c4d"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-payment-gateway-flow.md":{"size":11147,"mtime_ns":1782981612166014856,"hash":"c6e6c55b51cabc086cfb88e97ae4977b2f8587822a38232102bea1d45b94f0ab"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-token-storage-xss-headers.md":{"size":11238,"mtime_ns":1781946381493130088,"hash":"88ae04aa6c4de588a6b7fab59d6fc9426d7b1b43c75a1e1e4103fdcf0edfc6df"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/liara-deploy.md":{"size":9137,"mtime_ns":1782750983100811315,"hash":"40d115b3bc3a43851f8e317427e23bd857de37f77bb5b2080077c69e774d1a53"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/nobat724-root-domain-not-city.md":{"size":8911,"mtime_ns":1783016271523973931,"hash":"7abb24fe0c3e3ea6125318b160cba6c41c57be779a3a96dccc77be825cb2d713"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/nobat724-test-suite.md":{"size":19981,"mtime_ns":1782675306936470499,"hash":"76e8926e91c5544fd793ecba45b8b4db9bff5f11593d3ed64a5a8f308ee745e9"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/otp-sms-site-name.md":{"size":4341,"mtime_ns":1783070832183884597,"hash":"c4c736e8535fae943d10e3bfc9aa45b546be27aef879ddc7b919caa7790ff2c5"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/payment-flow-frontend.md":{"size":6753,"mtime_ns":1782992956701932660,"hash":"6913de88e303725560499adef7c1ce2583e257eef0b083758cb67eab05d46151"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/payment-single-flow-frontend.md":{"size":6327,"mtime_ns":1782994816069623536,"hash":"4bf6587d44aa63a0b48c7a22fe7d01cf30be8d2a5385fc3205e3ba4155437411"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/profile-birthday-send-direction-fix.md":{"size":3365,"mtime_ns":1781597583939863923,"hash":"66a55129ea309cca03cc872462fd47053c309c64720784e79f21b4efb5ae4ec0"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/rating-rich-ui-wiring.md":{"size":9378,"mtime_ns":1781597583940215798,"hash":"add909cd22a22c9352f1cd3a6b4bb2ad6672e7784198164f8dbfda25d2f0f93a"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/seo-performance-rendering-audit.md":{"size":15903,"mtime_ns":1782028177971687083,"hash":"10bcf71f9a660ad56f97bb92cb033794f8e65858f761c286191277095231e09a"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/specialties-doctor-count-wire.md":{"size":5538,"mtime_ns":1781599369387196341,"hash":"5d9ed62a164217933720bd64bef89e07413a7e82fe92171cf9508b24e0e5d838"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/technical-seo-audit-multidomain.md":{"size":19291,"mtime_ns":1783252646626491244,"hash":"d070d13a6d70943eb3b5332a9909bcdc1eff6826610b93156c767087628cb143"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/upgrade-next-16.md":{"size":13380,"mtime_ns":1783318413519116126,"hash":"e0f930abf1bac512900eb97733708e398c52df8a5a088d3cd11212546f210eb9"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/user-profile-no-404.md":{"size":6562,"mtime_ns":1781597583940472507,"hash":"a5e69f183ea4fdd29b651385b5350ecc1d7c52097b7a4228e7d1be03b98f7c61"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/verify-past-slots-disabled.md":{"size":5350,"mtime_ns":1781597583940678257,"hash":"bfc8ebe5dcd533c93c86935a95afbcd9456f3828d6801dc02a4231a52b6b06b9"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/CLAUDE.md":{"size":5651,"mtime_ns":1780683123948452806,"hash":"e32e2b6305216aa1906de8213f235c5648f3c523f99300c9e27f024109208482"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/README.md":{"size":24068,"mtime_ns":1764813617283047058,"hash":"858b8f4020417e1cca3ad7e6f0a3153039d04748997b78688faf1ca88b758b0f"}} \ No newline at end of file +{"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/city.json":{"size":48430,"mtime_ns":1783069839994285903,"hash":"22951fe28fe51ecddfb70bcea671dc4be57fa388df6c4f17473d605b52951902"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/doctor_services.json":{"size":46716,"mtime_ns":1782843473061355065,"hash":"69c0d8624eabb28ee1926dd11d83d02a01adf8913f80dede1ad843c21ebc0258"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/education.json":{"size":360,"mtime_ns":1783066605170617760,"hash":"440ac7ee3fcce903f6aca0296103712fc17a1e9e86611527e9999c591573a2a2"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/progress_detail.json":{"size":519,"mtime_ns":1783066616077124496,"hash":"80fa177614a400037aa8b30941d025013544ef3ee864a7696d732cdac1cc6c3c"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/specialties.json":{"size":18764,"mtime_ns":1783065555796941169,"hash":"62b3ddfef408bb4f96f9ddd86862aa84919e27188e9fee49244dd8255e516914"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/data/state.json":{"size":4364,"mtime_ns":1782043006598236765,"hash":"87ca9a51f21c57083962121c571035a00e774a1a34cf519b0325450f882d04fd"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/jsconfig.json":{"size":72,"mtime_ns":1760953552262982824,"hash":"3c07efb26e59f46bcab477c7b4d1d68958c43ec0cceda5cb735726790af4fe76"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/liara.json":{"size":391,"mtime_ns":1782752961370207712,"hash":"10033b140aad3ee501bd9a5653eb0a1d43fe53aee55877becfca5a5d1b8a14b5"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/package.json":{"size":2250,"mtime_ns":1783320697752623093,"hash":"33b42f2ce8cac4d3129ca3504a45b69acb7d2d8a95b8a4965cd207f8faa66044"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/adapt-backend-audit-api.md":{"size":9483,"mtime_ns":1782671262951968193,"hash":"e19cc538d048d969601b941242dd729de7f7dea14a403bbe2ff5e134647aa10d"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/appointment-calendar-disabled-dates.md":{"size":9763,"mtime_ns":1781597583936646960,"hash":"e628c04749776a9b8042e5528f915660859a7cdfb6dc12d903cb1b2a73cb24ba"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/appointment-detail-fields-fix.md":{"size":4099,"mtime_ns":1781598090800373168,"hash":"2ab9c060be8be2d461b1ffd2995851906d66e25c229735a3219f85e1f8195839"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/appointment-required-account-fields.md":{"size":7280,"mtime_ns":1781597583936937752,"hash":"556a7ecaeb0c4bde3e6b682a03fea79fdaf7827c9d62ebb5c9b1cd58c427dc13"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/birthday-picker-year-month-day.md":{"size":7704,"mtime_ns":1781597583937172919,"hash":"a588d0d0150fcd8aaef3a41ebdad0404b8fa2c61855d157285aeb9dda04ef3ab"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/booking-lock-patient-flow.md":{"size":9588,"mtime_ns":1781597583937571794,"hash":"d78e22adc6d096b775cdcdc129b12347c337cff71afcb2b708c2cbca82486252"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/booking-send-representation.md":{"size":5088,"mtime_ns":1782304138361157784,"hash":"be8fa462416ccec3ff0f7e60b9d042def7fc27e7f8c03c577630fbb118e77482"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/city-seo-optimization.md":{"size":12088,"mtime_ns":1783069426847432170,"hash":"a0029107f5ad368d237cbf3b7ef28c7b7906794b6fb0da4a00180c0d5789d2d6"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/clinic-seo-schema-knowledge-panel.md":{"size":9490,"mtime_ns":1782035037082293145,"hash":"eb138f4534fc1433698377ae9673b1e22b8627dd564124c895efaf3bd58b64fe"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/connect-panel-dashboard-to-api.md":{"size":13193,"mtime_ns":1781597583937858961,"hash":"17a0579ff0b02c7d73fbdaaabdf26ae1dc668a0e6ab1fe3ff70a8222630b548f"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/currency-toman-display-front.md":{"size":6340,"mtime_ns":1783060321819663682,"hash":"d260ca8d266e49ee94910a03c027d8c2b83461c0a40ca046ba1b6fac591f614f"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/dashboard-tabs-real-data.md":{"size":10762,"mtime_ns":1781597583938112795,"hash":"e6cd614d25692aeefc353b2db4362ea2a269d2fe652151f227b6b855d33f5be3"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/doctor-poster-redesign.md":{"size":13362,"mtime_ns":1783190129986251542,"hash":"8113bbc0cb9b92135d3a293d761ff889a5f78b9d05d7273c7f8b0736c229c68f"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/doctor-seo-schema-knowledge-panel.md":{"size":16103,"mtime_ns":1782031319440018719,"hash":"a1e7d5a4da148b5b13b8800f09d1417ff7a54d20c847b2738624b9d3e72659fc"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-appointment-booking-flow.md":{"size":19846,"mtime_ns":1781597583938358921,"hash":"f023a2e60de677580f5eb6ca22c299f10ee2c557be036cb5adcfa8917ef7d6fa"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-appointment-payment-flow.md":{"size":12476,"mtime_ns":1781597583938747463,"hash":"18b75a0aa94343da7fe5d77403f73b9e704527a92f8da7db04c627303413ef82"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-dashboard-uuid-and-lists.md":{"size":8449,"mtime_ns":1781597583938977130,"hash":"c9171ffaaad4600e4012c4dc7e8d747b8946ba451dfa315605e8ff4928694535"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-doctor-free-turn-disabled.md":{"size":7505,"mtime_ns":1782107579291283238,"hash":"01769376a658f7bf4c1c2ad9349b00581d485f9b199f48871b79333430847f0e"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-doctor-poster-download-image.md":{"size":8557,"mtime_ns":1783188160359344560,"hash":"11395172e2e3d905b4873294ed9df03919796e3c27396fcfc3816fccf38d456c"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-doctors-filter-performance.md":{"size":7565,"mtime_ns":1782043739683215914,"hash":"a2bff95d8ec72493e859cb174fca8469022ee7669f193d889e6e3d2b59bd97b3"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-header-logged-state.md":{"size":7287,"mtime_ns":1781597583939167297,"hash":"9fa28b5810446e5d2cf89ccf2f58a9976c4e9ce3975df5a3b32f3c3eb50a0dce"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-login-bugs.md":{"size":5993,"mtime_ns":1782035969986699960,"hash":"94add08ebe87780fbd4fccf08ed11be2cb45d55828a81f6cc9bc39c79902c040"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-login-session-userinfo.md":{"size":8739,"mtime_ns":1781597583939455089,"hash":"22044e56711732a73f5130b6d38607cd52df0e22fc19c6bd5778544486df932e"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-my-appointments-status-filter.md":{"size":6079,"mtime_ns":1781597583939678131,"hash":"cf4be2acf9ffc36974a6f6999cf2cc5259b73be544a3e0bcaf0f589f34943c4d"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-payment-gateway-flow.md":{"size":11147,"mtime_ns":1782981612166014856,"hash":"c6e6c55b51cabc086cfb88e97ae4977b2f8587822a38232102bea1d45b94f0ab"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-token-storage-xss-headers.md":{"size":11238,"mtime_ns":1781946381493130088,"hash":"88ae04aa6c4de588a6b7fab59d6fc9426d7b1b43c75a1e1e4103fdcf0edfc6df"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/liara-deploy.md":{"size":9137,"mtime_ns":1782750983100811315,"hash":"40d115b3bc3a43851f8e317427e23bd857de37f77bb5b2080077c69e774d1a53"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/nobat724-root-domain-not-city.md":{"size":8911,"mtime_ns":1783016271523973931,"hash":"7abb24fe0c3e3ea6125318b160cba6c41c57be779a3a96dccc77be825cb2d713"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/nobat724-test-suite.md":{"size":19981,"mtime_ns":1782675306936470499,"hash":"76e8926e91c5544fd793ecba45b8b4db9bff5f11593d3ed64a5a8f308ee745e9"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/otp-sms-site-name.md":{"size":4341,"mtime_ns":1783070832183884597,"hash":"c4c736e8535fae943d10e3bfc9aa45b546be27aef879ddc7b919caa7790ff2c5"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/payment-flow-frontend.md":{"size":6753,"mtime_ns":1782992956701932660,"hash":"6913de88e303725560499adef7c1ce2583e257eef0b083758cb67eab05d46151"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/payment-single-flow-frontend.md":{"size":6327,"mtime_ns":1782994816069623536,"hash":"4bf6587d44aa63a0b48c7a22fe7d01cf30be8d2a5385fc3205e3ba4155437411"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/profile-birthday-send-direction-fix.md":{"size":3365,"mtime_ns":1781597583939863923,"hash":"66a55129ea309cca03cc872462fd47053c309c64720784e79f21b4efb5ae4ec0"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/rating-rich-ui-wiring.md":{"size":9378,"mtime_ns":1781597583940215798,"hash":"add909cd22a22c9352f1cd3a6b4bb2ad6672e7784198164f8dbfda25d2f0f93a"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/seo-performance-rendering-audit.md":{"size":15903,"mtime_ns":1782028177971687083,"hash":"10bcf71f9a660ad56f97bb92cb033794f8e65858f761c286191277095231e09a"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/specialties-doctor-count-wire.md":{"size":5538,"mtime_ns":1781599369387196341,"hash":"5d9ed62a164217933720bd64bef89e07413a7e82fe92171cf9508b24e0e5d838"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/technical-seo-audit-multidomain.md":{"size":19291,"mtime_ns":1783252646626491244,"hash":"d070d13a6d70943eb3b5332a9909bcdc1eff6826610b93156c767087628cb143"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/upgrade-next-16.md":{"size":13380,"mtime_ns":1783320697635832503,"hash":"e0f930abf1bac512900eb97733708e398c52df8a5a088d3cd11212546f210eb9"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/user-profile-no-404.md":{"size":6562,"mtime_ns":1781597583940472507,"hash":"a5e69f183ea4fdd29b651385b5350ecc1d7c52097b7a4228e7d1be03b98f7c61"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/verify-past-slots-disabled.md":{"size":5350,"mtime_ns":1781597583940678257,"hash":"bfc8ebe5dcd533c93c86935a95afbcd9456f3828d6801dc02a4231a52b6b06b9"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/CLAUDE.md":{"size":5513,"mtime_ns":1783323447323021515,"hash":"847a296771bd1672e5a798d5f0451ca074cd45536c02d88cd8c08b3857cc7b27"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/README.md":{"size":23904,"mtime_ns":1783323437507877219,"hash":"c71ff73b6ff7b535887b1f016ed07f863d3ebd283571b91baacccb9fb53f685d"},"/Users/hamed/pj/my_pj/clinic_pro/nobat724_front/.claude/prompt/fix-sitemap-build-fetch-failed.md":{"size":6887,"mtime_ns":1783337915815095855,"hash":"f500d64d164ae77195e7aecbb1ff75b8cec4e1bfceb971ffac3cc46666071630"}} \ No newline at end of file diff --git a/graphify-out/graph.html b/graphify-out/graph.html index 2cee5d4..1a4a8a4 100644 --- a/graphify-out/graph.html +++ b/graphify-out/graph.html @@ -2,7 +2,7 @@ -graphify - nobat724_front/graphify-out/graph.html +graphify - graphify-out/graph.html @@ -63,12 +63,12 @@
-
2012 nodes · 1996 edges · 365 communities
+
2024 nodes · 2007 edges · 367 communities