Files
pyisu/START_AFTER_FIX.md
2026-03-13 14:39:43 +08:00

132 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Запуск проекта после исправления ошибок
## Исправленные проблемы:
1. **Отсутствие email-validator** - добавлен в `backend/requirements.txt`
2. **Неправильный healthcheck PostgreSQL** - изменен на проверку конкретной базы данных
3. **Ошибка инициализации базы данных** - добавлены команды CREATE TABLE в `init.sql`
## Инструкция по запуску:
### Шаг 1: Убедитесь, что Docker запущен
```bash
docker info
```
Если Docker не запущен, запустите Docker Desktop или Docker daemon.
### Шаг 2: Остановите текущие контейнеры и удалите volumes
```bash
docker-compose down -v
```
**Внимание:** Эта команда удалит все данные базы данных! Если нужно сохранить данные, пропустите `-v`.
### Шаг 3: Пересоберите и запустите проект
```bash
docker-compose up --build
```
### Шаг 4: Проверьте работу
1. **Frontend:** http://localhost
2. **API документация:** http://localhost:8000/docs
3. **Тестовый пользователь:** test@example.com / Test1234
## Проверка состояния базы данных
Если возникают проблемы с базой данных, проверьте:
### 1. Логи PostgreSQL:
```bash
docker-compose logs postgres
```
Ищите сообщения:
- `database system is ready to accept connections`
- `Database initialized successfully`
### 2. Подключитесь к базе данных:
```bash
docker-compose exec postgres psql -U auth_user -d auth_learning -c "\dt"
```
Ожидаемый вывод (4 таблицы):
```
List of relations
Schema | Name | Type | Owner
--------+-----------------+-------+----------
public | courses | table | auth_user
public | favorite_courses| table | auth_user
public | progress | table | auth_user
public | users | table | auth_user
```
### 3. Проверьте тестовые данные:
```bash
docker-compose exec postgres psql -U auth_user -d auth_learning -c "SELECT COUNT(*) FROM users;"
docker-compose exec postgres psql -U auth_user -d auth_learning -c "SELECT COUNT(*) FROM courses;"
```
Ожидаемый вывод:
```
count
-------
1
```
```
count
-------
10
```
## Решение возможных проблем
### Проблема: "Port already in use"
```bash
# Найдите процесс, использующий порт
netstat -ano | findstr :80 # Frontend
netstat -ano | findstr :8000 # Backend
netstat -ano | findstr :5432 # PostgreSQL
# Остановите процесс или измените порты в docker-compose.yml
```
### Проблема: "Connection refused"
Убедитесь, что все сервисы запущены:
```bash
docker-compose ps
```
Все сервисы должны быть в состоянии "Up".
### Проблема: "404 Not Found" на фронтенде
Подождите 1-2 минуты, пока соберется фронтенд. Проверьте логи:
```bash
docker-compose logs frontend
```
## Логи приложения
```bash
# Все сервисы
docker-compose logs -f
# Конкретный сервис
docker-compose logs -f backend
docker-compose logs -f frontend
docker-compose logs -f postgres
```
## Остановка приложения
```bash
# Без удаления данных
docker-compose down
# С удалением данных БД
docker-compose down -v
```
## Дополнительная информация
- Полная документация: [README.md](README.md)
- Быстрый старт: [QUICKSTART.md](QUICKSTART.md)
- Исправление email-validator: [FIX_INSTRUCTIONS.md](FIX_INSTRUCTIONS.md)