Skip to content
Tsarev Nikita edited this page Aug 30, 2016 · 17 revisions

Основные функции сайта

Заявки в КШ: заявка – оплата – собеседование – группы

Список заявок для комитета

Тестирующая система для одобрения заявок

Группа – учебная, факультатив, отряд -> архив прошлых лет

Образовательный процесс: расписание, материалы, рейтинг, электронные поощрения, посещаемость -> библиотека для создания новых курсов из старых материалов, архив

Командная работа (Что имелось в виду под командной работой? (Михайлов))

Конкурсы: турниры, участники, победители

Аккаунты для родителей

Сервисы: система тестирования (ejudge для задач + опросники по теории при поступлении/во время занятий?), компьютерные бои, сообщения, система контроля версий

Улучшения для ejudge: переписанный frontend (интерфейс взаимодействия), вставка проверки code-style перед отправкой, вставка проверки на списывание задач.

Оффлайн турниры для сбора статистики с олимпиад и занятий по математике.

Пользователи

Обычный пользователь:

  • Подаёт заявку на участие в одной из открытых учебных групп
  • Подаёт заявку на участие в турнире
  • Подтверждает чужую заявку на своё участие в командном турнире
  • Подаёт "родительскую" заявку на просмотр результатов обучения

Преподаватель:

  • Одобряет заявки в свои учебные группы
  • Создаёт турниры
  • Добавляет материалы и задачи

Администратор (функционал преподавателя + ...):

  • Подтверждает права родителей на просмотр итогов обучения

Сущности

  • Пользователь
  • Учебный период (учебный год, смена)
  • Курс - учебная деятельность по определённой теме (например, курс по массивам/переборам/динамике). Может включать в себя теоретические материалы, турниры, аудиторные занятия
  • Турнир (совокупность теории и задач).
  • Задача (То, что должен решить участник турнира, турнир состоит из совокупности задач - отдельную запись в БД стоит выносить для того, чтобы хранить ссылку на текст задачи/pdf-ку + настройки задачи - время, память и т.д.)
  • Группа (учебная, отряд)
  • Заявка (заявление на участие конкретного пользователя в учебной группе, курсе, турнире (?))
  • Награда (бейджик/медалька в профиле конкретного пользователя за достижения в курсе/турнире/etc)
  • Аудиторное занятие (для ведения статистики посещения курса/турнира)
  • Теоретические материалы - нужны для самостоятельного изучения. Могут быть сгруппированы по разделам.
  • Компилятор (язык программирования) - доступный компилятор для отправки решения с командами компиляции и запуска.
  • Посылка (попытка решения задачи) - вся информация о посылке, лог(?)

Сущности AIBattle (компьютерных боев)

TODO: Найти похожие сущности в вышестоящем списке и перенести оставшиеся.

Структура базы данных сайта AIBattle.

Clone this wiki locally