История развития
Рабочий журнал проекта: что делали, в каком порядке и обо что спотыкались. Без круглых цифр и историй успеха — их пока нет.
-
Идея и домен
Записали задачу одной строкой: «список в поле — случайный победитель на экране, без регистрации». Сразу договорились о границах: ни аккаунтов, ни базы данных, ни серверных расчётов. Взяли домен и завели пустую папку — на этом первый день закончился.
-
Архитектура без сервера
Собрали каркас: один входной файл-роутер на PHP, таблица маршрутов в конфиге, шаблоны отдельно от логики. Из таблицы маршрутов сразу стали генерироваться и подвал, и карта сайта, и sitemap.xml — чтобы новая страница нигде не потерялась. Логику случайного выбора решили целиком отдать браузеру: сервер не должен знать, что разыгрывает посетитель.
-
Механика вращения
Самая долгая часть. Первая версия крутила колесо на случайный угол и объявляла победителем тот сектор, который «вроде бы» встал под стрелкой, — и на семи вариантах стрелка регулярно расходилась с подписью. Переписали наоборот: сначала выбираем победителя, потом считаем угол от него. Пришлось аккуратно развести две системы отсчёта: нулевой угол canvas смотрит вправо, а стрелка стоит наверху. После этого расхождений не осталось ни на одном числе секторов.
-
Текстовый режим
Оказалось, что на сорока вариантах колесо превращается в цветную кашу: подписи не читаются, а зрелище уже не помогает. Добавили второй режим — подсветка бежит по строкам и замирает на победителе. Случайность в обоих режимах одна и та же, отличается только показ. Заодно вынесли переключатель наверх, чтобы менять режим можно было в одно нажатие и без перезагрузки.
-
Оценки и тёмная тема
Понадобился способ понять, помогает ли инструмент вообще. Сделали пять звёзд: оценка уходит на сервер, PHP прибавляет её к сумме и счётчику в JSON-файле под блокировкой, обратно приходит новое среднее. Ничего личного при этом не пишется — только два числа. Тогда же довели тёмную тему до отдельной палитры вместо инверсии светлой и убрали белую вспышку при загрузке.
Что дальше — зависит от писем. Пока в очереди ничего не подтверждено, и придумывать планы ради красивой страницы мы не будем. Замечания принимаем на info@kolesofortuna.ru.