mohmmed5787 commited on
Commit
21fd34a
ยท
verified ยท
1 Parent(s): 0517271

Upload 5 files

Browse files
Files changed (5) hide show
  1. Dockerfile +20 -0
  2. README.md +38 -10
  3. docker-compose.yml +16 -0
  4. start.bat +35 -0
  5. 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
- title: YouTube
3
- emoji: ๐Ÿ“š
4
- colorFrom: blue
5
- colorTo: gray
6
- sdk: docker
7
- pinned: false
8
- ---
9
-
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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