🚀 راهنمای سریع راهاندازی
نصب و اجرا در 3 مرحله:
1️⃣ نصب وابستگیها
pip install -r requirements.txt
2️⃣ اجرای برنامه
python app.py
3️⃣ باز کردن در مرورگر
http://localhost:7860
🌐 استقرار در Hugging Face Spaces
روش 1: استفاده از Docker
- فایلهای پروژه را آپلود کنید
- SDK را روی
Dockerتنظیم کنید - Space خودکار build میشود
روش 2: استفاده مستقیم
app.pyرا در روت قرار دهید- پوشه
templates/را آپلود کنید requirements.txtرا آپلود کنید- در Settings، Port را روی
7860تنظیم کنید
🔍 تست APIها
بررسی سلامت
curl http://localhost:7860/health
دریافت نمای کلی بازار
curl http://localhost:7860/api/crypto/market-overview
دریافت ارزهای ترند
curl http://localhost:7860/api/crypto/prices/trending?limit=10
دریافت شاخص ترس و طمع
curl http://localhost:7860/api/crypto/sentiment/current
⚙️ تنظیمات پیشرفته
تغییر Cache Time (در app.py)
cache.get(cache_key, ttl=60) # ثانیه
تغییر پورت
uvicorn.run(app, host="0.0.0.0", port=7860)
فعالسازی HTTPS
uvicorn.run(
app,
host="0.0.0.0",
port=7860,
ssl_keyfile="key.pem",
ssl_certfile="cert.pem"
)
📊 API Endpoints Summary
| Endpoint | توضیح | پارامترها |
|---|---|---|
/ |
صفحه اصلی HTML | - |
/health |
بررسی سلامت | - |
/api/crypto/market-overview |
نمای کلی بازار | - |
/api/crypto/prices/trending |
ارزهای ترند | limit (default: 10) |
/api/crypto/prices/top |
برترین ارزها | limit (default: 20) |
/api/crypto/news/latest |
آخرین اخبار | limit (default: 20) |
/api/crypto/sentiment/current |
احساسات فعلی | - |
/api/crypto/sentiment/history |
تاریخچه احساسات | hours (default: 168) |
/api/crypto/blockchain/gas |
قیمت گس | - |
/api/crypto/blockchain/stats |
آمار بلاکچین | - |
/api/crypto/whales/transactions |
تراکنشهای نهنگ | limit (default: 20) |
🐛 مشکلات رایج
خطای Port Already in Use
# پیدا کردن process
lsof -i :7860
# متوقف کردن
kill -9 <PID>
خطای Module Not Found
pip install -r requirements.txt --force-reinstall
مشکل CORS
در app.py این تنظیمات را چک کنید:
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
...
)
💡 نکات مهم
- Rate Limiting: CoinGecko API محدودیت درخواست دارد، از Cache استفاده کنید
- Production: در محیط production،
allow_origins=["*"]را تغییر دهید - Monitoring: لاگها را بررسی کنید:
tail -f logs/*.log - Updates: هر 30 ثانیه دادهها بهروزرسانی میشوند
📞 پشتیبانی
اگر مشکلی دارید:
- فایل
README.mdرا بخوانید - در GitHub Issue باز کنید
- لاگ خطا را ضمیمه کنید
ساخته شده با ❤️ برای کامیونیتی کریپتو