Перейти до основного вмісту

Локальна розробка

Посібник з налаштування Vartovii локально.

📋 Передумови

  • Python 3.13+
  • Node.js 18+
  • PostgreSQL 17+
  • Google Cloud SDK
  • Redis (опціонально, для кешування)

🚀 Швидкий старт

Бекенд

cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Start server
uvicorn main:app --reload --port 8000

Фронтенд

cd dashboard_app
npm install
npm run dev

Сервіс скрапінгу

cd backend
source venv/bin/activate
python scraping_service.py

🔧 Налаштування середовища

Створіть файл .env у папці /backend:

# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/vartovii

# Redis (optional)
REDIS_URL=redis://localhost:6379

# Google Cloud
GOOGLE_CLOUD_PROJECT=sentry-analytics-prod
GOOGLE_APPLICATION_CREDENTIALS=./keys/service-account.json

# AI
AI_LOCATION=europe-west4
AGENT_API_KEY=your-api-key

# Forensic Agent (BigQuery)
BIGQUERY_PROJECT=bigquery-public-data
BIGQUERY_DATASET=crypto_ethereum

🔐 Автентифікація Google Cloud

Для локальної розробки використовуйте Облікові дані за замовчуванням програми (ADC):

# Login with your Google account
gcloud auth application-default login
Рекомендований підхід ADC є рекомендованим методом автентифікації. Бекенд

автоматично використовуватиме ці облікові дані, якщо GOOGLE_APPLICATION_CREDENTIALS не встановлено. :::

Пріоритет автентифікації:

  1. Змінна середовища GOOGLE_APPLICATION_CREDENTIALS (ключ Service Account)
  2. Облікові дані за замовчуванням програми (з gcloud auth)

Якщо у вас виникли проблеми з ключем Service Account (помилки 401), просто закоментуйте GOOGLE_APPLICATION_CREDENTIALS у файлі .env та покладайтеся на ADC.

📊 База даних

Чисте встановлення

cd backend
alembic upgrade head

Початкові дані

python scripts/seed_data.py

🌐 URL-адреси

СервісURL-адреса
Backend APIhttp://localhost:8000
Документація APIhttp://localhost:8000/docs
Фронтендhttp://localhost:5173
База знаньhttp://localhost:3000

🛠️ Корисні команди

# Run tests
pytest tests/

# Format code
black .

# Lint
flake8 .

# Type check
mypy .

Використовуйте scripts/startup.sh для автоматизованого запуску.