Чуть больше года назад я писал пост. За это время появились некоторые улучшения. Вы можете попробовать тестовую версию тут.
Улучшения интерфейса (текущая версия v0.1.6
):
- Добавлена русская локализация. Спасибо за это контрибьютеру.
- Добавлена бесконечная прокрутка посылок. Теперь не нужно ждать несколько секунд, пока прогрузятся и отрисуются все 10к+ посылок :) Добавлен поиск посылок по задаче и участнику.
- Добавлена темная тема.
- Добавлена подсветка синтаксиса для Golang.
- Добавлены уведомления для подтверждения почты и формы восстановление пароля через почту.
Улучшения бекенда (текущая версия v0.2.4
):
- Добавлено итерирование по длинному списку посылок. Добавлена фильтрация посылок по участнику, задаче и вердикту.
- Добавлено подтверждение почты и восстановление пароля через почту.
- На соревнование можно зарегистрировать скоуп (группа виртуальных пользователей), чтобы автоматически добавить всех пользователей скоупа в соревнование.
- Добавлена базовая поддержка групп пользователей (группы для реальных пользователей). На данный момент не полностью реализована, но будет использоваться для раздачи доступа к контестам, задачам и скоупам.
- Переделан кеш пакетов задач и rootfs-образов компиляторов.
- Исправлены баги и корректно обработаны ситуации с паниками, приводящими к полному падению системы.
- Добавлены лимиты на количество посылок и сообщений за период времени (по умолчанию 3 единицы в минуту).
Планы на версию интерфейса v0.2
:
- Довести интерфейс администратора до совершенства: избавиться от всех формочек ввода ID в пользу нечеткого поиск по участникам, задачам.
- Улучшить отображение ошибок.
- Поддержать красивый отчет ошибок компиляции (подсвечивать конкретные строки с ошибками).
Планы на версию бекенда v0.3
:
- Улучшить отображение ошибок во время сборки пакета задачи.
- Реализовать интерфейс перетестирования посылок с фильтрами по задаче, вердикту, участнику и т.д.
- Доделать группы пользователей.
- Поддершать парсинг ошибки компиляции для разметки решения.
- Под вопросом: Поддержать мультигенераторы polygon (зачем использовать такое).
- Под вопросом: Поддержать pipelines в генераторах, например:
gen 12 34 | convert > $
(зачем использовать такое).
Еще интересно, кто-нибудь знает что-то наподобие локального полигона с локальной сборкой задач и синхронизацией через git/svn? Напишите, если знаете подобные открытые проекты. Если не знаете, но хотите скооперироваться со мной и разработать такую класную штуку, то напишите в лс.