Приложение представляет из себя небольшую информационную систему для визуализации педагогической нагрузки преподавателей СПбГУ с исследованием различных сценариев распределения нагрузки благодаря возможности перетаскивать дисциплины между преподавателями при помощи Drag&Drop. Распределенную нагрузку можно выгрузить в указанную Google Spreadsheet таблицу.
- При любом взаимодействии с
Google Spreadsheetтаблицами данные берутся из листа с названиемЛист1(название листа по умолчанию при создании таблицы), выгрузка данных также происходит вЛист1, поэтому лист с таким названием обязательно должен быть в таблице. Google Spreadsheetтаблица, в которую происходит экспорт нагрузки, должна быть открыта для редактирования для всех (возможно, если появится фиксированный сервисный аккаунт, то разрешать редактировать можно будет только ему).- Учебные планы, используемые во входном
.xlsxфайле, должны находиться в этом приложении в учебных планах - Дисциплины из
.xlsxфайла, соответствующие общему типу учебной работыпрактики, а именно все, кромеЛекции,Консультации,Промежуточная аттестация (экз),Коллоквиумы, должны образовывать целое количество одинаковых групп по типуПрактические занятия,Контрольные работы,Промежуточная аттестация (зач). Эти группы представляют собой копию дисциплины для каждой группы на направлении. Целое количество, потому что было бы странно, если бы у одной группы контрольные работы были, а у другой - нет.
Импортирование .xlsx файла с распределенной нагрузкой в следующем формате (его можно скачать в формате .xlsx и использовать в приложении при импортировании таблицы с .xlsx файлом) вместе с конфигурационной таблицей (ссылку на неё можно использовать в приложении), содержащей интересующих преподавателей с их должностями и процентами ставок. Нагрузку можно как-то перераспределить и экспортировать в указанную Google Spreadsheet таблицу.
Импортирование Google Spreadsheet таблицы, которую приложение уже выгрузило. Достаточно просто ввести ссылку на таблицу. Примера нет, потому что можно его воссоздать самостоятельно в первом сценарии.
- Поставить в переменную окружения
GOOGLE_APPLICATION_CREDENTIALSпуть к файлу со скачаннымиCREDENTIALSв формате.jsonиз Google Cloud Console - Убедиться, что установлен Docker и что докер демон запущен.
git clone --recurse-submodules https://github.com/oveeernight/PLVisualizer
cd PLVisualizerЗапускаем приложение
docker compose upКлиентская часть доступна по адресу http://localhost:3000/.
Если в приложении ничего не происходит при импорте или экспорте и в косноли браузера появляется ошибка ERR_CERT_AUTHORITY_INVALID, нужно в консоли браузера нажать на роут, запрос по которому завершился ошибкой,
он может выглядеть примерно так GET https://localhost:8787/tables/import/13iWusc8H38jwL1Mhmd9ApSGyjfgdfNQo0SudIGtJTyBDxE, и на открывшейся странице "Подключение не защищено", нажать Дополнительные -> Перейти на *адрес* (небезопасно) и повторить запрос.