Spaces:
Sleeping
Sleeping
Upload 5 files
Browse files- Dockerfile +20 -0
- README.md +38 -10
- docker-compose.yml +16 -0
- start.bat +35 -0
- start.sh +37 -0
Dockerfile
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.12-slim
|
| 2 |
+
|
| 3 |
+
WORKDIR /app
|
| 4 |
+
|
| 5 |
+
# Install dependencies
|
| 6 |
+
COPY backend/requirements.txt .
|
| 7 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 8 |
+
|
| 9 |
+
# Copy code
|
| 10 |
+
COPY backend/ ./backend/
|
| 11 |
+
COPY frontend/ ./frontend/
|
| 12 |
+
|
| 13 |
+
# Create data dir
|
| 14 |
+
RUN mkdir -p data
|
| 15 |
+
|
| 16 |
+
# Expose port
|
| 17 |
+
EXPOSE 8000
|
| 18 |
+
|
| 19 |
+
# Run
|
| 20 |
+
CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "2"]
|
README.md
CHANGED
|
@@ -1,10 +1,38 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
-
|
| 9 |
-
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# ๐ก RADAR โ ุฃุฏุงุฉ ุงูููู
ุงุช ุงูู
ูุชุงุญูุฉ ูููุชููุจ ุงูุนุฑุจู
|
| 2 |
+
|
| 3 |
+
## 4 ููุญุงุช ุจูุงูุงุช ุญููููุฉ:
|
| 4 |
+
|
| 5 |
+
| ุงูููุญุฉ | ุงูู
ุตุฏุฑ | ุงูุจูุงูุงุช |
|
| 6 |
+
|--------|--------|----------|
|
| 7 |
+
| ๐ด ุชุฑูุฏ ุงูููู
| Google Trends RSS | ุฃูุซุฑ ุงูููู
ุงุช ุจุญุซุงู ุงูุขู |
|
| 8 |
+
| ๐ ุฏุฑุฌุฉ ุงูุงูุชู
ุงู
| Google Trends API | ููุงุท 0-100 ููู ููู
ุฉ |
|
| 9 |
+
| ๐ ุญุฌู
ุงูู
ุดุงูุฏุงุช | YouTube (API/Scraper) | ุฅุฌู
ุงูู ู
ุดุงูุฏุงุช ุญููููุฉ |
|
| 10 |
+
| ๐ฅ ุงูุฃูุซุฑ ุฑูุงุฌุงู | YouTube (API/Scraper) | ุฃูุซุฑ ุงูููุฏูููุงุช ู
ุดุงูุฏุฉ ุจุงูุฏููุฉ |
|
| 11 |
+
|
| 12 |
+
## ุนูุฏ ุงูุถุบุท ุนูู ุฃู ููู
ุฉ:
|
| 13 |
+
- **๐ ุงูููู
ุงุช ุงูู
ุดุงุจูุฉ** โ ูุงุฆู
ุฉ ู
ุฑุชุจุฉ ุญุณุจ ุงูู
ุดุงูุฏุงุช ุงูุญููููุฉ
|
| 14 |
+
- **โถ ุงูููุฏูููุงุช** โ ููุฏูููุงุช ููุชููุจ ุงูุญููููุฉ + ุนุฏุฏ ุงูู
ุดุงูุฏุงุช + ุงูุชุงุฑูุฎ
|
| 15 |
+
|
| 16 |
+
## ุงูุฅุนุฏุงุฏ
|
| 17 |
+
|
| 18 |
+
### 1. ุฅุถุงูุฉ YouTube API Key (ุงุฎุชูุงุฑู ููู ู
ูุตู ุจู)
|
| 19 |
+
```bash
|
| 20 |
+
cp backend/.env.example backend/.env
|
| 21 |
+
# ุนุฏูู backend/.env ูุฃุถู ู
ูุชุงุญู
|
| 22 |
+
```
|
| 23 |
+
|
| 24 |
+
### 2. ุชุดุบูู ุงูุจุงููุฏ
|
| 25 |
+
```bash
|
| 26 |
+
pip install fastapi uvicorn aiohttp
|
| 27 |
+
cd backend && uvicorn main:app --reload --port 8000
|
| 28 |
+
```
|
| 29 |
+
|
| 30 |
+
### 3. ูุชุญ ุงููุงุฌูุฉ
|
| 31 |
+
ุงูุชุญ ุงูู
ุชุตูุญ ุนูู: http://localhost:8000
|
| 32 |
+
|
| 33 |
+
## ุงูุญุตูู ุนูู YouTube API Key (ู
ุฌุงูู)
|
| 34 |
+
1. ุงุฐูุจ ุฅูู https://console.cloud.google.com
|
| 35 |
+
2. ุฃูุดุฆ ู
ุดุฑูุนุงู ุฌุฏูุฏุงู
|
| 36 |
+
3. APIs & Services โ Enable APIs โ ุงุจุญุซ ุนู "YouTube Data API v3"
|
| 37 |
+
4. Credentials โ Create Credentials โ API Key
|
| 38 |
+
5. ุงูุณุฎ ุงูู
ูุชุงุญ ุฅูู backend/.env
|
docker-compose.yml
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version: '3.9'
|
| 2 |
+
services:
|
| 3 |
+
app:
|
| 4 |
+
build: .
|
| 5 |
+
ports:
|
| 6 |
+
- "8000:8000"
|
| 7 |
+
volumes:
|
| 8 |
+
- ./data:/app/data
|
| 9 |
+
environment:
|
| 10 |
+
- PYTHONUNBUFFERED=1
|
| 11 |
+
restart: unless-stopped
|
| 12 |
+
healthcheck:
|
| 13 |
+
test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"]
|
| 14 |
+
interval: 30s
|
| 15 |
+
timeout: 10s
|
| 16 |
+
retries: 3
|
start.bat
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@echo off
|
| 2 |
+
echo === ูุงุดู ุงูููู
ุงุช ุงูุนุฑุจู - ููุชููุจ ===
|
| 3 |
+
echo.
|
| 4 |
+
|
| 5 |
+
:: Check Python
|
| 6 |
+
python --version >nul 2>&1
|
| 7 |
+
if errorlevel 1 (
|
| 8 |
+
echo ุฎุทุฃ: Python ุบูุฑ ู
ุซุจุช. ูู
ุจุชุซุจูุชู ู
ู python.org
|
| 9 |
+
pause
|
| 10 |
+
exit /b 1
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
:: Create virtualenv
|
| 14 |
+
if not exist "venv" (
|
| 15 |
+
echo ุฌุงุฑู ุฅูุดุงุก ุงูุจูุฆุฉ ุงูุงูุชุฑุงุถูุฉ...
|
| 16 |
+
python -m venv venv
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
:: Activate
|
| 20 |
+
call venv\Scripts\activate.bat
|
| 21 |
+
|
| 22 |
+
:: Install
|
| 23 |
+
echo ุฌุงุฑู ุชุซุจูุช ุงูู
ูุชุจุงุช...
|
| 24 |
+
pip install -r backend\requirements.txt -q
|
| 25 |
+
|
| 26 |
+
:: Data dir
|
| 27 |
+
if not exist "data" mkdir data
|
| 28 |
+
|
| 29 |
+
echo.
|
| 30 |
+
echo ุงูุฎุงุฏู
ูุนู
ู ุนูู: http://localhost:8000
|
| 31 |
+
echo ุงูุชุญ ุงูู
ุชุตูุญ ุนูู: http://localhost:8000
|
| 32 |
+
echo.
|
| 33 |
+
|
| 34 |
+
cd backend && uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
| 35 |
+
pause
|
start.sh
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 3 |
+
# ูุงุดู ุงูููู
ุงุช - ุณูุฑูุจุช ุงูุชุดุบูู
|
| 4 |
+
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 5 |
+
set -e
|
| 6 |
+
|
| 7 |
+
echo "๐ ุฌุงุฑู ุชุดุบูู ูุงุดู ุงูููู
ุงุช ุงูุนุฑุจู..."
|
| 8 |
+
|
| 9 |
+
# Check Python
|
| 10 |
+
if ! command -v python3 &> /dev/null; then
|
| 11 |
+
echo "โ Python 3 ุบูุฑ ู
ุซุจุช. ูู
ุจุชุซุจูุชู ุฃููุงู."
|
| 12 |
+
exit 1
|
| 13 |
+
fi
|
| 14 |
+
|
| 15 |
+
# Create virtualenv if not exists
|
| 16 |
+
if [ ! -d "venv" ]; then
|
| 17 |
+
echo "๐ฆ ุฅูุดุงุก ุงูุจูุฆุฉ ุงูุงูุชุฑุงุถูุฉ..."
|
| 18 |
+
python3 -m venv venv
|
| 19 |
+
fi
|
| 20 |
+
|
| 21 |
+
# Activate venv
|
| 22 |
+
source venv/bin/activate 2>/dev/null || source venv/Scripts/activate 2>/dev/null
|
| 23 |
+
|
| 24 |
+
# Install dependencies
|
| 25 |
+
echo "๐ฆ ุชุซุจูุช ุงูู
ูุชุจุงุช..."
|
| 26 |
+
pip install -r backend/requirements.txt -q
|
| 27 |
+
|
| 28 |
+
# Create data dir
|
| 29 |
+
mkdir -p data
|
| 30 |
+
|
| 31 |
+
# Launch
|
| 32 |
+
echo "โ
ุชุดุบูู ุงูุฎุงุฏู
ุนูู http://localhost:8000"
|
| 33 |
+
echo " ุงูุชุญ ุงูู
ุชุตูุญ ุนูู: http://localhost:8000"
|
| 34 |
+
echo " ุงุถุบุท Ctrl+C ููุฅููุงู"
|
| 35 |
+
echo ""
|
| 36 |
+
|
| 37 |
+
cd backend && uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|