February 4th, 2021

Бритоголовый и С1-97

Про веб-программирование

Вот кстати, рассказали довольно поучительную штуку о том, как можно делать веб-сайты. Да, решаемая задача довольно специфическая, но для начала предлагаю людям, знакомым с веб-программированием, попробовать прикинуть архитектуру решения, стоимость разработки (хоть в долларах, хоть в человекомесяцах) и поддержки.

Итак, представьте — проводятся соревнования по ралли-спринту или автослалому, правила довольно простые — каждый из участников проезжает от старта до финиша, судья соревнований записывает где-то показанное участником время и добавляемые к нему дополнительные штрафные очки (например, за сбитые конусы на слаломе — каждый конус равен 5 или 10 секундам). Участники запускаются на трассу в порядке очереди, можно свою попытку пропустить, но в целом количество заездов может быть довольно большим — если не лениться, то можно сделать и десяток попыток. Есть две конфигурации трассы, результатом соревнований является сумма времен лучших попыток на каждой из двух конфигураций, если участник заездов по одной из конфигураций не совершал, то штрафное время равно 15 минутам.

Участников довольно много (порой несколько десятков), поэтому вывешивать бумажную «простыню» совершенно непрактично. Для того, чтобы показывать регулярно обновляемые результаты, решено было сделать сайт, где выводилось бы табло результатов — желательно довольно быстро обновляемое.

В общем, я думаю, что все, дочитавшие до этого места, уже решили для себя что-то вроде — херня вопрос! Берем Питон, берем Джангу, с бекендом все вроде бы понятно. «Фронтенд» для участников почти очевиден, надо бы только табличку аккуратно сверстать, а вот судьи в процессе сбора требований что-то не очень хорошо отнеслись к первому прототипу, где предлагалось простенькое поле ввода для времени и штрафных очков, надо бы фронтендера поймать и попросить сделать подобие электронных таблиц. Если учитывать аппетиты некоторых фронтендеров, то стоимость проекта в этот момент перерастает все разумные рамки.

Так вот, все сделано в разы проще, полностью на статическом хостинге. Работа судьи и подсчет результатов происходят в банальном Excel, затем нажатием единственной кнопки таблица результатов выгружается в CSV и по FTP заливается на сайт — где с помощью простого джаваскрипта отображается в «красивом» виде. Просто и почти бесплатно!

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там или в ЖЖ.