Рабочий стол > External Testing Results > Home > Просмотр
Home Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Добавлен Alexey Kaminsky, отредактирован Владислав Свиридков Oct 05, 2023 показать комментарий
Метки: 
(нет)

Вы просматриваете старую версию (v. 3) этой страницы.

External Testing Results (ETR) - приложение по отслеживанию посылок учеников на Codeforces API. В перспективе не только с Codeforces.

Документация для работы с API Codeforces.

Исходники доступны по ссылке.

Инструкция новичку

Первоначально необходимо получить исходники. Исходники etr можно найти, например, здесь.

Для скачивания исходников необходимо установить git.

Далее открываем консоль (на windows можно нажать Win+R и написать cmd либо powershell). В консоли пишем

 git clone https://git.jetbrains.space/dl-gsu-by/main/etr.git

Также, исходники можно получить, например, через IDE.

Далее скачиваем и устанавливаем (если еще этого не сделали) любую IDE для Python. Рекомендую присмотреться к VS Code или PyCharm. В IDE открываем исходники.

Для запуска обычно в IDE предусмотрена большая зеленая кнопка "запустить". Так же в README можно найти актуальную команду запуска проекта.

Поздравляю! Вы можете запустить проект и следить за другими!

Стек технологий

Приложение написано на Flask. Для валидирования данных используется Pydantic. В качестве базы данных используется MySQL. Для работы с БД используется библиотека SQLAlchemy. Для работы с API Codeforces используется библиотека requests.

 Как запустить?

Перед запуском необходимо проинициализировать файл .env. Пример находится в README.md.

Для запуска достаточно прописать:

 flask --app etr run

Более актуальная информация для запуска проекта может находится в README.md.

Также, можно запустить в Docker образе. Все необходимы команды написаны в README.md.

 Структура проекта

 Общая информация

В проекте есть несколько модулей:

  • models -  представляет собой схему в базе данных. Каждый модуль отображает таблицу (в некоторых случаях таблицы) из базы данных;
  • schemas - отвечает за валидирование данных на входе и на выходе;
  • templates - содержит в себе шаблоны frontend части;
  • views - отвечает за обработку пользовательских запросов.

How It's Made

 На момент последней версии (v0.1.1) проект обрабатывает следующие запросы:

  • GET /etr/user - возвращает html с таблицей всех пользователей в базе данных
  • GET /etr/user/new - возвращает html форму для добавления нового пользователя
  • POST /etr/user/new - принимает на вход handle с Codeforces и добавляет его в базу данных
  • GET /etr/contest - возвращает html с таблицей всех отслеживаемых контестов
  • GET /etr/contest/new - возвращает html форму для добавления нового контеста
  • POST /etr/contest/new - ожидает id контеста и добавляет его в базу данных
  • GET /etr/status - возвращает таблицу, содержащую все отправки отслеживаемых учеников (BBIWY) на отслеживаемые контесты

TODO проекта

Здесь собраны всевозможные хотелки, которые реализуем, реализуются или будут реализовываться.

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами