Формулировка задачи

Цель проекта

Создание нового раздела «Учеба» на платформе MIPT.Tech, который станет централизованным хранилищем учебных материалов, таких как записи лекций, конспекты, учебники и т.д.

Это решит проблему децентрализованности учебных материалов и позволит студентам с сильно большим удобством как хранить и актуализировать самописные материалы, так и иметь доступ к общему “хранилищу” с удобным поиском.


Описание функциональности

Главная сущность: Курс

Курс объединяет предмет, лектора и год его проведения.

Зарегистрированные пользователи смогут создавать курсы с гибкими настройками доступа:

  • Публичный — доступен без авторизации, в том числе может индексироваться поисковиками.
  • Только для авторизованных — доступен только после входа в аккаунт.
  • Доступ по ссылке.
  • Приватный — доступ предоставляется вручную на конкретные аккаунты MIPT.Tech.

Создатели курсов смогут делегировать права редактирования другим пользователям.

Создатели курсов могут передать роль создателя курса другому пользователю.


Содержание курса

Каждый курс включает:

  • Ссылку на плейлист с лекциями (на YouTube или VK Видео).
  • Список материалов, относящихся к курсу.
  • Факультет (опционально).
  • Номер курса (опционально).
  • Статус курса:
    • Только создан.
    • Читается.
    • Закончен.
  • Алиасы — ключевые слова для удобного поиска (например: «матан», «матанализ», «Редкозубов» и т.д.).

Сущность: Материал

Каждый материал имеет следующие параметры:

  • Название.
  • Тип:
    • Конспект (затеханный).
    • Конспект (рукописный).
    • Расписанные билеты.
    • Учебник.
    • Пособие.
    • Задавальник.
    • Другое.
  • Статус:
    • Только создан.
    • В процессе (например, готово 5 из 10 лекций).
    • Готов.
    • Заброшен.
  • Содержимое:
    • Файл (PDF, DJVU и др.).
    • Ссылка на сторонний ресурс.
  • Исходник (опционально).

Функции:

  • Предпросмотр материалов в поддерживаемых форматах (например, PDF).
  • Возможность добавления и обновления материалов пользователями с правами на редактирование курса.

Функциональность поиска

Платформа предоставляет удобный поиск по курсам с возможностью фильтрации:

  • По году.
  • По факультету.

Дополнительная опция: Предложение материалов

Пользователи, не имеющие права редактирования курса, могут предложить новый материал.

  • Функциональность аналогична загрузке материала редактором курса.
  • Пользователи с правами на редактирование могут проверять и утверждать предложенные материалы.

Технологический стек

  • Frontend: Next.js.
  • Backend: Django.
  • Кэширование: Redis.
  • Очереди: RabbitMQ.
  • База данных: PostgreSQL.

Желаемый состав команды и компетенции

  • Студенты с навыками фулл-стек разработки (с преобладанием в сторону фронтенда) - 2x
  • Студенты с навыками фулл-стек разработки (с преобладанием в сторону бекенда) - 2x
  • “ни рыба, ни мясо”

Очень хочется выбирать среди студентов, прошедших курс по full-stack разработке.

Желаемое количество студентов: 4-6


Руководитель проекта и менторы

  • Руководитель проекта (& ментор): Халилов Арслан (tg)
  • Студент-менеджер: Зайнуллин Валерий (tg)

Бонусы

  • Право быть увековеченным в списке разработчиков платформы (на главной странице сайта)
  • Возможность остаться в команде проекта и разрабатывать его дальше
  • Пицца на митингах 😊
  • No labels