Викторина для 2 игроков.
Проект доступен по 185.221.162.231
- Технологии
- Описание работы
- Установка приложения
- Docker
- Виртуальное окружение
- Удаление приложения
- Автор
На данный момент только одна опция с реальными данными - Персоны
.
- Клиент запрашивает список тем.
- Сервер отправляет список тем.
- Клиент выбирает тему и вводит имя, сервер подключает его к залу ожидания в выбранной теме.
- Когда клиент подключился к залу ожидания где никого нет, он ждет.
- Когда два клиента подключились к залу ожидания, сервер объединяет их в комнату и начинает игру.
- Когда клиент отвечает на вопрос, сервер отправляет обратную связь - меняет вопрос и обновляет количество оставшихся вопросов, а также обоим клиентам обновляет набранные очки.
- Когда вопросы закончились, сервер отправляет
over
и заканчивает игру. - Клиент показывает результаты игры (TODO).
- Подготовка днных для игры (TODO).
Клонируйте репозиторий с GitHub:
git clone https://github.com/alexpro2022/socketio_quiz.git
cd socketio_quiz
Все последующие команды производятся из корневой директории проекта socketio_quiz
:
Запуск приложения
- Создание образа:
docker build -t=quiz -f=docker/Dockerfile .
- Запуск приложения - проект будет развернут по адресу http://localhost:
docker run --rm -d --name=quiz -p 80:80 quiz
- Остановка приложение:
docker stop quiz
- Удаление образа:
docker rmi quiz
Запуск тестов и приложения для разработки
- Создайте и активируйте виртуальное окружение:
- Если у вас Linux/macOS
python -m venv venv && source venv/bin/activate
- Если у вас Windows
python -m venv venv && source venv/Scripts/activate
- Установите в виртуальное окружение все необходимые зависимости из файла requirements.txt:
python -m pip install --upgrade pip && \
pip install -r requirements/dev.requirements.txt --no-cache-dir
- Запуск тестов - после прохождения тестов в консоль будет выведен отчет
pytest
иcoverage
(96%).:
pytest
- Запуск приложения - проект будет развернут по адресу http://localhost
python main.py
cd .. && rm -fr socketio_quiz