{"id":22642516,"url":"https://github.com/r4nd0lph-c/mospolytech_reshuffle","last_synced_at":"2025-08-05T22:03:25.434Z","repository":{"id":215259106,"uuid":"738269329","full_name":"r4nd0lph-c/mospolytech_reshuffle","owner":"r4nd0lph-c","description":"Web-service for managing tests at Moscow Polytechnic University.","archived":false,"fork":false,"pushed_at":"2024-05-25T17:57:50.000Z","size":5024,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-09T22:05:04.463Z","etag":null,"topics":["document-management","python","web-service"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r4nd0lph-c.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-02T20:50:20.000Z","updated_at":"2024-05-25T17:57:53.000Z","dependencies_parsed_at":"2024-04-04T17:27:47.115Z","dependency_job_id":"3076d346-0a08-460a-a50b-20b1970c750b","html_url":"https://github.com/r4nd0lph-c/mospolytech_reshuffle","commit_stats":null,"previous_names":["r4nd0lph-c/mospolytech_reshuffle"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/r4nd0lph-c/mospolytech_reshuffle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r4nd0lph-c%2Fmospolytech_reshuffle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r4nd0lph-c%2Fmospolytech_reshuffle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r4nd0lph-c%2Fmospolytech_reshuffle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r4nd0lph-c%2Fmospolytech_reshuffle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r4nd0lph-c","download_url":"https://codeload.github.com/r4nd0lph-c/mospolytech_reshuffle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r4nd0lph-c%2Fmospolytech_reshuffle/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268980952,"owners_count":24339445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["document-management","python","web-service"],"created_at":"2024-12-09T05:07:10.667Z","updated_at":"2025-08-05T22:03:25.213Z","avatar_url":"https://github.com/r4nd0lph-c.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mospolytech Reshuffle\n\nЕжегодно [университет](https://mospolytech.ru/) тратит ресурсы (под ресурсами имеются ввиду и персонал, и время, и\nденежные затраты) на выполнение рутинной и трудоёмкой процедуры создания, обновления и проверки материалов для\nвнутренних вступительных экзаменов, которые представляют собой альтернативу ЕГЭ и являются неотъемлемой частью\nбольшинства ВУЗов. Проект направлен на создание информационной системы, которая позволила бы сократить затрачиваемые\nресурсы и ускорить обработку материалов вступительных экзаменов.\n\n## Использование\n\nУстановка требуемых зависимостей:\n```pip install -r requirements.txt```\n\nТребуемые зависимости:\n\n* django==5.0.1\n* django-ckeditor==6.7.0\n* python-decouple==3.8\n* psycopg2==2.9.9\n* minio==7.2.3\n* openpyxl==3.1.2\n* opencv-python==4.9.0.80\n* easyocr==1.7.1\n\n## Изображения\n\n\u003e **Авторизация** – обеспечение безопасности, разграничение прав пользователей, защита от злоумышленников.\n\n![01](img/01.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модульность** – наличие модулей для администрирования системы, для создания и скачивания экзаменационных материалов,\n\u003e для проверки работ абитуриентов.\n\n![02](img/02.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Администрирование системы\"** – визуализация данных системы с возможностью управления пользователями и\n\u003e отслеживанием их действий в системе.\n\n![03](img/03.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Администрирование системы\"** – возможность управления структурой экзаменационных материалов.\n\n![04](img/04.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Администрирование системы\"** – возможность создания, чтения, обновления и удаления контента экзаменационных\n\u003e материалов.\n\n![05](img/05.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Создание и скачивание\"** – наличие меню для создания уникальных экзаменационных материалов и скачивания уже\n\u003e имеющихся.\n\n![06](img/06.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Создание и скачивание\"** – расчёт времени создания комплекта экзаменационных материалов с заданными\n\u003e параметрами.\n\n![07](img/07.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Создание и скачивание\"** – скачивание созданного комплекта в формате zip архива.\n\n![08](img/08.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Создание и скачивание\"** – использование S3 хранилища для удобного и надёжного хранения большого объёма\n\u003e данных.\n\n![09](img/09.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Бланк \"Задания\"** – пример сгенерированного (с учётом сложности заданий) бланка для абитуриентов.\n\n![10](img/10.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Бланк \"Ответы\"** – пример сгенерированного бланка ответов для проверяющих (при необходимости).\n\n![11](img/11.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Бланк \"Вступительные испытания\"** – пример сгенерированного (на основе заданной структуры) бланка вступительных\n\u003e испытаний для абитуриентов.\n\n![12](img/12.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Проверка работ\"** – наличие меню для проверки работ абитуриентов по ранее созданным экзаменационным\n\u003e материалам, при полной проверке комплекта система позволяет скачать отчёт с результатами.\n\n![13](img/13.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Проверка работ\"** – бумажные работы абитуриентов сканируются с помощью web-камеры (выбирается из списка\n\u003e доступных устройств) или загружаются в систему в виде изображения (при возникновении проблем с web-камерой).\n\n![14](img/14.jpg) \u003cbr\u003e\u003cbr\u003e\n![15](img/15.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Проверка работ\"** – наличие таблицы со списком всех работ из выбранного комплекта материалов, включает\n\u003e результаты проверки.\n\n![16](img/16.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\n\u003e **Алгоритм \"Проверка работ\"** – выравнивание перспективы изображения бланка, полученного с помощью web-камеры или\n\u003e загруженного в качестве файла, удаление артефактов изображения, определение маски и анализ результатов работы\n\u003e абитуриента с выставлением оценки.\n\n![17](img/17.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Модуль \"Проверка работ\"** – наличие панели с отображением результатов автоматической проверки работы (задания и\n\u003e ответы к ним отображаются в отдельных окнах при нажатии на соответствующий номер задания), в случае необходимости\n\u003e проверяющий пользователь может внести корректировки в результаты проверки системы.\n\n![18](img/18.jpg) \u003cbr\u003e\u003cbr\u003e\n![19](img/19.jpg) \u003cbr\u003e\u003cbr\u003e\n\n\u003e **Страница 404** – ответ в виде страницы 404 в случае, если системе не удалось найти запрашиваемую страницу.\n\n![20](img/20.jpg) \u003cbr\u003e\u003cbr\u003e\n\n## Контакты\n\nЕсли вы хотите помочь в разработке или у вас есть вопросы, вы можете связаться с создателем\nрепозитория ([@rand0lphc](https://t.me/rand0lphc)) в telegram.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr4nd0lph-c%2Fmospolytech_reshuffle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr4nd0lph-c%2Fmospolytech_reshuffle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr4nd0lph-c%2Fmospolytech_reshuffle/lists"}