Разработка telegram мини-приложения в 2025 или как я дошел до жизни такой. Часть до .
Штош, продолжим.
В предыдущем посте Telegram мини-приложения в 2025 или как я дошел до жизни такой. Часть уно я поведал вам, мои дорогие читатели, почему я выбрал разработку чат-рулетки в формате мини-приложения для telegram.
Стоит добавить еще один не маловажный момент, а именно, был выбран подход итеративной разработки, вся суть которого показана ниже.
Основанная мысль заключается в том, что надо пользователю максимально рано дать потрогать продукт (действие), чтобы он сказал свое мнение (данные) и на основе этого (выводы) дорабатывать продукт (гипотеза + действие).
Ярким примером такого подхода является разработка Starship Илоном нашим Масковичем, когда он запустил по сути ведро с болтами, чтобы проверить работоспособность всех систем и, самое главное, получить реальные данные.
В противном случае разработка продукта происходит для «себя любимого», а не для пользователя, что приведет к отсутствию таковых и смерти продукта… Но давайте не о грустном, а поговорим непосредственно о разработке.
И так, что из себя будет представлять само приложение?
Фронтенд на React (это база, это надо знать), который отвечает за ту информацию, который пользователь непосредственно видит в браузере или в отдельном окне telegram, как в нашем случае мини-приложения. HTML + CSS + JS наше все. Структура моего фронтенда для мини приложения следующая:
- Стартовая страница – на которую попадает пользователь и происходит его автоматическая регистрация или авторизация по данным, которые отдает сам telegram;
- Страница поиска чата
- Страница непосредственно самого чата
И все. Совсем все. Ну вот вообще все. Только две страницы и все. Давайте дальше, на очереди бэкенд.
Бэкенд отвечает за все то, чего пользователь не видит, а именно за взаимодействие с базой данных и telegram, бизнес логику и т.д. NestJS + Prisma + postgreSQL наше все. Именно на бэкенде создается пользователь, происходит регистрация пользователя, авторизация пользователя, хранится информация о текущих сообщениях в чате (чтобы при перезагрузке страницы история не пропала), о созданных комнатах и количестве пользователей в них, создается JWT и многое многое многое другое. Для простоты разработки и отладки приложения, было принято решение разделить бэкенд на две составляющие:
- Бэкенд отвечающий за взаимодействие с telegram, а именно с ботом;
- «Основной» бэкенд, которые отвечает за все остальное.
Такой подход позволяет изолировать по сути две разные «сущности» в проекте и не бояться, что если отвалится бот, то упадет весь бэкенд и наоборот (кто сказал микросервисы?).
На этом все ребята.
В следующих частях я расскажу о дальнейших этапах разработки, а именно для чего нужен докер и как его готовить, разворачивание приложения на VPS, получение доменного имени и ssl.
А, ну и конечно, мини-приложение уже готово и ждет своих пользователей, как говорится welcome t.me/Socionyx_Bot/socionyx.
Буду премного благодарен за обратную связь и замечания по работе текущего мини-приложения.