История развития

Рабочий журнал проекта: что делали, в каком порядке и обо что спотыкались. Без круглых цифр и историй успеха — их пока нет.

  1. Идея и домен

    Записали задачу одной строкой: «список в поле — случайный победитель на экране, без регистрации». Сразу договорились о границах: ни аккаунтов, ни базы данных, ни серверных расчётов. Взяли домен и завели пустую папку — на этом первый день закончился.

  2. Архитектура без сервера

    Собрали каркас: один входной файл-роутер на PHP, таблица маршрутов в конфиге, шаблоны отдельно от логики. Из таблицы маршрутов сразу стали генерироваться и подвал, и карта сайта, и sitemap.xml — чтобы новая страница нигде не потерялась. Логику случайного выбора решили целиком отдать браузеру: сервер не должен знать, что разыгрывает посетитель.

  3. Механика вращения

    Самая долгая часть. Первая версия крутила колесо на случайный угол и объявляла победителем тот сектор, который «вроде бы» встал под стрелкой, — и на семи вариантах стрелка регулярно расходилась с подписью. Переписали наоборот: сначала выбираем победителя, потом считаем угол от него. Пришлось аккуратно развести две системы отсчёта: нулевой угол canvas смотрит вправо, а стрелка стоит наверху. После этого расхождений не осталось ни на одном числе секторов.

  4. Текстовый режим

    Оказалось, что на сорока вариантах колесо превращается в цветную кашу: подписи не читаются, а зрелище уже не помогает. Добавили второй режим — подсветка бежит по строкам и замирает на победителе. Случайность в обоих режимах одна и та же, отличается только показ. Заодно вынесли переключатель наверх, чтобы менять режим можно было в одно нажатие и без перезагрузки.

  5. Оценки и тёмная тема

    Понадобился способ понять, помогает ли инструмент вообще. Сделали пять звёзд: оценка уходит на сервер, PHP прибавляет её к сумме и счётчику в JSON-файле под блокировкой, обратно приходит новое среднее. Ничего личного при этом не пишется — только два числа. Тогда же довели тёмную тему до отдельной палитры вместо инверсии светлой и убрали белую вспышку при загрузке.

Что дальше — зависит от писем. Пока в очереди ничего не подтверждено, и придумывать планы ради красивой страницы мы не будем. Замечания принимаем на info@kolesofortuna.ru.