Локальна розробка
Посібник з налаштування 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 не встановлено. :::
Пріоритет автентифікації:
- Змінна середовища
GOOGLE_APPLICATION_CREDENTIALS(ключ Service Account) - Облікові дані за замовчуванням програми (з
gcloud auth)
Якщо у вас виникли проблеми з ключем Service Account (помилки 401), просто
закоментуйте GOOGLE_APPLICATION_CREDENTIALS у файлі .env та покладайтеся на
ADC.
📊 База даних
Чисте встановлення
cd backend
alembic upgrade head
Початкові дані
python scripts/seed_data.py
🌐 URL-адреси
| Сервіс | URL-адреса |
|---|---|
| Backend API | http://localhost:8000 |
| Документація API | http://localhost:8000/docs |
| Фронтенд | http://localhost:5173 |
| База знань | http://localhost:3000 |
🛠️ Корисні команди
# Run tests
pytest tests/
# Format code
black .
# Lint
flake8 .
# Type check
mypy .
Використовуйте scripts/startup.sh для автоматизованого запуску.