feat: Freelancer Match — полная продакшн версия с AI-матчингом и escrow

This commit is contained in:
root
2026-07-03 12:12:43 +00:00
commit ec2e9bf508
37 changed files with 1564 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
"""Конфигурация приложения."""
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
# БД
DATABASE_URL: str = "postgresql+asyncpg://postgres:postgres@localhost:5432/freelancer_match"
# Redis
REDIS_URL: str = "redis://localhost:6379/0"
# JWT
SECRET_KEY: str = "your-secret-key-change-in-production"
ACCESS_TOKEN_EXPIRE_MINUTES: int = 15
REFRESH_TOKEN_EXPIRE_DAYS: int = 7
# OpenAI (для AI-матчинга)
OPENAI_API_KEY: str = ""
# OAuth
GOOGLE_CLIENT_ID: str = ""
GITHUB_CLIENT_ID: str = ""
GITHUB_CLIENT_SECRET: str = ""
# Stripe (Escrow)
STRIPE_SECRET_KEY: str = ""
STRIPE_WEBHOOK_SECRET: str = ""
# Email
SMTP_HOST: str = "smtp.gmail.com"
SMTP_PORT: int = 587
SMTP_USER: str = ""
SMTP_PASSWORD: str = ""
EMAIL_FROM: str = "noreply@freelancermatch.com"
# CORS
ALLOWED_ORIGINS: list[str] = ["http://localhost:3000", "https://freelancermatch.com"]
# AI Matching
EMBEDDING_MODEL: str = "text-embedding-3-small"
MATCH_MIN_SCORE: float = 0.7
class Config:
env_file = ".env"
settings = Settings()