Простой веб-сайт для проведения онлайн-розыгрыша по игре «Тайный Санта»
Позволяет сгенерировать пары участников для анонимного обмена подарками без регистрации, аккаунтов и сторонних сервисов.
Проект ориентирован на небольшие компании друзей, коллег или семейные круги, где важно быстро и прозрачно организовать розыгрыш.
Посмотреть и попробовать сайт можно здесь:
👉 https://spanwite.github.io/secret-santa/
Не всегда есть желание или возможность пользоваться внешними сервисами для игры в Тайного Санту:
- требуется регистрация,
- нужно передавать персональные данные третьим лицам,
- интерфейс может быть перегружен лишним функционалом.
В этом проекте розыгрыш полностью контролируется организатором. Вы сами формируете список участников, запускаете генерацию и рассылаете персональные ссылки. Сайт не хранит данные на сервере и работает локально в браузере.
Текущая версия сайта поддерживает:
- Добавление и удаление участников с сохранением данных в
localStorage - Указание списка желаемых и нежелательных подарков для каждого участника
- Генерацию уникальных ссылок для каждого участника
- Просмотр информации о том, кому именно нужно дарить подарок, без раскрытия других пар
-
Добавьте участников с помощью формы на главной странице:
- укажите имя участника;
- заполните список желаемых и нежелательных подарков (опционально);
- нажмите кнопку «Добавить».
-
После добавления всех участников нажмите кнопку «Разыграть».
-
Для каждого участника:
- скопируйте сгенерированную ссылку с помощью кнопки с иконкой копирования;
- отправьте эту ссылку соответствующему участнику любым удобным способом.
-
Перейдя по ссылке, участник увидит:
- имя человека, которому он дарит подарок;
- список желаний и нежелательных подарков этого человека.
Организатор при этом не узнаёт, кто кому выпал, если сам не открывает ссылки.
Сайт является полностью статическим и не использует серверную часть. Вся логика выполняется на стороне клиента.
Минимальный набор технологий без сторонних библиотек и фреймворков:
- HTML
- CSS
- JavaScript
Каждая ссылка формируется на основе текущего домена и содержит всю необходимую информацию в параметрах URL:
from— имя участника, который дарит подарокto— имя участника, которому дарятwishlist— список желаемых подарковantiWishlist— список нежелательных подарков
Часть параметров кодируется в Base64.
Примечание: Кодирование используется для того, чтобы организатор, рассылающий ссылки, случайно не увидел распределение пар, просто взглянув на URL.
Идеи для дальнейшего улучшения проекта:
- Возможность редактирования данных участника после добавления
- Визуальная анимация при копировании ссылки
- Новогоднее или праздничное оформление
- Обновление и улучшение общего дизайна интерфейса
- Перевод на другие языки
Проект распространяется свободно и может быть использован, доработан или адаптирован под любые нужды.