README.md

Проект для портфолио №2. Сервер для однопользовательской игры “Вырасти супергероя”.

Необходимые технологии:

  • Node.js 18 версии и выше
  • библиотека Express.js
  • Redis

Использование

Шаг 1. Установка зависимостей и запуск проекта.

Для работы необходимо установить docker. после установки docker, Вам остаётся только набрать команду:

npm run docker

После этого, начнётся сборка проекта и его запуск.

Шаг 2. Проверка на работоспосбобность API.

CURL

Вы можете воспользоваться самым простым консольным инструментом для проверки api: CURL.

  • Получение состояния героя:
curl --header "Content-Type: application/json" \
  --request GET \
  http://localhost:2000/superhero/getHeroState

Ответ:

{
    "name": "Ник",
    "strength": 10,
    "dexterity": 10,
    "intellect": 10,
    "isInvincible": true
}

  • Изменение состояния героя:
curl --header "Content-Type: application/json" \
  --request POST \
  --data '{\"name\":\"hi!\",\"strength\":10,\"dexterity\":10,\"intellect\":10,\"isInvincible\":true}' \
  http://localhost:2000/superhero/setHeroState

  • Получение фотографии героя:
curl --header "Content-Type: application/json" \
  --request POST \
  --data '{\"name\":\"hi!\",\"strength\":10,\"dexterity\":10,\"intellect\":10,\"isInvincible\":true}' \
  http://localhost:2000/superhero/getHeroImage

  • Изменение фотографии героя:
curl --header "Content-Type: application/json" \
  --request POST \
  -F name=file \
  -F "image=@/home/user1/Desktop/test.jpg" \
  http://localhost:2000/superhero/setHeroImage

Native Tests

Также в проекте есть и нативные тесты, позволяющие протестировать данный сервер. Для этого необходимо перейти в папку tests.

  • Получение состояния героя:
npm run testGetHeroState

Хороший Ответ:

{
    "name": "Ник",
    "strength": 10,
    "dexterity": 10,
    "intellect": 10,
    "isInvincible": true
}

Неудачный Ответ:

Тест прошёл с ошибкой. Исправьте сервер.

  • Изменение состояния героя:
npm run testSetHeroState

Хороший Ответ:

Тест удачно пройден.

Неудачный Ответ:

Тест прошёл с ошибкой. Исправьте сервер.

  • Получение фотографии героя:
npm run testGetHeroState

Хороший Ответ:

Тест удачно пройден.

Неудачный Ответ:

Тест прошёл с ошибкой. Исправьте сервер.

  • Изменение фотографии героя:
npm run testGetHeroState

Хороший Ответ:

Тест удачно пройден.

Неудачный Ответ:

Тест прошёл с ошибкой. Исправьте сервер.

Автор проекта

Колпаков Светослав Александрович

Лицензия проекта

GNU AGPLv3

Конвейеры
0 успешных
0 с ошибкой