Skip to content

mertuess/uni-schedule

Repository files navigation

UniSchedule

Заказчик:

  • УИТ ФГАОУ ВО "МАУ". Отдел развития информационных систем https://mauniver.ru/structure/service/deps/uit/contacts/
  • Щербаков Сергей Александрович, Начальник отдела
  • Гагара Николай Федорович, Ведущий программист

Исполнители

Группы: БИВТ-ВТД-23 (4), БИВТ-ВП-23 (1) Команда:

  1. Ковалёв Егор Николаевич
  2. Куклин Матвей Алексеевич
  3. Голубев Максим Алексеевич
  4. Корнилов Дмитрий Сергеевич
  5. Тюриков Дмитрий Евгеньевич

Назначение и цели:

  • Для чего нужна система: для агрегации и представления университетского расписания по организационным структурам с поддержкой календарной подписки
  • Какие проблемы решает: Проблема недостаточности функционала в существующих инструментах для просмотра расписания.

Функциональные требования

Список функций с приоритетами:

Обязательно:

  1. Получение данных из основной системы расписания вуза (группам, преподавателям, аудиториям) и предоставление расписания по преподавателям, кафедрам, институтам и корпусам.
  2. Фильтрация по принципу (кафедра-преподаватели, институт-группы, корпус-аудитории)

Желательно:

  1. Генерация iCal ссылок для интегрирования расписания в календари (Google, Яндекс и.т.п)

Входные и выходные данные (форматы, примеры):

Входные:

  1. Система аутентификации(user/admin)
  2. Данные о расписании

Выходные:

  1. Таблица с расписанием и фильтрацией
  2. iCal-ссылки

Нефункциональные требования

  • Технологический стек
    • PHP для получения данных из базы данных
    • C# для обработки данных
    • HTML и CSS для формирования запросов и минимального интерфейса взаимодействия
  • Требования к безопасности (авторизация, логирование)
    • Реализация авторизации для разграничения прав

Требования к интерфейсу

  • Получение данных из базы данных
  • Обработка полученной информации
  • Генерация запросов в виде html страницы и iCal-ссылок
  • Минимальный веб-интерфейс взаимодействия с API

Условия эксплуатации

  • Где будет развернута система
    • На сервере
    • Локально
  • Необходимое окружение
    • Веб-браузер

Критерии приемки

  • Контрольный пример
    • Запрашиваем расписание по фильтрам, получаем сформированную отфильтрованную таблицу
  • Перечень текстовых сценариев
    • Человек с правами пользователя "user" авторизируется в системе. Запрашивает расписание на текущую неделю. Получает сформированный ответ в виде таблицы.
    • Человек с правами пользователя "admin" авторизируется в системе. Генерирует запрос на добавление предмета в расписание группы. Получает сформированный запрос в виде HTML.

Порядок контроля и приёмки

  • Кто и как принимает работу
    • Щербаков Сергей Александрович, Начальник отдела
  • Форма отчёта (демо, код, документация)
    • Прототип с исходным кодом и документацией.
    • Инструкция к развертке проекта

Инструкция к развертке на сервере

  1. Скачать последний релиз-пакет
  2. Загрузить его на удаленный сервер на ядре linux правильной архитектуры
  3. Установить пакет
sudo dpkg -i uni-schedule_<версия пакета>_<архитектура пакета>.deb
  1. Вставить токен в файлы appsettings.json по пути /opt/uni-schedule/
sudo nano /opt/uni-schedule/appsettings.json
...
  "ApiSettings": {
    "Token": "<Сюда вставить токен api университета>"
  },
...
  1. Запустить сервис
sudo systemctl start uni-schedule

About

Микросервис, который из БД получает данные из основной системы расписания вуза и предоставляет представление расписания по преподавателям, кафедрам, институтам и корпусам

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors