Приложение-Web: сбор/проверка дз. Разные роли: преподаватель/студент. Отправка файлов. Обратная связь. Таблица с результатами.
Сценарий использования: Студент: загружает файл с решением Препод: препод может скачивать файлы. Может также загружать (с исправлениями)
Бондаренко Александр: реализует клиентскую часть Денисов Никита: реализует серверную часть
API: 0. http: GET list_files()
- http: POST upload (json(body): {‘filename’: ‘filename’, ‘data’: ‘data’})
- http: GET download (parameter: filename)
Сначала тесты: 0. Успешно выдается список файлов.
- Успешно загружается файл.
- Успешно скачивается файл.
- Загруженный файл скачивается сразу после его загрузки.
Для запуска сервера нужно установить poetry и выполнить команду poetry install
. Для запуска тестов перейти в директорию server/tests/
и выполнить команду poetry run pytest
(перед этим нужно сконфигурировать PyCharm: проставить директорию для исходных файлов и для тестов).
Веб реализован с помощью фреймворка pyscript + была произведена попытка переписать на javascript из-за сложности pyscript: в html в специальном тэге встраивается питоновский код, который дергает бэкенд.
- Для вывода таблички с заданиями необходимо из pyscript делать GET запрос на endpoint /list_files/. Отображается в виде таблицы, отсорттированной по дедлайнам.
- Для отправки файлов в систему студенту/преподавателю необходимо ввести название файла и его содержимое, далее нажать "Upload".
- Для обратной связи преподавателю необходимо выбрать студента, файл, который он ревьюит и ввести сообщение. Нажать "Send Message"