Бюджет По договоренности
Создан: 7 лет назад
Закрыт
Описание
Как устроено сейчас:
1. В нашем клубе физически проходит турнир ЧГК (спортивное "Что? Где? Когда"?), его результаты (список команд, количество набранных баллов и таблица того, какие конкретно вопросы отвечены правильно) записываются в гугл-таблицу.
2. Гугл-таблица опубликована и встроена (iframe) на сайт как здесь: http://chgk.tomsk.rocks/sync_results.html. Числа 1-48 в самой верхней строке - номера вопросов, на пересечении номера вопроса и команды стоит 1 или пусто, это означает, ответила ли команда правильно на вопрос или нет. Над списком команд - название турнира.
3. Результаты обновляются в гугл-таблице вручную.

Как хотим чтобы было:
1. В нашем клубе физически проходит турнир. У турнира в 99% случаев есть свой рейтинговый ID (будет объяснено позже).
2. На нашем сайте создаётся сущность "турнир" и задаётся связь этой сущности с рейтиновым ID + возможность задать дату прошедшего турнира (по умолчанию now()).
3. Для 99% турниров результаты турнира загружаются на сайт http://rating.chgk.info/ (это происходит за пределами описываемой задачи, независимо от неё), на наш сайт напрямую НЕ загружаются.
4. В течение нескольких недель после окончания турнира на сайте рейтинга рассматриваются спорные ответы и апелляции. Для разработки неважно, что конкретно происходит, главное для понимания, что результаты немного меняются, поэтому нам надо периодически в бэкграунде синхронизировать содержимое нашей базы с сайтом рейтинга. Синхронизация по API, например: http://rating.chgk.info/api/tournaments/4972/list.json. Важные поля - current_name, questions_total и mask, это название команды, сумма набранных баллов и "таблица" того какие конкретно вопросы отвечены правильно. 4972 тут - это рейтинговый ID, идентификатор турнира на сайте рейтинга. 
5. Для этих 99% турниров ничего вручную нам менять не требуется. 
6. Есть 1% турниров которые проводятся не через сайт рейтинга. Для них надо сделать возможность заливать результаты вручную на наш сайт (.csv например). Фасад при этом должен быть такой же как и у обычных турниров. На странице http://chgk.tomsk.rocks/sync_results.html и 99% и 1% турниров никак не отличаются, так и должно быть.
7. Результаты берутся из базы и более-менее красиво публикуются на нашем сайте в табличном виде, дизайн адаптивный. 

То есть, если вкратце, результаты турнира загружаются либо на сайт рейтинга и оттуда синхронизирующим скриптом заливаются к нам в базу, либо напрямую к нам в базу; из базы результаты отображаются на сайте, сортировка по дате турнира.

В итоге должно получиться подобие этой страницы: http://chgk.tomsk.rocks/sync_results.html, только выглядеть чуть красивее.

База пусть хранится в каком-нибудь бесплатном/дешёвом облаке, 100% аптайма нам не надо. Код должен храниться на гитхабе, мы автоматически подсасываем код оттуда в хероку. Не битрикс, не вордпресс. Язык - PHP или Python.
Категория

Похожие проекты

safe 
0 3
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
 
0 0
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
2 месяца назад
 
0 1
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
2 месяца назад
$7
0 1
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
4 месяца назад
safe 
0 0
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
$21
0 2
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
7 месяцев назад
safe 
0 1
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine   Проблема: Система обработки этих писем написана некорректная и негибкая    Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
$37
0 1
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
$71
0 0
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
7 месяцев назад
safe 
0 0
Разрабатываю десктопные программы на языке Java,  а так же Java + SQL....
 
0 6
  1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
safe 
0 4
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
safe 
0 7
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках.   Требования к исполнителю:......
safe 
0 12
Разработка чат-бота под ваши нужды....
$143
0 0
Oпpocы (1008pyб/чaс) Заходитe на сaйт: gonsù....
10 месяцев назад
 
0 4
Требуется создать скрипт для premiere pro. Данная суть скрипта: в выделеном бине нужно что бы автоматически проставлялся in out ровно по серидине файла так что бы выделенная область была длиной 3 секунды. И требуется кнопка что бы работало через окно expressions. Проблема текущего в том что он не работает......
 
0 2
Нужно создать приложения под гемблинг/беттинг, на котлин. Приложение должно работать Firebase. Детали вышлю при обсуждение....
$21
0 4
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 год назад
safe 
0 3
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
1 год назад
Смотреть все