| | This is the home page for the External Testing Results space. |
| | External Testing Results (ETR) - приложение по отслеживанию посылок учеников на Codeforces API. В перспективе не только с Codeforces. |
| |
| Документация для работы с [API Codeforces|https://codeforces.com/apiHelp]. |
| |
| Исходники доступны по [ссылке|https://dl-gsu-by.jetbrains.space/p/main/repositories/etr/files/README.md]. |
| |
| h1. Стек технологий |
| |
| Приложение написано на Flask. Для валидирования данных используется Pydantic. В качестве базы данных используется MySQL. Для работы с БД используется библиотека SQLAlchemy. Для работы с API Codeforces используется библиотека requests. |
| |
| h1. Как запустить? |
| |
| Перед запуском необходимо проинициализировать файл *_.env{_}*. Пример находится в [README.md|https://dl-gsu-by.jetbrains.space/p/main/repositories/etr/files/README.md]. |
| |
| Для запуска достаточно прописать: |
| {code} |
| flask --app etr run |
| {code} |
| Более актуальная информация для запуска проекта может находится в [README.md|https://dl-gsu-by.jetbrains.space/p/main/repositories/etr/files/README.md]. |
| |
| Также, можно запустить в Docker образе. Все необходимы команды написаны в README.md. |
| |
| h1. Структура проекта |
| |
| |
| h2. Общая информация |
| |
| В проекте есть несколько модулей: |
| * *models* \- представляет собой схему в базе данных. Каждый модуль отображает таблицу (в некоторых случаях таблицы) из базы данных; |
| * *schemas* \- отвечает за валидирование данных на входе и на выходе; |
| * *templates* \- содержит в себе шаблоны frontend части; |
| * *views* \- отвечает за обработку пользовательских запросов. |
| |
| h2. 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) на отслеживаемые контесты |
| |
| h1. TODO проекта |
| |
| Здесь собраны всевозможные хотелки, которые реализуем, реализуются или будут реализовываться. |