File size: 6,902 Bytes
b190b45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# 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