Продукты · В проде
Сервис доступа с Telegram-ботом
Выдача и учёт ключей через бота, мультисерверная маршрутизация и админка со статистикой.
- Роль
- Автор и разработчик
- Период
- 2025—сейчас
- Стек
- Node.js · Express · Telegraf · SQLite · Vue 3 · Pinia
- 18k строк кода
- 35 тестов
Свой сервис в проде: пользователь получает доступ в переписке с ботом, администратор видит состояние узлов и статистику в веб-панели.
Задача
Раздавать и учитывать ключи доступа руками не получается: нужно знать, какой ключ у кого, какой узел жив, и уметь переключить пользователей на другой сервер, не переписывая всех по одному.
Решение
Бот на Telegraf как единственный интерфейс выдачи: пользователю не нужно ни приложение, ни регистрация. Учёт ключей и привязок — в SQLite, чтобы у сервиса не было внешних зависимостей. Веб-админка на Vue 3 показывает узлы, занятость ключей и статистику; маршрутизация мультисерверная, узел переключается настройкой, а не переносом пользователей.
Сборка проверяется одной командой: формат, линт, поиск мёртвого кода, тесты, сборка и сканирование секретов — последнее для инфраструктурного проекта обязательно, потому что цена утечки ключа здесь выше цены любого бага.
Результат
Работает в проде. Выдача занимает у пользователя одно сообщение, у администратора — один экран. Восемнадцать тысяч строк, тридцать пять наборов тестов.