codebattle
codebattle copied to clipboard
Сделать возможность выбора задачи
Сейчас все задачи выбираются рандомно и человек не знает, что ему попадется. Нужно реализовать возможность выбора задачи
Я взял в работу, хочу попробовать свои силы.
Для информации, разработка ведется в ветке task-choice: https://github.com/hexlet-codebattle/codebattle/tree/task-choice. Там нужно доработать бэкенд.
@Guryanov-Maksim а что по беку нужно? Могу сделать в ближайшее время.
На самом деле желательно, чтобы часть по фронту кто-нибудь посмотрел и вообще логику. На данный момент реализовано следующим образом. Я по api '/api/v1/tasks' запрашиваю список задач (себе для проверки я набросал на беке эту "ручку", в коммите есть) и вывожу их в форме создания игры. Далее, если пользователь не выбрал задачу, то должна создаться игра с рандомной задачей (на бек уходит task_id со значением null), если пользователь выбрал задачу, то игра создаётся с выбранной задачей (на бек уходит task_id выбранной задачи). Вот нужно, чтобы на беке создавались соответствующие игры, пока task_id никак не обрабатывается на беке.
Если логика такая останется, то я хочу тесты ещё добавить для выбора задачи. Тесты для фронта имею ввиду.
@Guryanov-Maksim добавил апиху на беке, теперь просмотр задач нужно дергать через ручки api/v1/tasks?level={task_level}
и api/v1/tasks/{task_id}
(не забудь подтянуть изменения из мастер ветки)
Так как задач в проде много, то сделал для первой апихи фильтрацию по уровню задачи (по умолчанию elementary
), плюс задачи выдаются с учетом доступности задачи для игр.
Чуть попозже добавлю в беке логику, что при создании игры с переданным айдишником задачи, игра будет создаваться с учетом этого айдишника.
О, это здорово! Я там в слаке вопрос задал, тогда в зависимости от ответа буду дорабатывать фронт.
@solar05 , @vtm9 , привет! Добавил ветку task-choice-improvement https://github.com/hexlet-codebattle/codebattle/tree/task-choice-improvement, где сделал небольшие улучшения по выбору задачи:
- Запрос задач происходит по уровню сложности (нужно вернуть ручку
api/v1/tasks?level={task_level}
) - Добавил иконки для задач, которые выбираются в зависимости от того, кто создал задачу.
- Добавил поиск по имени задачи.
Остался вопрос по тегам. @vtm9 , как раз вопрос, который я у тебя в слаке спрашивал, посмотри, как будет время.
done