4ccf4b7184
- 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 — полный гайд по деплою
34 lines
733 B
Bash
34 lines
733 B
Bash
# Database
|
|
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/freelancer_match
|
|
|
|
# Redis
|
|
REDIS_URL=redis://localhost:6379/0
|
|
|
|
# JWT
|
|
SECRET_KEY=your-secret-key-change-in-production
|
|
ACCESS_TOKEN_EXPIRE_MINUTES=15
|
|
REFRESH_TOKEN_EXPIRE_DAYS=7
|
|
|
|
# OpenAI (для AI-матчинга)
|
|
OPENAI_API_KEY=sk-...
|
|
EMBEDDING_MODEL=text-embedding-3-small
|
|
|
|
# OAuth
|
|
GOOGLE_CLIENT_ID=...
|
|
GITHUB_CLIENT_ID=...
|
|
GITHUB_CLIENT_SECRET=...
|
|
|
|
# Stripe (Escrow)
|
|
STRIPE_SECRET_KEY=sk_test_...
|
|
STRIPE_WEBHOOK_SECRET=whsec_...
|
|
|
|
# Email
|
|
SMTP_HOST=smtp.gmail.com
|
|
SMTP_PORT=587
|
|
SMTP_USER=noreply@freelancermatch.com
|
|
SMTP_PASSWORD=...
|
|
EMAIL_FROM=noreply@freelancermatch.com
|
|
|
|
# CORS
|
|
ALLOWED_ORIGINS=["http://localhost:3000","https://freelancermatch.com"]
|