SE-PROJECT используя методолгию экстремальное программирование (XP)

Приложение-Web: сбор/проверка дз. Разные роли: преподаватель/студент. Отправка файлов. Обратная связь. Таблица с результатами.

Сценарий использования: Студент: загружает файл с решением Препод: препод может скачивать файлы. Может также загружать (с исправлениями)

Бондаренко Александр: реализует клиентскую часть Денисов Никита: реализует серверную часть

API: 0. http: GET list_files()

  1. http: POST upload (json(body): {‘filename’: ‘filename’, ‘data’: ‘data’})
  2. http: GET download (parameter: filename)

Сначала тесты: 0. Успешно выдается список файлов.

  1. Успешно загружается файл.
  2. Успешно скачивается файл.
  3. Загруженный файл скачивается сразу после его загрузки.

Для запуска сервера нужно установить poetry и выполнить команду poetry install. Для запуска тестов перейти в директорию server/tests/ и выполнить команду poetry run pytest (перед этим нужно сконфигурировать PyCharm: проставить директорию для исходных файлов и для тестов).

Веб реализован с помощью фреймворка pyscript + была произведена попытка переписать на javascript из-за сложности pyscript: в html в специальном тэге встраивается питоновский код, который дергает бэкенд.

  • Для вывода таблички с заданиями необходимо из pyscript делать GET запрос на endpoint /list_files/. Отображается в виде таблицы, отсорттированной по дедлайнам.
  • Для отправки файлов в систему студенту/преподавателю необходимо ввести название файла и его содержимое, далее нажать "Upload".
  • Для обратной связи преподавателю необходимо выбрать студента, файл, который он ревьюит и ввести сообщение. Нажать "Send Message"

Несколько результатов: image