Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
2937e29
Восстановил проект
grigoriy-grisha Sep 21, 2025
8886819
поднимет версию
grigoriy-grisha Sep 21, 2025
44d0b68
страница вопросы по документам
grigoriy-grisha Sep 21, 2025
da3f14d
Добавит функционал по продаже апи
grigoriy-grisha Sep 29, 2025
9f5a51b
models
Alina1859 Sep 29, 2025
a97fb18
Добавит пользака
grigoriy-grisha Sep 29, 2025
29b9035
buttons
Alina1859 Sep 29, 2025
b9b3228
Merge remote-tracking branch 'origin' into databaan
Alina1859 Sep 29, 2025
4837b08
icons
Alina1859 Sep 30, 2025
905f256
Добавит страницу пользователя
grigoriy-grisha Sep 30, 2025
f227bfc
api
Alina1859 Sep 30, 2025
75a1fe4
api and icons
Alina1859 Sep 30, 2025
380674b
styles
Alina1859 Sep 30, 2025
41ae05b
Merge pull request #1 from grigoriy-grisha/databaan
grigoriy-grisha Sep 30, 2025
64e62a8
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
d977d7e
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
3416fb8
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
768946c
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
0fe051a
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
2bc5e61
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
d971bd6
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
d94bcd1
fixed styles
Alina1859 Oct 1, 2025
810d8c2
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
4788363
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
2e664ca
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
a0ae427
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
9a87503
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
97d558d
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
b05fd23
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
e44288f
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
7283fd5
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
8efc9df
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
ca0349c
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
d869313
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
64633be
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
974f0e1
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
869ff15
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
7569976
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
58b2bd2
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
3a9ae07
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
3f005a0
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
b813d4f
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
0c9f967
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
017db01
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
f4eec38
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
10cdbdc
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
594c419
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
3a187dd
Merge remote-tracking branch 'origin/databaan'
grigoriy-grisha Oct 1, 2025
981e3a3
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
f7566dd
Добавит рефакторинг верстки
grigoriy-grisha Oct 1, 2025
b0d7b96
Рефакторинг панелей
grigoriy-grisha Oct 2, 2025
f889f37
Рефакторинг панелей
grigoriy-grisha Oct 2, 2025
0901adb
Доработает документацию
grigoriy-grisha Oct 2, 2025
336eadd
Доработает документацию
grigoriy-grisha Oct 2, 2025
c9b977f
Добавит страницу чата
grigoriy-grisha Oct 8, 2025
96c5920
Добавит страницу чата
grigoriy-grisha Oct 8, 2025
ba47f71
Добавит страницу чата
grigoriy-grisha Oct 8, 2025
f519e58
Добавит страницу чата
grigoriy-grisha Oct 8, 2025
d52e71f
Добавит страницу чата
grigoriy-grisha Oct 8, 2025
22ca248
Добавит страницу чата
grigoriy-grisha Oct 8, 2025
5f64b70
Добавит страницу чата
grigoriy-grisha Oct 8, 2025
cf69434
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
2b293db
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
57de0bb
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
6cd7820
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
7431352
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
9cf9ace
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
58c0e46
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
b43231c
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
c5e89c4
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
6d813e7
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
c3e2724
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
39b9d72
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
f9f7209
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
ab0859f
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
692b0e3
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
bff778f
feat: single migration with file conversion and caching support
grigoriy-grisha Oct 9, 2025
64684bf
feat: add VK Storage, document conversion, caching, and generated ima…
grigoriy-grisha Oct 9, 2025
9705cbf
docs: add deployment instructions and session summary
grigoriy-grisha Oct 9, 2025
7f1228a
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
211ea76
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
8c28618
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
96246c3
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
cce600e
Рефакторинг страницы чата
grigoriy-grisha Oct 9, 2025
edbd75f
Добавит авто обновление курса
grigoriy-grisha Oct 12, 2025
6f9232b
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
3904a8a
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
aa1fc1c
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
8495433
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
771aec1
справить Dockerfile для корректного копирования миграций Prisma
grigoriy-grisha Oct 12, 2025
796c73a
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
7261753
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
82e2c4a
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
d900411
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
9f90bc1
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
2763099
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
dabb55d
Добавит получение платежей
grigoriy-grisha Oct 12, 2025
1e2f46b
убрал лишний тултип
grigoriy-grisha Oct 14, 2025
cdd8dba
Поправит верстку
grigoriy-grisha Oct 15, 2025
e80783d
Поправит балансы
grigoriy-grisha Oct 16, 2025
9e7340c
Поправит балансы
grigoriy-grisha Oct 16, 2025
a79d0f8
Поправит балансы
grigoriy-grisha Oct 16, 2025
1083c82
Поправит балансы
grigoriy-grisha Oct 16, 2025
fea3b20
Поправит балансы
grigoriy-grisha Oct 16, 2025
83bf897
Поправит балансы
grigoriy-grisha Oct 16, 2025
3403fbf
Поправит балансы
grigoriy-grisha Oct 16, 2025
4cdeb13
Поправит балансы
grigoriy-grisha Oct 17, 2025
de38a66
Поправит балансы
grigoriy-grisha Oct 17, 2025
7c86967
Поправит балансы
grigoriy-grisha Oct 17, 2025
5dfd057
Поправит балансы
grigoriy-grisha Oct 17, 2025
853b6e4
Поправит балансы
grigoriy-grisha Oct 25, 2025
0c35fec
Поправит балансы
grigoriy-grisha Oct 27, 2025
532a9e8
fix: добавил отступ для бар меню на мобилке
grigoriy-grisha Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .env-dev
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
APP_SECRET_51802906=eNmBDWFYOm1Hl2aMIcbp
APP_AUTH_KEY_51802906=b1aedf7ab1aedf7ab1aedf7a8fb2b8ac60bb1aeb1aedf7ad4ca7b89c13117db438121e0
CORS_ORIGIN=https://localhost:10888
SKIP_AUTH=false
SKIP_AUTH=true
POSTGRES_HOST=postgresql-dev
MODELS_URL=http://host.docker.internal:5000
MODELS_URL=http://models-dev:5000
RAG_URL=http://host.docker.internal:5000
POSTGRES_USER=user
POSTGRES_PASSWORD=user
API_KEYS_5=
API_KEYS_120=
TG_TOKEN=
IMAGES_API_KEY=*
55 changes: 55 additions & 0 deletions DEPLOY_NOW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# 🚀 ДЕПЛОЙ СЕЙЧАС

## ✅ Что сделано локально

- Создана **одна чистая миграция** с всеми полями
- `init-db.sh` исправлен (использует `prisma migrate deploy`)
- Всё закоммичено и запушено в git

## 🔥 НА СЕРВЕРЕ ВЫПОЛНИТЕ:

```bash
# 1. Pull обновлений
cd /root/GPTutor # или ваш путь к проекту
git pull

# 2. Удалить старую БД (если есть)
docker-compose -f docker-compose-prod.yaml down backend-prod
docker volume rm gptutor_backend-db 2>/dev/null || true

# 3. Пересобрать и запустить
docker-compose -f docker-compose-prod.yaml build backend-prod
docker-compose -f docker-compose-prod.yaml up -d backend-prod

# 4. Проверить логи
docker logs -f backend-prod
```

## ✅ Что должно быть в логах:

```
Database does not exist, creating and applying migrations...
Applying migration `20251009103248_init`
Migration status: All migrations applied ✅
Starting application...
```

## 🎯 Проверка работы:

```bash
# Загрузить файл
curl -X POST http://your-server/upload \
-H "Authorization: Bearer vk1..." \
-F "file=@test.docx"
```

**Ожидается:**
- ✅ Файл загружается
- ✅ Конвертируется в PDF
- ✅ НЕТ ошибок `column does not exist`
- ✅ НЕТ ошибок `table does not exist`

## 🎉 Готово!

После деплоя всё будет работать!

245 changes: 245 additions & 0 deletions FINAL_DEPLOY_INSTRUCTIONS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,245 @@
# 🚀 ФИНАЛЬНАЯ ИНСТРУКЦИЯ ПО ДЕПЛОЮ

## ✅ Все изменения запушены в git!

Коммиты:
1. `bff778f` - feat: single migration with file conversion and caching support
2. `64684bf` - feat: add VK Storage, document conversion, caching, and generated images support

---

## 🔥 НА СЕРВЕРЕ ВЫПОЛНИТЕ (в точности):

```bash
# 1. Перейти в директорию проекта
cd /root/GPTutor
# (или ваш путь к проекту)

# 2. Скачать обновления
git pull

# 3. Остановить backend
docker-compose -f docker-compose-prod.yaml stop backend-prod

# 4. Удалить старый контейнер
docker-compose -f docker-compose-prod.yaml rm -f backend-prod

# 5. ВАЖНО: Удалить старую БД (один раз)
docker volume rm gptutor_backend-db
# Если volume нет, игнорируйте ошибку

# 6. Пересобрать БЕЗ кеша (ОБЯЗАТЕЛЬНО!)
docker-compose -f docker-compose-prod.yaml build --no-cache backend-prod

# 7. Запустить
docker-compose -f docker-compose-prod.yaml up -d backend-prod

# 8. Проверить логи
docker logs -f backend-prod
```

---

## ✅ В логах ДОЛЖНО быть:

```
Database does not exist, creating and applying migrations...
Prisma schema loaded from prisma/schema.prisma
Datasource "db": SQLite database "prod.db" at "file:/app/prisma/prod.db"

Applying migration `20251009103248_init`

The following migrations have been applied:

migrations/
└─ 20251009103248_init/
└─ migration.sql

Migration status:
Database schema is up to date!

Starting application...
```

### ❌ НЕ должно быть:

```
No migration found in prisma/migrations ← Если это есть - плохо!
```

---

## 🧪 Проверка после деплоя

### 1. Health Check

```bash
curl http://localhost:3001/health
# Ожидаемо: {"status":"ok"}
```

### 2. Проверка миграций

```bash
docker exec backend-prod npx prisma migrate status
# Ожидаемо: 1 migration found, Database schema is up to date!
```

### 3. Проверка структуры БД

```bash
docker exec backend-prod sqlite3 /app/prisma/prod.db "PRAGMA table_info(files);"
# Должны быть поля: notStatic, originalName, originalSize, converted
```

### 4. Тест загрузки DOCX

```bash
curl -X POST http://your-server/upload \
-H "Authorization: Bearer vk1..." \
-F "file=@test.docx"
```

**Ожидаемый ответ:**
```json
{
"success": true,
"message": "File converted to PDF and uploaded successfully!",
"data": {
"converted": true,
"fromCache": false,
"file": {
"name": "test.pdf",
"type": "application/pdf"
}
}
}
```

### 5. Тест повторной загрузки (кеш)

```bash
curl -X POST http://your-server/upload \
-H "Authorization: Bearer vk1..." \
-F "file=@test.docx"
```

**Ожидаемый ответ:**
```json
{
"success": true,
"message": "File already converted and cached!",
"data": {
"converted": true,
"fromCache": true ← Работает из кеша!
}
}
```

---

## 🎨 Тест генерации изображений

В приложении отправьте:
```
Нарисуй красивый закат
```

Модель должна:
1. Вернуть текст
2. Вернуть изображение (base64)
3. Изображение отобразится в чате

---

## 🐛 Если что-то пошло не так

### Ошибка: "No migration found"

**Причина:** Старый кеш Docker или миграции не скопировались

**Решение:**
```bash
# Проверить что миграции есть на сервере
ls -la GPTutor-Backend-v2/prisma/migrations/
# Должна быть папка: 20251009103248_init/

# Если её нет:
git pull --force

# Пересобрать БЕЗ кеша
docker-compose -f docker-compose-prod.yaml build --no-cache backend-prod
```

### Ошибка: "column does not exist"

**Причина:** Миграция не применилась

**Решение:**
```bash
docker exec backend-prod npx prisma migrate deploy
docker restart backend-prod
```

### Ошибка: "table does not exist"

**Причина:** БД не была создана

**Решение:**
```bash
# Проверить что БД создалась
docker exec backend-prod ls -la /app/prisma/
# Должен быть файл: prod.db

# Если нет - проверить логи
docker logs backend-prod | grep -i error
```

---

## 📊 Итоговый статус

| Компонент | Статус |
|-----------|--------|
| VK Storage (модель) | ✅ Готово |
| Конвертация DOC/DOCX/PPT/PPTX | ✅ Готово |
| Кеширование конвертаций | ✅ Готово |
| Сгенерированные изображения | ✅ Готово |
| Миграции Prisma | ✅ Исправлено |
| Dockerfile | ✅ Обновлен (LibreOffice) |
| Git | ✅ Все запушено |

---

## 🎉 Готово к деплою!

Просто выполните команды выше на сервере, и всё заработает.

**Время выполнения:** ~3-5 минут

**Важно:** Используйте `--no-cache` при сборке, чтобы миграции точно скопировались!

---

## 📞 Нужна помощь?

Отправьте логи:
```bash
docker logs backend-prod > logs.txt
```

И проверьте:
```bash
# Миграции на сервере
ls -la GPTutor-Backend-v2/prisma/migrations/

# Миграции в контейнере
docker exec backend-prod ls -la /app/prisma/migrations/
```

Если в контейнере миграций нет - значит `build --no-cache` не был выполнен!

---

Удачи! 🍀

12 changes: 12 additions & 0 deletions GPTutor-Backend-v2/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
node_modules
npm-debug.log
.git
.gitignore
README.md
.env
.nyc_output
coverage
.coverage
dist
*.db

Loading