fix: добавить .gitignore для backend, обновить README.md с полным гайдом по деплою и настройке env
This commit is contained in:
@@ -45,6 +45,40 @@ npm ci
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## 🔑 Настройка переменных окружения
|
||||
|
||||
Скопируйте `backend/.env.example` в `backend/.env` и заполните значения.
|
||||
|
||||
### Обязательные (без них не запустится)
|
||||
|
||||
| Переменная | Описание | Где взять |
|
||||
|------------|----------|-----------|
|
||||
| `DATABASE_URL` | Подключение к PostgreSQL | Создайте БД: `createdb freelancer_match` |
|
||||
| `REDIS_URL` | Подключение к Redis | По умолчанию: `redis://localhost:6379/0` |
|
||||
| `SECRET_KEY` | Ключ для JWT токенов | Сгенерируйте: `openssl rand -hex 32` |
|
||||
|
||||
### Опциональные (но нужны для полноценной работы)
|
||||
|
||||
| Переменная | Описание | Где взять |
|
||||
|------------|----------|-----------|
|
||||
| `OPENAI_API_KEY` | API ключ OpenAI для AI-матчинга | [platform.openai.com/api-keys](https://platform.openai.com/api-keys) |
|
||||
| `STRIPE_SECRET_KEY` | Ключ Stripe для escrow | [dashboard.stripe.com/test/keys](https://dashboard.stripe.com/test/keys) (Test mode) |
|
||||
| `STRIPE_WEBHOOK_SECRET` | Секрет для webhook Stripe | Настройте в Stripe Dashboard → Webhooks |
|
||||
|
||||
### Email (опционально)
|
||||
|
||||
| Переменная | Описание | Где взять |
|
||||
|------------|----------|-----------|
|
||||
| `SMTP_USER` | Email для отправки писем | Ваш email (Gmail, Mail.ru и т.д.) |
|
||||
| `SMTP_PASSWORD` | Пароль SMTP | Для Gmail — используйте App Passwords (не обычный пароль) |
|
||||
|
||||
### OAuth (опционально, если хотите вход через Google/GitHub)
|
||||
|
||||
| Переменная | Описание | Где взять |
|
||||
|------------|----------|-----------|
|
||||
| `GOOGLE_CLIENT_ID` | OAuth client ID для входа через Google | [Google Cloud Console](https://console.cloud.google.com/apis/credentials) |
|
||||
| `GITHUB_CLIENT_ID` + `GITHUB_CLIENT_SECRET` | OAuth для GitHub | [GitHub Developer Settings → OAuth Apps](https://github.com/settings/developers) |
|
||||
|
||||
## 📁 Структура проекта
|
||||
|
||||
```
|
||||
@@ -70,17 +104,6 @@ freelancer-match/
|
||||
└── .drone.yml # CI/CD для Drone CI
|
||||
```
|
||||
|
||||
## 🔑 Переменные окружения
|
||||
|
||||
| Переменная | Описание | Пример |
|
||||
|------------|----------|--------|
|
||||
| `DATABASE_URL` | Подключение к PostgreSQL | `postgresql+asyncpg://user:pass@host/db` |
|
||||
| `REDIS_URL` | Подключение к Redis | `redis://localhost:6379/0` |
|
||||
| `SECRET_KEY` | Ключ для JWT токенов | Сгенерируйте через `openssl rand -hex 32` |
|
||||
| `OPENAI_API_KEY` | API ключ OpenAI для AI-матчинга | `sk-...` |
|
||||
| `STRIPE_SECRET_KEY` | Ключ Stripe для escrow | `sk_test_...` |
|
||||
| `SMTP_*` | Настройки email | smtp.gmail.com:587 |
|
||||
|
||||
## 🧪 Тесты
|
||||
|
||||
```bash
|
||||
|
||||
+14
-13
@@ -1,33 +1,34 @@
|
||||
# Database
|
||||
# ============================================
|
||||
# Freelancer Match — Environment Variables (Template)
|
||||
# ============================================
|
||||
# Скопируйте этот файл в .env и заполните значения!
|
||||
|
||||
# --- ОБЯЗАТЕЛЬНЫЕ (без них не запустится) ---
|
||||
|
||||
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
|
||||
# --- EMAIL (опционально) ---
|
||||
|
||||
SMTP_HOST=smtp.gmail.com
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=noreply@freelancermatch.com
|
||||
SMTP_PASSWORD=...
|
||||
SMTP_PASSWORD=your-app-password
|
||||
EMAIL_FROM=noreply@freelancermatch.com
|
||||
|
||||
# CORS
|
||||
# --- CORS ---
|
||||
|
||||
ALLOWED_ORIGINS=["http://localhost:3000","https://freelancermatch.com"]
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
__pycache__/
|
||||
*.pyc
|
||||
.env
|
||||
venv/
|
||||
.venv/
|
||||
*.egg-info/
|
||||
dist/
|
||||
build/
|
||||
|
||||
Reference in New Issue
Block a user