Skip to content
SaboteurInCave edited this page Aug 27, 2016 · 17 revisions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сущности

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

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

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

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

Clone this wiki locally