Что такое задание?
Задание — это конкретная задача, которую вы ставите перед участниками внутри вашего модуля. Это основной инструмент для организации работы, будь то код-ревью, тестовое упражнение или учебный проект.
Представьте, что задание — это индивидуальный рабочий пакет для каждого участника. Когда участник принимает задание, система автоматически создает для него персональную копию (форк) из специального снимка (снепшота) репозитория-шаблона. Это гарантирует, что все начинают с одинаковой исходной точки, а вы можете легко отслеживать прогресс.
Зачем создавать задания?
- автоматизация рутины — система сама создает персональные репозитории для каждого участника;
- единые стартовые условия — все участники работают с одинаковой исходной базой;
- гибкость управления — настройка видимости и формата работы под конкретные задачи;
- простота проверки — удобный интерфейс для отслеживания прогресса и оценки результатов.
В этом разделе вы сможете узнать, как создать и настроить задание, которое идеально подойдет для вашего проекта.
Создание задания
Info
Например, нужно создать образовательный модуль по Python со следующей структурой:
- введение в Python и основы программирования → модуль:
- основы Python → задание;
- списки → задание;
- словари и множества → задание;
- HTML и CSS → задание;
- работа с инструментами разработки и окружения → модуль:
- командная строка Linux→ задание;
- работа с Git → задание;
- настройка окружения → задание;
- pytest → задание.
Создание репозитория для задания
Для задания необходим репозиторий-шаблон. При создании задания система делает его снимок (снепшот). Участники получают личные копии (форки) уже из этого снепшота.
Репозиторий-шаблон → Снепшот → Форк для участника
В репозитории-шаблоне можно разместить информационные материалы или конкретный код, с которым участникам нужно будет работать.
Чтобы создать репозиторий-шаблон, необходимо:
- перейти в раздел «Мои репозитории», кликнув по изображению вашего пользователя (в правом верхнем углу) и выбрав соответствующий пункт;
- нажать на «Создать репозиторий»;
- ввести название репозитория;
- проставить галочку «Сделать репозиторий шаблоном»;
- выбрать уровень приватности:
- публичный;
- приватный;
- проставить галочку «Добавить файл README» (чтобы сразу инициализировать репозиторий).
Необязательно, но можно сразу добавить описание и .gitignore.
Также репозиторий можно импортировать (на том же экране создания нового репозитория) из GitHub, GitLab, Gitea или из любого другого git-сервиса.
Создание задания с репозиторием
Info
На примере образовательного модуля Python. Для каждого задания необходимо создать отдельный репозиторий и наполнить его материалами.
- находясь в любом модуле GitVerse Lab, нажать на кнопку «Новое задание»;
- ввести название задания;
- выбрать тип задания:
- выбрать уровень приватности:
Приватные задания будут видны только владельцам организации и участнику, который примет задание.
Публичные задания будут видны всем, включая других участников.
В индивидуальном задании каждый участник выполняет работу самостоятельно.
В групповом задании в команде может быть несколько человек, которые будут выполнять поставленную задачу. Можно управлять как максимальным количеством команд, так и максимальным количеством участников в каждой команде.
- установить дедлайн выполнения задания и выбрать его жесткость.
Необязательно. Если оставить поле пустым, дедлайн не будет установлен. Жесткий дедлайн означает, что после его завершения участник не сможет вносить изменения в репозиторий. Можно изменить в любой момент.
- выбрать шаблон репозитория (процесс создания описан выше);
- нажать кнопку «Создать задание»;
- выключить или включить дополнительные настройки задания:
- CI/CD;
- задачи;
- вики;
- настройки защиты веток.
CI/CD — позволяет участникам в рамках выполнения задания запускать кастомные workflow.
Задачи — позволяют участникам вести задачи в рамках своего репозитория.
Вики — позволит участникам вести документацию на GitVerse в рамках своего репозитория.
Настройки защиты веток — позволят устанавливать правила работы с ветками (в частности запрещают force push).
- нажать на кнопку «Сохранить»;
- нажать кнопку «Пропустить». Шаг с настройкой автопроверок можно выполнить позже;
- нажать кнопку «Копировать ссылку-приглашение» и разослать ее участникам, чтобы они смогли присоединиться к вашему заданию и приступить к его выполнению.
Переиспользование задания
Info
На примере образовательного модуля Python. Например, создав одно задание с объяснением, как работать в IDE, можно переиспользовать такое задание как фундамент, на котором будут строиться последующие шаги обучения.
Уже созданное задание можно переиспользовать (другими словами, скопировать). Для этого достаточно:
- открыть любое уже созданное задание;
- кликнуть на иконку ︙ и выбрать там «Переиспользовать шаблон»;
- выбрать организацию и модуль, куда задание будет добавлено;
- нажать кнопку «Переиспользовать».
Созданная копия задания будет добавлена в указанную организацию и модуль.
Публичное задание
Info
На примере образовательного модуля Python. Стоит выбрать публичное задание, чтобы его могли видеть все участники модуля.
Публичное задание видят все участники модуля в общем списке. Организатор видит всех участников модуля со статусом выполнения (принято/не принято).
Идеально для:
- обязательных задач — когда все участники должны видеть полный список работ;
- последовательных заданий — где важно, чтобы участники видели всю программу курса;
- прозрачности процесса — когда нужно показать структуру всего модуля.
Участник видит только свои принятые задания. Содержимое репозитория зависит от его настроек приватности.
Приватное задание
Info
На примере образовательного модуля Python. Стоит выбрать приватное задание, только если вы еще находитесь на этапе его заполнения.
Приватное задание скрыто из общего списка модуля. Организатор видит только тех участников, кто принял задание по прямой ссылке.
Идеально для:
- дополнительных материалов — задачи для отдельных групп участников;
- тестовых заданий — когда нужно ограничить видимость условия;
- индивидуальных траекторий — персональные задания для разных участников.
Участники не знают о существовании задания, пока не получат прямую ссылку. Доступ к репозиторию настраивается отдельно.
Индивидуальное задание
Info
На примере образовательного модуля Python. Стоит выбрать индивидуальное задание, так как подобное обучение лучше проходит самостоятельно.
Каждый участник работает над заданием самостоятельно. При принятии задания создается персональный форк репозитория для каждого участника.
Идеально для:
- персональной оценки — когда нужно оценить навыки каждого участника отдельно;
- тестовых заданий — для проверки индивидуальных знаний;
- независимой работы — где коллаборация не предусмотрена.
Каждый участник получает изолированную рабочую среду и не видит прогресс других.
Групповое задание
Info
На примере образовательного модуля Python. Стоит выбрать групповое задание только если у вас предусмотрено взаимодействие внутри групп.
Участники объединяются в команды для совместного выполнения задачи. Организатор настраивает максимальный размер команды и общее количество команд.
Идеально для:
- командных проектов — развитие навыков коллаборации;
- хакатонов — работа над проектом в ограниченное время;
- групповых исследований — совместное решение сложных задач.
Участники сами создают команды или присоединяются к существующим, придумывая названия. Форк репозитория создается на команду.