Skip to content

Latest commit

 

History

History
86 lines (75 loc) · 8.38 KB

File metadata and controls

86 lines (75 loc) · 8.38 KB

2. Скриншот результата выполнения задания

3. Ссылка на задеплоенную версию вашего приложения или сайта.

4. 27.02.2023 / 28.02.2023.

5.Ваша самопроверка с предварительной оценкой:

Обеще количество баллов 620:

Приложение : 180 баллов

  • Использован роутинг без перезагрузки страницы (SPA): (+30)
  • Есть возможность переключения языков (+10)
  • Приложение выполнено в едином стиле (+5)
  • Приложение работает на телефоне/планшете/PC (+20)
  • Реализована кастомизация приложения(цветовые схемы) (+5)
  • Возможность оставлять отзывы и выставлять рейтинг к играм (+20)
  • Реализована страница пользователя (+10)
  • Реализована страница с играми (+10)
  • Реализованы различные уровни доступа ( незарегистрированный пользователь, пользователь, модератор, админ) (+10)
  • Реализованная возможность изменять права доступа для аднимитратора (нет возможности убрать право доступа "admin" у 4 основных пользователя: Admin, Max, Olya, Jerubrin) (+5)
  • Возможность банить пользователей (+5)
  • Возможность удалять пользователей (нет возможности убрать удалить 4 основных пользователя: Admin, Max, Olya, Jerubrin) (+5)
  • Аутентификация пользователя (+10)
  • Восстановление и изменение пароля пользователя (+10)
  • Реализованы различные модальные окна (+10)
  • Анимирование всех интерактивных элементов (+5)
  • Реализованно ограницение к играм, для пользователей со статусом "banned" (+10)

Игры внутри приложения:250 баллов

1. Морской бой (100 баллов)

  • Реализована игра онлайн между соперниками (WebSocket) (+30)
  • Возможность подключения к различным играм (+15)
  • Анимации кораблей (+10)
  • Сохранение игры(возможность перезагружать страницу во время игры) (+10)
  • Подсказки во время игры (+10)
  • Проверка правильности расположения кораблей (+10)
  • Победные баллы за сбитые корабли противника (+10)
  • При окончании игры, итоговый бал записывается в таблицу рекордов (+5)

2. Тетрис (100 баллов)

  • Реализованны механика игры (фигурки постепенно падают, не перекрвают друг-друга) (+30)
  • Реализованны различные фигуры (+15)
  • Различные цвета фигур (+10)
  • Управление с помощью клавиатуры (+15)
  • Управление с помощью мыши или сенсорного экрана (+10)
  • Возможность перезапустить игру (+5)
  • Начисление баллов за собранные линии (+10)
  • При окончании игры, итоговый бал записывается в таблицу рекордов (+5)

3. Игра на память (50 баллов)

  • Выбор сложности игры (+10)
  • Анимации при верном ответе (+10)
  • Начисление баллов за верные ответы (+10)
  • Возможность перезапустить игру (+5)
  • Анимирование переворотов карточек (+10)
  • При окончании игры, итоговый бал записывается в таблицу рекордов (+5)

Серверная часть 190 баллов

  • Использован REST API (+10)
  • Реализован nodejs и express (+30)
  • Подключение и работа с БД (+15)
  • Используется ORM(mongoose) (+15)
  • Реализованна логика сортировки победителей (в игре и кабинете пользователя) (+10)
  • использование JWT токенов для авторизации (+10)
  • Реализована работа с WebSocket (+20)
  • Реализована аутентификация в WebSocket (+10)
  • Реализована распределелие клиентов в WebSocket (может проходить одновременно несколько игр, сообщения отправляются правильным пользователям) (+15)
  • Реализованна рассылка email-сообщений при создании пользователя, сброса и изменении пароля (+15)
  • Используется email-клиент с собственным доменном (+10)
  • Email-сообщения имеют inline стили (сообщения имеют свою верстку) (+10)
  • Сервер отдаёт корректные ответы, отдаёт HTTP ошибки с нормальными body, по которым можно понять, что произошло, пишет читаемые логи (+20)

Дополнительно, для проверяющего:

Пользователь Admin

Для проверки возможностей администратора используйте пользователя Admin (пароль: admin123)

  • Большая просьба не совершать "разрушительных" действий, основные аккаунты защищены от критических изменений на стороне сервера, но не стоит банить и удалять всех остальных пользователей, для проверки - лучше создайте несколько своих пользователей. Спасибо за адекватность.

Backend

Backend доступен по адресу: https://rsgames.online:8888/ все комманды и описание взаимодействия с ними доступны в README.md файле репозитория.

Развернуть проект на локальной машине

Для запуска проекта локально - нужны специальные параметры в .env файле, для получения локальных параметров. Для получения .env файла с параметрами - обратитесь к jerubrin После получания файла с параметрами, положите его в корень проекта (имя фала должно быть именно .env), затем выполните комманду: npm run dev-all. После запуска, можете открыть проек локально: http://localhost:5173/RsClone, backend будет доступен по адресу: https://localhost:8888/ или http://localhost:8000/