External Testing Results
Ключ
Эти линии были удалены. Это слово было удалено.
Эти линии были добавлены. Это слово было добавлено.

Просмотр истории страницы


Есть 2 изменений. Просмотреть первое изменение .

 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. Инструкция новичку
  
 Первоначально необходимо получить исходники. Исходники etr можно найти, например, [здесь|https://dl-gsu-by.jetbrains.space/p/main/repositories/etr/files/README.md].
  
 Для скачивания исходников необходимо установить git.
  
 Далее открываем консоль (на windows можно нажать Win+R и написать cmd либо powershell). В консоли пишем
 {code}
  git clone https://git.jetbrains.space/dl-gsu-by/main/etr.git
 {code}
 Также, исходники можно получить, например, через IDE.
  
 Далее скачиваем и устанавливаем (если еще этого не сделали) любую IDE для Python. Рекомендую присмотреться к [VS Code|https://code.visualstudio.com/] или [PyCharm|https://www.jetbrains.com/pycharm/]. В IDE открываем исходники.
  
 Ниже указаны инструкции по запуску проекта.
  
  
 Поздравляю\! Вы можете запустить проект и следить за другими\!
  
 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. Как вносить свой вклад в развитие?
  
 Вы узнали немного о проекте, о его первоначальной настройке, о его возможностях и о том как его запускать. Настало время кодить.
  
 При разработке используется модель git flow. Про эту методологию можно почитать поподробнее [здесь|https://habr.com/ru/articles/765264/]и [здесь|https://www.atlassian.com/ru/git/tutorials/comparing-workflows/gitflow-workflow]. Вкратце можно выделить следующие этапы:
 * переключаемся на ветку dev
 * от ветки dev создаем свою ветку, называя ее hotfix/..., features/..., ...
 * переключаемся на только что созданную ветку
 * вносим в нее свои изменения, при этом в идеале пишем информативные коммиты
 * после того, как внесли свои изменения документируем их и пишем на них тесты
 * после этого, мержим с dev веткой
  
  
  
 h1. TODO проекта
  
 Здесь собраны всевозможные хотелки, которые реализуем, реализуются или будут реализовываться.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами