Последнее время я не пишу админ. панель для веб-проектов, а пользуюсь Телеграм-ботом.
Как это обычно происходит. Появляется новый проект. Некий сайт. Затем первая просьба что-нибудь поменять. Потом вторая. Потом оказывается, что нужно написать административную панель.
Административная панель — это как ремонт в квартире. Начинаешь с поклейки обоев, а через месяц меняешь электропроводку.
Снова делать логин, пароль, восстановление пароля, управление пользователями и прочие радости веб-разработки.
И всё это ради тридцати человек.
Все проще — используйте Telegram как административную панель.
Минимум кода, который за вас напишет Иван Иваныч.
Кейс №1. Сайт хоккейного клуба ветеранов
У нас есть хоккейный клуб ветеранов.
Около 30–40 постоянных игроков.
Кроме них сайт посещают родственники, друзья, знакомые и просто любители посмотреть фотографии после игр.
Классическая веб-разработка подсказывает, что нужно сделать кнопку:
LOGIN
И дальше строить личные кабинеты.
Возникает вопрос.
Зачем кнопка LOGIN человеку, который просто хочет посмотреть фотографии вчерашнего матча?
Никакого удовольствия она ему не доставляет.
Наоборот. Создаёт ощущение, что сейчас начнутся проблемы.
Убираем авторизацию с сайта вообще. То есть полностью.
Для обычного посетителя сайт стал максимально простым:
-
новости;
-
фотографии;
-
статистика;
-
расписание
-
лайки.
Никаких логинов.
Никаких паролей.
Никаких «забыли пароль?».
А члены клуба (непосредственно игроки) получили Telegram-бота.
Через него они могут:
-
менять свои данные;
-
загружать фотографии;
-
обновлять профиль;
-
строчить комменты.
Получился интересный эффект.
Для 95% посетителей сайта авторизация просто исчезла.
А для оставшихся 5% она переехала в Telegram, где люди и так уже авторизованы.
Самый лучший код — это код, который не пришлось писать
Честно говоря, мной двигала обычная человеческая лень.
Мне не хотелось писать:
-
регистрацию;
-
восстановление пароля;
-
управление сессиями;
-
защиту от ботов.
Telegram уже решил эти задачи за меня.
Я просто использовал Telegram ID как идентификатор пользователя.
Иногда лучший архитектурный выбор — это признать, что кто-то уже сделал работу за тебя.
Кейс №2. Тотализатор чемпионата мира
Со вторым проектом всё было ещё интереснее.
Обычно мы проводим семейный тотализатор на чемпионат мира по футболу/хоккею. Пишем на бумажках прогнозы, радуемся, ссоримся, обвиняем админа в жульничестве.
От 5 до 30 участников, как фишка ляжет.
Однако зачем бумажки, когда есть Павел Дуров. И я быстро соорудил бота в телеграмме — @PapaBubaCupBot
Не надо устанавливать отдельное приложение.
Не нужны логины пароли и прочая бюрократия.
Сначала всё выглядело просто.
Показываем матчи.
Делаем ставки.
Считаем очки.
Готово.
Но дальше началось.
Настоящий UX-дизайн начинается не в Figma.
Настоящий UX начинается после первого живого пользователя.
Пользователи всегда находят неожиданные проблемы
Первая жалоба:
— Почему ближайшие матчи идут сверху вниз? Для просмотра последних результатов надо скролить.
Сделал реверс: стало гораздо лучше
matches);
Вторая жалоба:
— Название Босния и Герцеговина слишком длинное. Не видно моей ставки.
Сократил названия.
Третий написал:
— Нужен чат участников.
Оказывается, если у вас есть бот, то людям наверняка понадобится и отдельный чат для обсуждения.
Done.
Тут же запрос:
— Я открыл общий чат. Теперь не понимаю, как вернуться обратно в бота.
Пришлось добавлять, о чём разработчик никогда не заранее не предполагал.
Оказалось:
-
нужны ссылки-кнопки между ботом и чатом;
-
нужны кнопки возврата;
-
не нужны инструкции — их никто не читает.
Многие вещи становятся очевидными только после первых пяти пользователей.
Чаще — после одного.
Почему Telegram оказался удобнее обычной админки
Любая функция, которую я собирался реализовать через веб-интерфейс, реализовывалась через Telegram в несколько раз быстрее.
Появилась новая идея?
Добавил кнопку.
Появилась новая команда?
Добавил обработчик.
Нужно отправить уведомление?
Telegram уже умеет это делать.
В результате бот постепенно превратился не просто в дополнение к сайту.
Он стал интерфейсом управления проектом.
Итоги
Я не утверждаю, что Telegram заменит полноценный веб-интерфейс.
Но если у вас:
-
небольшой клуб;
-
спортивная команда;
-
школьный междусобойчик
-
сообщество любителей выносить мусор и хранить велосипеды;
-
внутренний проект;
-
семейный конкурс;
то прежде чем писать административную панель, попробуйте ответить на простой вопрос:
«А зачем вообще здесь логин?»
Возможно, Telegram уже решил большую часть ваших проблем.
В моём случае он избавляет от нескольких тысяч (гиперболы на Хабре уместны) строк кода и множества бессонных вечеров, посвящённых восстановлению паролей, которые никто никогда не помнит.
ссылка на оригинал статьи https://habr.com/ru/articles/1048910/