sdk: docker
emoji: 🚀
colorFrom: red
colorTo: yellow
pinned: true
🚀 Crypto API Monitor - Real-time Dashboard
یک داشبورد مانیتورینگ حرفهای برای ارزهای دیجیتال با قابلیت نمایش دادههای Real-time
A professional monitoring dashboard for cryptocurrencies with real-time data display capabilities
📋 فهرست مطالب / Table of Contents
- ویژگیها / Features
- نصب و راهاندازی / Installation
- استفاده / Usage
- ساختار پروژه / Project Structure
- API Endpoints
- تنظیمات / Configuration
- مشکلات رایج / Troubleshooting
✨ ویژگیها / Features
فارسی
- 📊 داشبورد Real-time: نمایش زنده قیمت ارزهای دیجیتال
- 🔌 WebSocket: اتصال دوطرفه برای بهروزرسانی لحظهای
- 📈 نمودارهای تعاملی: نمایش گرافیکی دادههای بازار
- 🏥 مانیتورینگ سلامت سیستم: نظارت بر وضعیت سرورها و APIها
- 🔔 سیستم هشدار: اعلانهای خودکار برای رویدادهای مهم
- 💼 مدیریت Providers: نظارت بر وضعیت صرافیها و منابع داده
- 🎨 رابط کاربری مدرن: طراحی زیبا و کاربرپسند
- 🌐 پشتیبانی از چندین منبع: Binance, CoinGecko, Coinbase و بیشتر
English
- 📊 Real-time Dashboard: Live cryptocurrency price display
- 🔌 WebSocket: Bidirectional connection for instant updates
- 📈 Interactive Charts: Graphical display of market data
- 🏥 System Health Monitoring: Server and API status tracking
- 🔔 Alert System: Automatic notifications for important events
- 💼 Provider Management: Exchange and data source monitoring
- 🎨 Modern UI: Beautiful and user-friendly interface
- 🌐 Multi-source Support: Binance, CoinGecko, Coinbase and more
🛠️ نصب و راهاندازی / Installation
پیشنیازها / Prerequisites
ویندوز / Windows:
Python 3.8 یا بالاتر
- دانلود از: https://www.python.org/downloads/
- ⚠️ حتماً گزینه "Add Python to PATH" را فعال کنید
مرورگر مدرن
- Chrome, Firefox, Edge یا Safari
روش نصب / Installation Steps
روش اول: استفاده از فایل Batch (توصیه میشود) / Method 1: Using Batch File (Recommended)
# فقط دابل کلیک روی start.bat
# Just double-click on start.bat
این فایل به صورت خودکار:
- محیط مجازی Python را ایجاد میکند
- تمام پکیجهای مورد نیاز را نصب میکند
- سرور را راهاندازی میکند
روش دوم: نصب دستی / Method 2: Manual Installation
# 1. ایجاد محیط مجازی / Create virtual environment
python -m venv venv
# 2. فعالسازی محیط مجازی / Activate virtual environment
# Windows:
venv\Scripts\activate
# 3. نصب پکیجها / Install packages
pip install -r requirements.txt
# 4. اجرای سرور / Run server
python app.py
🎯 استفاده / Usage
راهاندازی سریع / Quick Start
اجرای برنامه / Run the application:
# دابل کلیک روی start.bat یا # Double-click start.bat or: python app.pyباز کردن داشبورد / Open Dashboard:
- مرورگر خود را باز کنید
- به آدرس زیر بروید:
http://localhost:8000/dashboardمشاهده مستندات API / View API Documentation:
http://localhost:8000/docs
قابلیتهای داشبورد / Dashboard Features
صفحه اصلی / Main Dashboard
- KPIs: نمایش آمارهای کلیدی سیستم
- وضعیت سیستم: نمایش سلامت کلی
- WebSocket Status: وضعیت اتصال Real-time
بخش Providers
- لیست تمام منابع داده
- وضعیت هر Provider
- زمان پاسخ و Uptime
- تعداد درخواستهای روزانه
بخش Categories
- دستهبندی ارزهای دیجیتال
- ارزش بازار هر دسته
- تغییرات 24 ساعته
بخش Rate Limits
- محدودیتهای API
- مقدار باقیمانده
- زمان بازنشانی
بخش Logs
- لاگهای سیستم
- پیامهای خطا و هشدار
- تاریخچه رویدادها
📁 ساختار پروژه / Project Structure
crypto-monitor/
│
├── app.py # FastAPI backend اصلی
├── index.html # فرانتاند داشبورد
├── requirements.txt # وابستگیهای Python
├── start.bat # فایل راهاندازی ویندوز
├── README.md # مستندات (این فایل)
│
└── venv/ # محیط مجازی Python (خودکار ایجاد میشود)
🔌 API Endpoints
Health & Status
GET /health # وضعیت سلامت سیستم
GET /api/health # (Alternative)
GET /status # وضعیت کلی
GET /info # اطلاعات سیستم
Providers
GET /api/providers # لیست تمام Providers
GET /providers # (Alternative)
Cryptocurrency Data
GET /api/crypto/prices/top?limit=10 # قیمت ارزها
GET /api/crypto/market-overview # خلاصه بازار
Categories & Limits
GET /api/categories # دستهبندی ارزها
GET /api/rate-limits # محدودیتهای API
Logs & Alerts
GET /api/logs?limit=50 # لاگهای سیستم
GET /api/alerts # هشدارهای فعال
Hugging Face Integration
GET /api/hf/health # وضعیت HF
POST /api/hf/refresh # بروزرسانی داده
GET /api/hf/registry # لیست مدلها
POST /api/hf/search # جستجوی مدل
POST /api/hf/run-sentiment # تحلیل احساسات
WebSocket
WS /ws/live # اتصال Real-time
WS /ws # (Alternative)
⚙️ تنظیمات / Configuration
تغییر پورت / Changing Port
در فایل app.py خط آخر را تغییر دهید:
uvicorn.run(
"app:app",
host="0.0.0.0",
port=8000, # پورت را اینجا تغییر دهید / Change port here
reload=True,
log_level="info"
)
تنظیمات WebSocket
در فایل index.html بخش Configuration:
const config = {
apiBaseUrl: '',
wsUrl: 'ws://localhost:8000/ws/live',
autoRefreshInterval: 30000, // 30 ثانیه / 30 seconds
maxRetries: 3
};
🐛 مشکلات رایج / Troubleshooting
مشکل 1: Python پیدا نمیشود
حل:
- Python را از python.org نصب کنید
- هنگام نصب "Add to PATH" را فعال کنید
- سیستم را Restart کنید
مشکل 2: پورت 8000 در حال استفاده است
حل:
# پیدا کردن پروسس
netstat -ano | findstr :8000
# بستن پروسس (Windows)
taskkill /PID <شماره_پروسس> /F
یا پورت را در app.py تغییر دهید.
مشکل 3: pip install موفق نمیشود
حل:
# آپدیت pip
python -m pip install --upgrade pip
# نصب مجدد با verbose
pip install -r requirements.txt --verbose
مشکل 4: WebSocket متصل نمیشود
حل:
- بررسی کنید سرور در حال اجرا باشد
- Firewall را چک کنید
- Cache مرورگر را پاک کنید
- از مرورگر دیگری امتحان کنید
مشکل 5: دادهها نمایش داده نمیشوند
حل:
- Console مرورگر را باز کنید (F12)
- ارورها را بررسی کنید
- بررسی کنید API Endpoints پاسخ میدهند:
http://localhost:8000/health
📊 نمونه دادهها / Sample Data
این پروژه از دادههای Mock (تقلبی) استفاده میکند برای نمایش قابلیتها.
برای اتصال به API واقعی:
- فایل
app.pyرا ویرایش کنید - توابع
generate_*را با API calls واقعی جایگزین کنید - کلیدهای API خود را اضافه کنید
🔒 امنیت / Security
توصیههای امنیتی:
- از Environment Variables برای API Keys استفاده کنید
- HTTPS را در Production فعال کنید
- Rate Limiting را پیادهسازی کنید
- Input Validation را اضافه کنید
📈 گسترش پروژه / Extending
اضافه کردن Provider جدید:
# در app.py توابع generate_providers_data()
providers.append({
"name": "YourProvider",
"type": "Exchange",
"status": "operational",
# ...
})
اضافه کردن Endpoint جدید:
@app.get("/api/your-endpoint")
async def your_endpoint():
return {"data": "your data"}
🤝 مشارکت / Contributing
برای مشارکت در پروژه:
- Fork کنید
- Branch جدید بسازید
- تغییرات را Commit کنید
- Pull Request بزنید
📄 لایسنس / License
این پروژه تحت لایسنس MIT منتشر شده است.
👨💻 سازنده / Developer
Niema
- متخصص در سیستمهای Trading و AI
- تجربه در Full-stack Development
- تخصص در React/TypeScript و FastAPI
📞 پشتیبانی / Support
برای مشکلات و سوالات:
- Issue باز کنید در GitHub
- ایمیل بزنید
- مستندات را مطالعه کنید
🎓 یادگیری بیشتر / Learn More
منابع مفید:
🚀 Ready to Start?
# فقط این دستور را اجرا کنید:
# Just run this command:
start.bat
و داشبورد شما آماده است! 🎉 Your dashboard is ready! 🎉
ساخته شده با ❤️ برای کامیونیتی ارز دیجیتال Made with ❤️ for the Crypto Community