# Crypto API Hub Page ## نمای کلی این صفحه یک داشبورد جامع برای مدیریت و تست 74+ سرویس API کریپتو است. ## ویژگی‌ها ### 1. نمایش سرویس‌ها - **74+ سرویس API** در 5 دسته: - 🔗 **Explorer**: Etherscan, BscScan, TronScan, و غیره - 📊 **Market**: CoinGecko, CoinMarketCap, Binance, و غیره - 📰 **News**: CryptoPanic, NewsAPI, CoinDesk, و غیره - 💭 **Sentiment**: Fear & Greed, LunarCrush, Santiment - 📈 **Analytics**: Whale Alert, Nansen, Glassnode, و غیره ### 2. جستجو و فیلتر - جستجوی زنده در نام سرویس‌ها، URL‌ها و اندپوینت‌ها - فیلتر سریع بر اساس دسته‌بندی - نمایش تعداد اندپوینت‌ها و وضعیت کلید API ### 3. تستر API داخلی - پشتیبانی از متدهای HTTP: GET, POST, PUT, DELETE - امکان افزودن Headers سفارشی - امکان ارسال Body برای POST/PUT - نمایش Response به صورت JSON فرمت شده - مدیریت خطاهای CORS ### 4. عملیات سریع - **Copy**: کپی سریع URL اندپوینت - **Test**: باز کردن تستر با URL از پیش پر شده - **Export**: دانلود تمام داده‌ها به صورت JSON ## ساختار فایل‌ها ``` crypto-api-hub/ ├── index.html # صفحه اصلی با ساختار یکپارچه ├── crypto-api-hub.css # استایل‌های اختصاصی ├── crypto-api-hub.js # منطق و داده‌های سرویس‌ها └── README.md # این فایل ``` ## استفاده ### جستجو 1. در کادر جستجو تایپ کنید 2. نتایج به صورت زنده فیلتر می‌شوند 3. می‌توانید نام سرویس، URL یا اندپوینت را جستجو کنید ### فیلتر بر اساس دسته 1. روی یکی از تب‌های بالا کلیک کنید: - All (همه) - Explorers - Market - News - Sentiment - Analytics 2. فقط سرویس‌های آن دسته نمایش داده می‌شوند ### تست اندپوینت 1. روی دکمه "Test" در کنار هر اندپوینت کلیک کنید 2. مودال تستر باز می‌شود با URL از پیش پر شده 3. در صورت نیاز Headers یا Body اضافه کنید 4. روی "Send Request" کلیک کنید 5. Response در پایین نمایش داده می‌شود ### کپی URL 1. روی دکمه "Copy" کلیک کنید 2. URL به کلیپبورد کپی می‌شود 3. یک Toast notification نمایش داده می‌شود ### Export داده‌ها 1. روی دکمه "Export" در بالای صفحه کلیک کنید 2. یک فایل JSON شامل تمام سرویس‌ها دانلود می‌شود 3. فایل شامل metadata و تمام اطلاعات سرویس‌ها است ## داده‌های سرویس هر سرویس شامل: ```javascript { name: "نام سرویس", url: "URL پایه", key: "کلید API (در صورت وجود)", endpoints: [ "لیست اندپوینت‌ها" ] } ``` ### افزودن سرویس جدید برای افزودن سرویس جدید، فایل `crypto-api-hub.js` را ویرایش کنید: ```javascript const SERVICES = { // دسته موجود market: [ // سرویس‌های موجود... // سرویس جدید { name: "New Service", url: "https://api.newservice.com", key: "YOUR_API_KEY", // یا "" اگر نیاز به کلید ندارد endpoints: [ "/endpoint1", "/endpoint2?param={value}" ] } ] }; ``` ## استایل‌ها صفحه از design system یکپارچه استفاده می‌کند: ### رنگ‌ها - از متغیرهای CSS در `design-system.css` - گرادیانت‌های رنگی برای هر کارت - رنگ‌های semantic برای وضعیت‌ها ### انیمیشن‌ها - Hover effects روی کارت‌ها - Slide up برای مودال - Fade in برای toast notifications - Transform برای دکمه‌ها ### Responsive - Grid layout خودکار برای کارت‌ها - تنظیمات ویژه برای موبایل و تبلت - Stack شدن المان‌ها در صفحات کوچک ## API Reference ### Functions #### `renderServices()` رندر کردن تمام سرویس‌ها بر اساس فیلتر فعلی #### `handleSearch(e)` مدیریت جستجوی زنده #### `handleFilterChange(tab)` تغییر فیلتر دسته‌بندی #### `openModal()` باز کردن مودال تستر API #### `closeModal()` بستن مودال تستر API #### `sendRequest()` ارسال درخواست HTTP به API #### `copyEndpoint(text)` کپی کردن متن به کلیپبورد #### `testEndpoint(url, key)` باز کردن تستر با URL مشخص #### `exportJSON()` دانلود تمام داده‌ها به صورت JSON ## نکات مهم ### CORS بسیاری از APIها CORS را محدود کرده‌اند، بنابراین ممکن است تست مستقیم از مرورگر کار نکند. در این صورت: - از Postman یا curl استفاده کنید - یا از یک proxy server استفاده کنید - یا API را از سمت سرور فراخوانی کنید ### API Keys کلیدهای API در کد قرار دارند فقط برای نمایش و تست. در production: - کلیدها را در متغیرهای محیطی ذخیره کنید - از سمت سرور API را فراخوانی کنید - هرگز کلیدها را در کد frontend قرار ندهید ### Rate Limiting APIهای رایگان معمولاً محدودیت تعداد درخواست دارند. مراقب باشید که: - خیلی سریع درخواست نفرستید - از caching استفاده کنید - Rate limits هر API را بررسی کنید ## مشارکت برای افزودن سرویس جدید یا بهبود صفحه: 1. فایل `crypto-api-hub.js` را ویرایش کنید 2. سرویس جدید را به دسته مناسب اضافه کنید 3. اطلاعات کامل (name, url, key, endpoints) را وارد کنید 4. تست کنید که همه چیز کار می‌کند 5. آمار در بالای صفحه خودکار به‌روز می‌شود ## لایسنس این پروژه بخشی از Crypto Monitor ULTIMATE است. --- **نسخه**: 1.0.0 **آخرین به‌روزرسانی**: 27 نوامبر 2025 **وضعیت**: ✅ Production Ready