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
+10 -1
View File
@@ -1,24 +1,33 @@
# 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=...
SMTP_USER=noreply@freelancermatch.com
SMTP_PASSWORD=...
EMAIL_FROM=noreply@freelancermatch.com
# CORS
ALLOWED_ORIGINS=["http://localhost:3000","https://freelancermatch.com"]