Skip to content

nduckmink/Youtube-Spy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Youtube Spy

Hệ thống theo dõi và phân tích video YouTube tự động sử dụng AI.

Cấu trúc dự án

  • backend/: Python Flask API, Celery/RQ workers.
  • frontend/: React + Vite + Tailwind CSS dashboard.

🚀 Yêu cầu hệ thống (Prerequisites)

Trước khi chạy, bạn cần cài đặt:

  1. Python 3.10+
  2. Node.js 18+ & npm
  3. Docker & Docker Compose (để chạy Redis và PostgreSQL)
  4. Ollama (để chạy AI model phân tích)

🧠 Cài đặt AI (Ollama)

Dự án sử dụng Ollama để phân tích nội dung video. Bạn cần cài đặt và chạy Ollama trên máy host.

  1. Tải và cài đặt Ollama: https://ollama.com/download
  2. Pull model cần thiết: Mở terminal và chạy lệnh sau để tải model qwen2.5:7b (hoặc model khác tùy cấu hình):
    ollama pull qwen2.5:7b
    ollama pull llama3.2:latest
  3. Khởi động server Ollama:
    ollama serve
    Lưu ý: Mặc định Ollama chạy ở cổng 11434.

🛠️ Cài đặt & Chạy Backend

  1. Di chuyển vào thư mục backend:

    cd backend
  2. Tạo môi trường ảo (Virtual Env):

    python -m venv venv
    # Windows:
    .\venv\Scripts\activate
    # Linux/Mac:
    source venv/bin/activate
  3. Cài đặt dependencies:

    pip install -r requirements.txt
  4. Cấu hình Environment: Copy file .env.example thành .env (nếu có)

  5. Chạy Database & Redis (bằng Docker): Nếu bạn không cài DB/Redis native, hãy dùng docker-compose chỉ để chạy các services này:

    # Chỉ chạy db và redis
    docker-compose up -d db redis
  6. Khởi tạo Database:

    flask db upgrade
  7. Chạy Backend Server:

    python run.py

    Backend sẽ chạy tại: http://localhost:5000

  8. Chạy Worker (để xử lý job background): Mở thêm terminal mới, activate venv và chạy:

    Worker 1: Xử lý scraping & task chung

    python run_worker.py

    Worker 2: Xử lý AI Analysis (Yêu cầu Ollama)

    # Chạy lệnh này để start worker chuyên xử lý analysis queue
    rq worker analysis --url redis://localhost:6379/0
    # Hoặc nếu dùng script entrypoint (nếu có):
    python app/entrypoints/analysis_worker.py

💻 Cài đặt & Chạy Frontend

  1. Di chuyển vào thư mục frontend:

    cd frontend
  2. Cài đặt packages:

    npm install
  3. Cấu hình: Tạo file .env nếu cần thiết để trỏ tới API Backend (mặc định vite proxy sẽ trỏ tới localhost:5000).

  4. Chạy Frontend:

    npm run dev

    Frontend sẽ chạy tại: http://localhost:5173


🐳 Chạy toàn bộ bằng Docker

Cách nhanh nhất để chạy toàn bộ hệ thống (Backend + Frontend + Worker + DB + Redis).

Lưu ý quan trọng: Để Docker container kết nối được với Ollama chạy trên máy host, bạn cần đảm bảo Ollama lắng nghe trên tất cả các interfaces hoặc cấu hình networking phù hợp. Trên Windows/Mac, Docker Desktop thường hỗ trợ host.docker.internal để trỏ về máy host.

  1. Build và chạy:

    # Tại thư mục gốc (Youtube Spy/)
    cd backend 
    # (Lưu ý: file docker-compose.yml chính thường nằm ở backend hoặc root tùy setup, hãy kiểm tra lại vị trí file)
    
    # Nếu file docker-compose.yml nằm trong folder backend:
    docker-compose up --build

    Lệnh này sẽ start:

    • Backend API
    • Frontend
    • Postgres DB
    • Redis
    • Worker (Scraping)
    • Analysis Worker
  2. Truy cập:

    • Frontend: http://localhost:5173 (hoặc port được map trong docker-compose)
    • Backend API: http://localhost:5000

🧪 Testing

Để test nhanh tính năng Analysis mà không cần chạy full flow:

cd backend
python scripts/test_analysis.py <youtube_video_id> --model qwen2.5:7b

About

Automatically tracking Youtube channels for new videos, changes in views, likes, comments overtime.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages