feat: завершить проект — добавить недостающие файлы, тесты и CI/CD

- backend/app/schemas/auth.py, ai_match.py, escrow.py (схемы)
- frontend/components/ui/button.tsx (UI компонент)
- email-validator в requirements.txt
- frontend/tsconfig.json, tailwind.config.js, postcss.config.js
- frontend: login page, projects/[id] page, ai-match page
- Dockerfile для backend и frontend
- docker-compose.yml с app-контейнерами и healthcheck
- .env.example с полными переменными окружения
- backend/tests/ — pytest тесты (conftest + test_health)
- .drone.yml — CI/CD пайплайн для Drone CI
- README.md — полный гайд по деплою
This commit is contained in:
2026-07-03 13:28:19 +00:00
parent ec2e9bf508
commit 4ccf4b7184
20 changed files with 693 additions and 46 deletions
+17
View File
@@ -0,0 +1,17 @@
"""Схемы AI-матчинга."""
from pydantic import BaseModel, Field
class AIMatchRequest(BaseModel):
project_id: str = Field(..., description="ID проекта")
limit: int = Field(default=10, ge=1, le=50)
min_score: float | None = Field(default=None, ge=0.0, le=1.0)
class AIMatchResponse(BaseModel):
freelancer_id: str
name: str
skills_matched: list[str]
match_score: float
reasons: list[str]