codebattle icon indicating copy to clipboard operation
codebattle copied to clipboard

Сделать возможность выбора задачи

Open acidmaksim opened this issue 2 years ago • 1 comments

Сейчас все задачи выбираются рандомно и человек не знает, что ему попадется. Нужно реализовать возможность выбора задачи

acidmaksim avatar Oct 13 '22 08:10 acidmaksim

Я взял в работу, хочу попробовать свои силы.

Guryanov-Maksim avatar Oct 18 '22 09:10 Guryanov-Maksim

Для информации, разработка ведется в ветке task-choice: https://github.com/hexlet-codebattle/codebattle/tree/task-choice. Там нужно доработать бэкенд.

Guryanov-Maksim avatar Oct 21 '22 15:10 Guryanov-Maksim

@Guryanov-Maksim а что по беку нужно? Могу сделать в ближайшее время.

solar05 avatar Oct 21 '22 16:10 solar05

На самом деле желательно, чтобы часть по фронту кто-нибудь посмотрел и вообще логику. На данный момент реализовано следующим образом. Я по api '/api/v1/tasks' запрашиваю список задач (себе для проверки я набросал на беке эту "ручку", в коммите есть) и вывожу их в форме создания игры. Далее, если пользователь не выбрал задачу, то должна создаться игра с рандомной задачей (на бек уходит task_id со значением null), если пользователь выбрал задачу, то игра создаётся с выбранной задачей (на бек уходит task_id выбранной задачи). Вот нужно, чтобы на беке создавались соответствующие игры, пока task_id никак не обрабатывается на беке.

Guryanov-Maksim avatar Oct 21 '22 16:10 Guryanov-Maksim

Если логика такая останется, то я хочу тесты ещё добавить для выбора задачи. Тесты для фронта имею ввиду.

Guryanov-Maksim avatar Oct 21 '22 16:10 Guryanov-Maksim

@Guryanov-Maksim добавил апиху на беке, теперь просмотр задач нужно дергать через ручки api/v1/tasks?level={task_level} и api/v1/tasks/{task_id} (не забудь подтянуть изменения из мастер ветки) Так как задач в проде много, то сделал для первой апихи фильтрацию по уровню задачи (по умолчанию elementary), плюс задачи выдаются с учетом доступности задачи для игр.

Чуть попозже добавлю в беке логику, что при создании игры с переданным айдишником задачи, игра будет создаваться с учетом этого айдишника.

solar05 avatar Oct 23 '22 12:10 solar05

О, это здорово! Я там в слаке вопрос задал, тогда в зависимости от ответа буду дорабатывать фронт.

Guryanov-Maksim avatar Oct 24 '22 05:10 Guryanov-Maksim

@solar05 , @vtm9 , привет! Добавил ветку task-choice-improvement https://github.com/hexlet-codebattle/codebattle/tree/task-choice-improvement, где сделал небольшие улучшения по выбору задачи:

  1. Запрос задач происходит по уровню сложности (нужно вернуть ручку api/v1/tasks?level={task_level})
  2. Добавил иконки для задач, которые выбираются в зависимости от того, кто создал задачу.
  3. Добавил поиск по имени задачи.

Остался вопрос по тегам. @vtm9 , как раз вопрос, который я у тебя в слаке спрашивал, посмотри, как будет время.

Guryanov-Maksim avatar Oct 29 '22 14:10 Guryanov-Maksim

done

vtm9 avatar Nov 26 '22 09:11 vtm9