ItCube — Releases

Changelog und Versionsgeschichte.

v2.1.0

Latest

Панель управления с аналитикой и кабинет родителя

Панель управления

  • Задачи, отсортированные по доле решивших снизу вверх: показывает не активность, а тему, которую стоит переобъяснить
  • Посещаемость по неделям и по группам, сдачи работ по дням, разбивка по языкам
  • Вопросы теста с самой низкой долей верных ответов
  • Считается запросами с группировкой, графики нарисованы разметкой — библиотеки ради двух диаграмм в проекте нет

Управление

  • Люди с фильтром по роли и поиском, заведение и правка учётных записей
  • Группы вместе с расписанием и составом

Кабинет родителя

  • Посещаемость, результаты, расписание и контрольные своих детей
  • Кода ребёнка родитель не видит намеренно: разбор решения — дело преподавателя
  • Связь взрослого с ребёнком многие-ко-многим: у ребёнка бывает двое взрослых, у взрослого двое детей в разных группах

Найдено тестами

  • Пароль ехал в общем массиве данных, и правка профиля с пустым полем обнулила бы его
  • Контроллер групп обращался к полю slug, которого в форме нет: любое сохранение падало бы

v2.0.0

Второе рождение: Laravel, проверка кода, три языка

Заново

  • Переписано с процедурного PHP 2023 года на Laravel 13; от старой версии осталась только предметная область
  • Преподаватель и ученик теперь в одной таблице с ролью полем, вместо двух таблиц и двух входов
  • Отметка посещаемости привязана к группе: в старой схеме у ходящего на два направления день был неразличим
  • Ученик может числиться в нескольких группах, а не в одной

Задачи с кодом

  • Четырнадцать языков: Python, JavaScript, TypeScript, PHP, C, C++, Java, C#, Go, Rust, Ruby, Паскаль, SQL, Bash
  • Проверка по нескольким наборам данных, у каждого свой вход, ответ и баллы
  • Скрытые наборы: видно только «сошёлся или нет», без входа и без ожидаемого ответа
  • Редактор с отступом по Tab, номерами строк и запуском на своём вводе
  • Проверка идёт в очереди: замер показал, что пять кейсов на Go занимают около минуты

Тесты и контрольные

  • Тесты с таймером, который сам отправляет ответы по истечении времени
  • Контрольная собирает тесты и задачи в одну работу с окном сдачи
  • Ведомость приводит балл каждой работы к назначенному ей весу и считает по лучшей попытке

Язык

  • Русский, английский и немецкий; ключ перевода — сама русская строка
  • Команда lang:check сверяет словари с кодом, тесты не дают им разъехаться

Alle Releases auf GitHub →