February 23, 2021

ТЗ проекта Easy VPR

Цель проекта

Данный проект нужен для автоматизации получения материалов из личного кабинета ФИС ОКО обычным пользователем. Простыми словами, чтобы администратор не выполнял всю эту работу вручную, а автоматизированная система выполняла всё этого за него. Пользователь получает код доступа и в один клик получает необходимые ему материалы.

Терминология
БД – база данных, имеющаяся в отдельном файле ЛК – личный кабинет
ФИС ОКО – сайт на котором размещаются файлы, в последствии доступные для пользователей нашего сайта
Скрипт – программа, выполняющая функцию автоматизации процессов Логин:пароль – данные, которые необходимы для авторизации в ЛК ФИС ОКО
Ключ - сгенерированный код скриптом

Структура сайта 1. Окно ввода ключей, для пользователей (Рис.1)
2. Окно авторизации, для администраторов (Рис.2)
3. Вкладка «Добавить доступы» (Только для администраторов)
4. Вкладка «Proxy» (?) (Только для администраторов)
5. Вкладка «Общая база школ» (Только для администраторов)

Рис. 1 ( Окно ввода ключей, для пользователей )
Рис. 2 ( Окно авторизации, для администраторов )

Подробнее по вкладкам сайта (Админка) 1.Внесение доступов ФИС ОКО в базу сайта, вкладка «Добавить доступы»

Внесение доступов ФИС ОКО в базу сайта, вкладка «Добавить доступы

Как это должно работать:

Есть список аккаунтов ФИС ОКО, в формате логин:пароль (пример логина и пароля: sch000001:sh6z73D2), администратор загружает список в форму на сайте во вкладке "добавить доступы", в нашем случае это вкладка «Добавить доступ». Из выпадающего списка есть возможность выбрать конкретный проект или несколько проектов, или оставить поле пустым.

Выше приведён наглядный пример.

После нажатия кнопки «Добавить» сайт синхронизирует добавленный логин ФИС ОКО с информацией в БД, находит совпадение и соотносит название школы, района и региона. Затем добавляет эту школу со всеми атрибутами в общую БД сайта которая отображается во вкладке "Общая база школ" см.ниже

База данных состоит из следующих атрибутов: 1. Логин ФИС ОКО
2. Полное наименование школы
3. Номер региона
4. Район.
5. Ключи

Пункт 5 генерация ключей.
Так же вместе с добавлением атрибутов, наименование школы, регион, район, скрипт генерирует ключи доступов и присваивает к определенному логину.

Принцип работы:

Сайт автоматически создает ключи доступа для каждого класса и предмета, а именно:

Классы: 4 класс, 5 класс, 6 класс, 7 класс, 8 класс, 11 класс

Предметы: Русский язык, Математика. Окружающий мир, История, Биология, География, Обществознание, Физика, Химия

В качестве примера разберем ключ доступа ля 5 класса. Ключ должен состоять из 9 букв, и 1 цифры. Буквы — нижний и верхний регистр, формируются случайным образом, а цифра — в начале кода, соответствующая классу обучения.

Пример ключа-доступа для 5 класса: 5HqOpWASkb; для 7 класса: 7HqOpWASkb и
т.д.
То есть 5 это обозначение класса, а HqOpWASkb общий корень ключа доступа.

Так же ключ должен формироваться не только для класса, но и для предмета, но только различаются набор букв для каждого предмета, цифра остаётся неизменной и по-прежнему соответствует номеру класса.

В общей базе ключи с общей базы, то ключи в экселе должны быть без цифр (Это для того, чтобы не занимали слишком много места в таблице, потом сам вручную буду приписывать цифры)

Примечание: для 11 класса цифра 1, вместо 11.


2. Вкладка «База доступов»

Принцип работы:

На данной странице должен выводиться весь перечень уже имеющихся доступов к ФИС ОКО (заранее синхронизированных с БД). Нужна возможность поиска по заданным параметрам (фильтр): регион, район, проект

После того, как по заданным параметрам в поиске необходимая информация нашлась, должна быть возможность скачать таблицу целиком по всем заданным параметрам.

3. Окно скачивания материалов для пользователя Пользователь вводит полученный ключ (заранее сгенерированный), сайт синхронизирует этот ключ с имеющимся в БД и запускается скрипт

Логика работы скрипта: после введения ключа, скрипт сверяет ключ с имеющийся базой данных ключей, затем происходит авторизация в личном кабинете ФИС ОКО и происходит скачивание нужных материалов. Если же после проверки скриптом, материалов в ЛК ФИС ОКО не обнаружено, то выдаётся сообщение об отсутствие файлов и просьбой зайти позже.

Кнопке «скачать задания» - отдельно скачиваются задания

Кнопка «скачать ответы» - отдельно скачиваются ответы

Если же введён не верный ключ, ситуация аналогичная если еще нет вариантов в ЛК ФИС ОКО, красным текстом выдается сообщение: «Введён неверный ключ доступа»