# Запуск проекта после исправления ошибок ## Исправленные проблемы: 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)