Skip to content

alexpro2022/socketio_quiz

Repository files navigation

socketio_quiz

Test Suite CI/CD

Викторина для 2 игроков.
Проект доступен по 185.221.162.231


Оглавление


Технологии

Подробнее

Python python-socketio Pydantic Uvicorn aiohttp Pytest pytest-asyncio pytest-cov Coverage pre-commit docker GitHub_Actions

⬆️Оглавление


Описание работы:

На данный момент только одна опция с реальными данными - Персоны.

  1. Клиент запрашивает список тем.
  2. Сервер отправляет список тем.
  3. Клиент выбирает тему и вводит имя, сервер подключает его к залу ожидания в выбранной теме.
  4. Когда клиент подключился к залу ожидания где никого нет, он ждет.
  5. Когда два клиента подключились к залу ожидания, сервер объединяет их в комнату и начинает игру.
  6. Когда клиент отвечает на вопрос, сервер отправляет обратную связь - меняет вопрос и обновляет количество оставшихся вопросов, а также обоим клиентам обновляет набранные очки.
  7. Когда вопросы закончились, сервер отправляет over и заканчивает игру.
  8. Клиент показывает результаты игры (TODO).
  9. Подготовка днных для игры (TODO).

⬆️Оглавление


Установка приложения:

Клонируйте репозиторий с GitHub:

git clone https://github.com/alexpro2022/socketio_quiz.git
cd socketio_quiz

Все последующие команды производятся из корневой директории проекта socketio_quiz:

⬆️Оглавление


Docker:

Запуск приложения
  1. Создание образа:
docker build -t=quiz -f=docker/Dockerfile .

  1. Запуск приложения - проект будет развернут по адресу http://localhost:
docker run --rm -d --name=quiz -p 80:80 quiz

  1. Остановка приложение:
docker stop quiz

  1. Удаление образа:
docker rmi quiz

⬆️Оглавление


Виртуальное окружение:

Запуск тестов и приложения для разработки
  1. Создайте и активируйте виртуальное окружение:
    • Если у вас Linux/macOS
     python -m venv venv && source venv/bin/activate
    • Если у вас Windows
     python -m venv venv && source venv/Scripts/activate

  1. Установите в виртуальное окружение все необходимые зависимости из файла requirements.txt:
python -m pip install --upgrade pip && \
pip install -r requirements/dev.requirements.txt --no-cache-dir

  1. Запуск тестов - после прохождения тестов в консоль будет выведен отчет pytest и coverage(96%).:
pytest

  1. Запуск приложения - проект будет развернут по адресу http://localhost
python main.py

⬆️Оглавление


Удаление приложения:

cd .. && rm -fr socketio_quiz

⬆️Оглавление


Автор:

Aleksei Proskuriakov

⬆️В начало

About

Викторина для 2 игроков.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published